[glibmm/glibmm-gir-gmmproc: 168/168] Merge branch 'master' into glibmm-gir-gmmproc



commit 0d5f63b18f5766760cf39e82ee11482984e0a938
Merge: dce7a84 d941158
Author: Marcin Kolny <marcin kolny gmail com>
Date:   Sat Aug 8 14:45:12 2015 +0200

    Merge branch 'master' into glibmm-gir-gmmproc

 .gitignore                                      |    2 +
 MSVC_Net2010/compose.vcxproj                    |    8 +-
 MSVC_Net2010/dispatcher.vcxproj                 |    8 +-
 MSVC_Net2010/dispatcher2.vcxproj                |    8 +-
 MSVC_Net2010/gendef.vcxproj                     |    8 +-
 MSVC_Net2010/giomm.vcxproj                      |   12 +-
 MSVC_Net2010/giomm.vcxproj.filters              |    4 +
 MSVC_Net2010/giomm_simple.vcxproj               |    8 +-
 MSVC_Net2010/glibmm-version-paths.props         |    2 +-
 MSVC_Net2010/glibmm.sln                         |    4 +-
 MSVC_Net2010/glibmm.vcxproj                     |   10 +-
 MSVC_Net2010/glibmm.vcxproj.filters             |    2 +
 MSVC_Net2010/glibmm_value.vcxproj               |    8 +-
 MSVC_Net2010/install.vcxproj                    |    8 +-
 MSVC_Net2010/keyfile.vcxproj                    |    8 +-
 MSVC_Net2010/markup.vcxproj                     |    8 +-
 MSVC_Net2010/options.vcxproj                    |    8 +-
 MSVC_Net2010/properties.vcxproj                 |    8 +-
 MSVC_Net2010/regex.vcxproj                      |    8 +-
 MSVC_Net2010/resolver.vcxproj                   |    8 +-
 MSVC_Net2010/socket-client.vcxproj              |    8 +-
 MSVC_Net2010/socket-server.vcxproj              |    8 +-
 MSVC_Net2010/thread.vcxproj                     |    8 +-
 MSVC_Net2010/threadpool.vcxproj                 |    8 +-
 NEWS                                            |  289 +
 configure.ac                                    |   10 +-
 examples/child_watch/main.cc                    |    4 +-
 examples/dbus/client_bus_listnames.cc           |   16 +-
 examples/dbus/server_without_bus.cc             |    8 +-
 examples/dbus/session_bus_service.cc            |    6 +-
 examples/iochannel_stream/fdstream.cc           |   11 +-
 examples/iochannel_stream/fdstream.h            |   10 +-
 examples/iochannel_stream/main.cc               |    2 +-
 examples/keyfile/main.cc                        |    6 +-
 examples/markup/parser.cc                       |   16 +-
 examples/network/resolver.cc                    |   67 +-
 examples/network/socket-client.cc               |    6 +-
 examples/network/socket-server.cc               |   35 +-
 examples/options/main.cc                        |   17 +-
 examples/regex/main.cc                          |    2 +-
 examples/settings/settings.cc                   |   16 +-
 examples/thread/dispatcher.cc                   |   12 +-
 examples/thread/dispatcher2.cc                  |   14 +-
 examples/thread/thread.cc                       |    2 +-
 examples/thread/threadpool.cc                   |    4 +-
 gio/giomm.h                                     |    4 +
 gio/giomm/contenttype.cc                        |    4 +-
 gio/giomm/slot_async.cc                         |    2 +-
 gio/giomm/socketsource.h                        |    3 +-
 gio/src/action.hg                               |   28 +-
 gio/src/actiongroup.hg                          |   21 +-
 gio/src/actionmap.ccg                           |   26 +-
 gio/src/appinfo.ccg                             |   12 +-
 gio/src/appinfo.hg                              |   10 +-
 gio/src/application.ccg                         |   47 +-
 gio/src/application.hg                          |   25 +-
 gio/src/asyncinitable.ccg                       |   32 +-
 gio/src/asyncresult.ccg                         |    4 +-
 gio/src/bufferedinputstream.ccg                 |    4 +-
 gio/src/cancellable.ccg                         |    2 +-
 gio/src/cancellable.hg                          |    3 +-
 gio/src/charsetconverter.hg                     |    1 +
 gio/src/datainputstream.ccg                     |   30 +-
 gio/src/dbusaddress.ccg                         |   40 +-
 gio/src/dbusconnection.ccg                      |   48 +-
 gio/src/dbusintrospection.hg                    |    5 +-
 gio/src/dbusobject.hg                           |    4 +-
 gio/src/dbusownname.ccg                         |   16 +-
 gio/src/dbusproxy.ccg                           |   12 +-
 gio/src/dbussubtreevtable.ccg                   |   14 +-
 gio/src/dbuswatchname.ccg                       |   14 +-
 gio/src/desktopappinfo.hg                       |    7 -
 gio/src/drive.ccg                               |   20 +-
 gio/src/file.ccg                                |  224 +-
 gio/src/file.hg                                 |   56 +-
 gio/src/fileattributeinfolist.ccg               |    4 +-
 gio/src/fileenumerator.ccg                      |    8 +-
 gio/src/fileinfo.hg                             |    4 +-
 gio/src/fileinputstream.ccg                     |   12 +-
 gio/src/fileinputstream.hg                      |   11 -
 gio/src/fileiostream.ccg                        |   12 +-
 gio/src/filelist.am                             |    8 +-
 gio/src/fileoutputstream.ccg                    |   12 +-
 gio/src/fileoutputstream.hg                     |   16 -
 gio/src/gio.defs                                |    1 -
 gio/src/gio_docs.xml                            |19215 +++++------------------
 gio/src/gio_enums.defs                          |  349 +-
 gio/src/gio_enums.defs.patch                    |   14 +
 gio/src/gio_extra_objects.defs                  |   30 +
 gio/src/gio_methods.defs                        |  988 +-
 gio/src/gio_methods.defs.patch                  |   66 -
 gio/src/gio_others.defs                         |   44 -
 gio/src/gio_signals.defs                        |  105 +-
 gio/src/gio_unix_functions.defs                 |  725 -
 gio/src/icon.ccg                                |    4 +-
 gio/src/inetaddress.hg                          |    3 +-
 gio/src/inputstream.ccg                         |   52 +-
 gio/src/inputstream.hg                          |   77 +-
 gio/src/iostream.ccg                            |    8 +-
 gio/src/loadableicon.ccg                        |   12 +-
 gio/src/memoryinputstream.ccg                   |    8 +-
 gio/src/memoryinputstream.hg                    |    4 +-
 gio/src/memoryoutputstream.hg                   |    5 +-
 gio/src/menuattributeiter.ccg                   |    4 +-
 gio/src/menuitem.ccg                            |    2 +-
 gio/src/menulinkiter.ccg                        |    4 +-
 gio/src/mount.ccg                               |   28 +-
 gio/src/mount.hg                                |    3 +-
 gio/src/networkaddress.ccg                      |    4 +-
 gio/src/networkmonitor.ccg                      |   38 +
 gio/src/networkmonitor.hg                       |   69 +
 gio/src/notification.hg                         |   11 +-
 gio/src/outputstream.ccg                        |   65 +-
 gio/src/outputstream.hg                         |   99 +-
 gio/src/proxy.ccg                               |    4 +-
 gio/src/proxyresolver.ccg                       |    8 +-
 gio/src/resolver.ccg                            |   16 +-
 gio/src/resolver.hg                             |    5 -
 gio/src/resource.ccg                            |    6 +-
 gio/src/resource.hg                             |  203 +-
 gio/src/settings.ccg                            |    8 +-
 gio/src/settings.hg                             |   26 +-
 gio/src/settingsschema.ccg                      |   23 +
 gio/src/settingsschema.hg                       |   82 +
 gio/src/settingsschemakey.ccg                   |   23 +
 gio/src/settingsschemakey.hg                    |   63 +
 gio/src/settingsschemasource.ccg                |   23 +
 gio/src/settingsschemasource.hg                 |   65 +
 gio/src/simpleaction.hg                         |    4 +
 gio/src/simpleactiongroup.hg                    |    5 -
 gio/src/simpleiostream.ccg                      |   17 +
 gio/src/simpleiostream.hg                       |   75 +
 gio/src/socket.ccg                              |   20 +-
 gio/src/socket.hg                               |    3 +-
 gio/src/socketaddressenumerator.ccg             |    2 +-
 gio/src/socketclient.ccg                        |   16 +-
 gio/src/socketconnection.ccg                    |    4 +-
 gio/src/socketconnection.hg                     |    3 -
 gio/src/socketlistener.ccg                      |   84 +-
 gio/src/tcpwrapperconnection.ccg                |   22 +
 gio/src/tcpwrapperconnection.hg                 |   51 +
 gio/src/themedicon.ccg                          |    6 +-
 gio/src/themedicon.hg                           |   28 +-
 gio/src/tlsconnection.hg                        |    5 -
 gio/src/tlspassword.hg                          |    4 +-
 gio/src/unixconnection.ccg                      |    8 +-
 gio/src/unixfdlist.ccg                          |   43 +-
 gio/src/unixfdlist.hg                           |    7 +-
 gio/src/unixfdmessage.ccg                       |    9 +-
 gio/src/unixfdmessage.hg                        |    7 +-
 gio/src/unixsocketaddress.hg                    |    4 +-
 gio/src/volume.ccg                              |   12 +-
 gio/src/volumemonitor.hg                        |    7 -
 glib/glibmm/arrayhandle.h                       |    4 +
 glib/glibmm/dispatcher.cc                       |   10 +-
 glib/glibmm/dispatcher.h                        |    8 +-
 glib/glibmm/error.cc                            |   40 +-
 glib/glibmm/error.h                             |    8 +-
 glib/glibmm/exception.cc                        |    2 +-
 glib/glibmm/exception.h                         |    2 +-
 glib/glibmm/exceptionhandler.cc                 |    4 +-
 glib/glibmm/exceptionhandler.h                  |    2 +-
 glib/glibmm/filelist.am                         |    2 -
 glib/glibmm/helperlist.h                        |   17 +-
 glib/glibmm/init.cc                             |   10 +-
 glib/glibmm/interface.cc                        |    2 +-
 glib/glibmm/interface.h                         |   11 +-
 glib/glibmm/listhandle.h                        |    8 +-
 glib/glibmm/main.cc                             |   24 +-
 glib/glibmm/main.h                              |   29 +-
 glib/glibmm/object.cc                           |    4 +-
 glib/glibmm/object.h                            |    8 +-
 glib/glibmm/objectbase.cc                       |   11 +-
 glib/glibmm/objectbase.h                        |   19 +-
 glib/glibmm/pattern.h                           |    8 +-
 glib/glibmm/property.cc                         |    8 +-
 glib/glibmm/property.h                          |    7 +-
 glib/glibmm/propertyproxy_base.cc               |    2 +-
 glib/glibmm/random.h                            |    8 +-
 glib/glibmm/refptr.h                            |  122 +-
 glib/glibmm/sarray.cc                           |   61 -
 glib/glibmm/sarray.h                            |   80 +-
 glib/glibmm/signalproxy.cc                      |   43 +-
 glib/glibmm/signalproxy_connectionnode.cc       |    4 +-
 glib/glibmm/slisthandle.h                       |    8 +-
 glib/glibmm/streamiochannel.cc                  |   32 +-
 glib/glibmm/stringutils.cc                      |    2 +-
 glib/glibmm/threadpool.cc                       |   22 +-
 glib/glibmm/timer.h                             |    8 +-
 glib/glibmm/ustring.cc                          |   10 +-
 glib/glibmm/ustring.h                           |   54 +-
 glib/glibmm/utility.h                           |   11 +-
 glib/glibmm/wrap.cc                             |    8 +-
 glib/glibmm/wrap.h                              |   19 +-
 glib/src/binding.ccg                            |   33 +-
 glib/src/binding.hg                             |   90 +-
 glib/src/checksum.ccg                           |    2 +-
 glib/src/convert.ccg                            |   30 +-
 glib/src/date.ccg                               |    4 +-
 glib/src/date.hg                                |    6 -
 glib/src/datetime.hg                            |    5 +-
 glib/src/filelist.am                            |    3 +-
 glib/src/fileutils.ccg                          |   18 +-
 glib/src/glib.defs                              |    2 -
 glib/src/glib_deprecated_enums.defs             |   22 -
 glib/src/glib_deprecated_functions.defs         |   50 -
 glib/src/glib_docs.xml                          | 2176 +++-
 glib/src/glib_docs_override.xml                 |    1 +
 glib/src/glib_enums.defs                        |   76 +-
 glib/src/glib_enums.defs.patch                  |   27 +-
 glib/src/glib_functions.defs                    | 8168 ++++++++++-
 glib/src/glib_functions.defs.patch              |   14 +-
 glib/src/gobject.defs                           |    3 -
 glib/src/gobject_enums.defs                     |   21 +-
 glib/src/gobject_functions.defs                 | 3283 ++++-
 glib/src/iochannel.ccg                          |   52 +-
 glib/src/iochannel.hg                           |   45 +-
 glib/src/keyfile.ccg                            |   44 +-
 glib/src/keyfile.hg                             |    1 +
 glib/src/markup.ccg                             |   12 +-
 glib/{glibmm/miscutils.cc => src/miscutils.ccg} |   21 +-
 glib/{glibmm/miscutils.h => src/miscutils.hg}   |   66 +-
 glib/src/module.ccg                             |    2 +-
 glib/src/module.hg                              |    2 +-
 glib/src/nodetree.hg                            |   29 +-
 glib/src/optioncontext.ccg                      |    6 +-
 glib/src/optioncontext.hg                       |    3 +
 glib/src/optionentry.ccg                        |    6 +-
 glib/src/optiongroup.ccg                        |  206 +-
 glib/src/optiongroup.hg                         |    6 +-
 glib/src/regex.ccg                              |   54 +-
 glib/src/regex.hg                               |    6 +-
 glib/src/shell.ccg                              |    6 +-
 glib/src/signalproxy.h.m4                       |  105 +-
 glib/src/spawn.ccg                              |   42 +-
 glib/src/spawn.hg                               |   69 +-
 glib/src/thread.ccg                             |   14 +-
 glib/src/thread.hg                              |   18 +-
 glib/src/threads.ccg                            |   67 +-
 glib/src/threads.hg                             |  141 +-
 glib/src/value_basictypes.cc.m4                 |   10 +-
 glib/src/value_basictypes.h.m4                  |    8 +-
 glib/src/valuearray.ccg                         |    2 +-
 glib/src/variant.ccg                            |  197 +-
 glib/src/variant.hg                             |  125 +-
 glib/src/variant_basictypes.cc.m4               |   32 +-
 glib/src/variant_basictypes.h.m4                |   24 +-
 glib/src/varianttype.ccg                        |    8 +-
 tests/Makefile.am                               |    2 +
 tests/giomm_asyncresult_sourceobject/main.cc    |    4 +-
 tests/giomm_ioerror/main.cc                     |    4 +-
 tests/giomm_memoryinputstream/main.cc           |    2 +-
 tests/giomm_simple/main.cc                      |    4 +-
 tests/giomm_tls_client/main.cc                  |   34 +-
 tests/glibmm_btree/main.cc                      |    5 +-
 tests/glibmm_interface_implementation/main.cc   |   52 +-
 tests/glibmm_mainloop/main.cc                   |    6 +-
 tests/glibmm_refptr/main.cc                     |  275 +
 tests/glibmm_refptr_sigc_bind/main.cc           |    1 -
 tests/glibmm_valuearray/main.cc                 |   22 +-
 tests/glibmm_variant/main.cc                    |  103 +-
 tests/glibmm_vector/main.cc                     |    4 +-
 tools/defs_gen/docextract.py                    |   27 +-
 tools/defs_gen/docextract_to_xml.py             |   38 +-
 tools/defs_gen/h2def.py                         |    6 +-
 tools/extra_defs_gen/generate_defs_gio.cc       |    6 +
 tools/extra_defs_gen/generate_extra_defs.cc     |   14 +-
 tools/gen_scripts/gio_generate_docs.sh          |    1 +
 tools/gen_scripts/gio_generate_extra_defs.sh    |   31 +-
 tools/gen_scripts/glib_generate_docs.sh         |    3 +-
 tools/generate_wrap_init.pl.in                  |    2 +-
 tools/gmmproc.in                                |   11 +-
 tools/m4/class_boxedtype.m4                     |   17 +
 tools/m4/class_gobject.m4                       |    8 +-
 tools/m4/class_interface.m4                     |   15 +-
 tools/m4/class_opaque_copyable.m4               |    4 +-
 tools/m4/class_opaque_refcounted.m4             |    8 +-
 tools/m4/class_shared.m4                        |    2 +-
 tools/m4/convert_gio.m4                         |   14 +
 tools/m4/enum.m4                                |    2 +
 tools/m4/filelist.am                            |    1 -
 tools/m4/gerror.m4                              |    2 +-
 tools/m4/list.m4                                |  232 -
 tools/m4/method.m4                              |   67 +-
 tools/m4/property.m4                            |    7 -
 tools/m4/signal.m4                              |   73 +-
 tools/m4/vfunc.m4                               |   75 +-
 tools/pm/DocsParser.pm                          |  257 +-
 tools/pm/Enum.pm                                |    2 +-
 tools/pm/Output.pm                              |  120 +-
 tools/pm/Property.pm                            |   10 +-
 tools/pm/WrapParser.pm                          |  153 +-
 tools/test_scripts/testheaders.sh               |    4 +-
 293 files changed, 23024 insertions(+), 19479 deletions(-)
---
diff --cc gio/src/gio_enums.defs
index 8fc0fd2,b773393..96380ec
--- a/gio/src/gio_enums.defs
+++ b/gio/src/gio_enums.defs
@@@ -258,16 -317,24 +258,24 @@@
    )
  )
  
- (define-flags-extended DBusProxyFlags
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   G_FILE_MONITOR_NONE             = 0,
+ ;;   G_FILE_MONITOR_WATCH_MOUNTS     = (1 << 0),
+ ;;   G_FILE_MONITOR_SEND_MOVED       = (1 << 1),
+ ;;   G_FILE_MONITOR_WATCH_HARD_LINKS = (1 << 2),
+ ;;   G_FILE_MONITOR_WATCH_MOVES      = (1 << 3)
+ ;; } GFileMonitorFlags;
+ 
+ (define-flags-extended FileMonitorFlags
    (in-module "G")
 -  (c-name "GFileMonitorFlags")
 +  (c-name "GDBusProxyFlags")
    (values
-     '("none" "G_DBUS_PROXY_FLAGS_NONE" "0")
-     '("do_not_load_properties" "G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES" "1")
-     '("do_not_connect_signals" "G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS" "2")
-     '("do_not_auto_start" "G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START" "4")
-     '("get_invalidated_properties" "G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES" "8")
-     '("do_not_auto_start_at_construction" "G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION" "16")
+     '("none" "G_FILE_MONITOR_NONE" "0x0")
+     '("watch-mounts" "G_FILE_MONITOR_WATCH_MOUNTS" "(1 << 0)")
+     '("send-moved" "G_FILE_MONITOR_SEND_MOVED" "(1 << 1)")
+     '("watch-hard-links" "G_FILE_MONITOR_WATCH_HARD_LINKS" "(1 << 2)")
+     '("watch-moves" "G_FILE_MONITOR_WATCH_MOVES" "(1 << 3)")
    )
  )
  
@@@ -290,23 -380,163 +298,160 @@@
    )
  )
  
- (define-flags-extended DBusSignalFlags
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   G_FILE_MONITOR_EVENT_CHANGED,
+ ;;   G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT,
+ ;;   G_FILE_MONITOR_EVENT_DELETED,
+ ;;   G_FILE_MONITOR_EVENT_CREATED,
+ ;;   G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED,
+ ;;   G_FILE_MONITOR_EVENT_PRE_UNMOUNT,
+ ;;   G_FILE_MONITOR_EVENT_UNMOUNTED,
+ ;;   G_FILE_MONITOR_EVENT_MOVED,
+ ;;   G_FILE_MONITOR_EVENT_RENAMED,
+ ;;   G_FILE_MONITOR_EVENT_MOVED_IN,
+ ;;   G_FILE_MONITOR_EVENT_MOVED_OUT
+ ;; } GFileMonitorEvent;
+ 
+ (define-enum-extended FileMonitorEvent
    (in-module "G")
 -  (c-name "GFileMonitorEvent")
 +  (c-name "GDBusSignalFlags")
    (values
-     '("none" "G_DBUS_SIGNAL_FLAGS_NONE" "0")
-     '("no_match_rule" "G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE" "1")
-     '("match_arg0_namespace" "G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE" "2")
-     '("match_arg0_path" "G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH" "4")
-   )
- )
+     '("changed" "G_FILE_MONITOR_EVENT_CHANGED" "0")
+     '("changes-done-hint" "G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT" "1")
+     '("deleted" "G_FILE_MONITOR_EVENT_DELETED" "2")
+     '("created" "G_FILE_MONITOR_EVENT_CREATED" "3")
+     '("attribute-changed" "G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED" "4")
+     '("pre-unmount" "G_FILE_MONITOR_EVENT_PRE_UNMOUNT" "5")
+     '("unmounted" "G_FILE_MONITOR_EVENT_UNMOUNTED" "6")
+     '("moved" "G_FILE_MONITOR_EVENT_MOVED" "7")
+     '("renamed" "G_FILE_MONITOR_EVENT_RENAMED" "8")
+     '("moved-in" "G_FILE_MONITOR_EVENT_MOVED_IN" "9")
+     '("moved-out" "G_FILE_MONITOR_EVENT_MOVED_OUT" "10")
+   )
+ )
+ 
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   G_IO_ERROR_FAILED,
+ ;;   G_IO_ERROR_NOT_FOUND,
+ ;;   G_IO_ERROR_EXISTS,
+ ;;   G_IO_ERROR_IS_DIRECTORY,
+ ;;   G_IO_ERROR_NOT_DIRECTORY,
+ ;;   G_IO_ERROR_NOT_EMPTY,
+ ;;   G_IO_ERROR_NOT_REGULAR_FILE,
+ ;;   G_IO_ERROR_NOT_SYMBOLIC_LINK,
+ ;;   G_IO_ERROR_NOT_MOUNTABLE_FILE,
+ ;;   G_IO_ERROR_FILENAME_TOO_LONG,
+ ;;   G_IO_ERROR_INVALID_FILENAME,
+ ;;   G_IO_ERROR_TOO_MANY_LINKS,
+ ;;   G_IO_ERROR_NO_SPACE,
+ ;;   G_IO_ERROR_INVALID_ARGUMENT,
+ ;;   G_IO_ERROR_PERMISSION_DENIED,
+ ;;   G_IO_ERROR_NOT_SUPPORTED,
+ ;;   G_IO_ERROR_NOT_MOUNTED,
+ ;;   G_IO_ERROR_ALREADY_MOUNTED,
+ ;;   G_IO_ERROR_CLOSED,
+ ;;   G_IO_ERROR_CANCELLED,
+ ;;   G_IO_ERROR_PENDING,
+ ;;   G_IO_ERROR_READ_ONLY,
+ ;;   G_IO_ERROR_CANT_CREATE_BACKUP,
+ ;;   G_IO_ERROR_WRONG_ETAG,
+ ;;   G_IO_ERROR_TIMED_OUT,
+ ;;   G_IO_ERROR_WOULD_RECURSE,
+ ;;   G_IO_ERROR_BUSY,
+ ;;   G_IO_ERROR_WOULD_BLOCK,
+ ;;   G_IO_ERROR_HOST_NOT_FOUND,
+ ;;   G_IO_ERROR_WOULD_MERGE,
+ ;;   G_IO_ERROR_FAILED_HANDLED,
+ ;;   G_IO_ERROR_TOO_MANY_OPEN_FILES,
+ ;;   G_IO_ERROR_NOT_INITIALIZED,
+ ;;   G_IO_ERROR_ADDRESS_IN_USE,
+ ;;   G_IO_ERROR_PARTIAL_INPUT,
+ ;;   G_IO_ERROR_INVALID_DATA,
+ ;;   G_IO_ERROR_DBUS_ERROR,
+ ;;   G_IO_ERROR_HOST_UNREACHABLE,
+ ;;   G_IO_ERROR_NETWORK_UNREACHABLE,
+ ;;   G_IO_ERROR_CONNECTION_REFUSED,
+ ;;   G_IO_ERROR_PROXY_FAILED,
+ ;;   G_IO_ERROR_PROXY_AUTH_FAILED,
+ ;;   G_IO_ERROR_PROXY_NEED_AUTH,
+ ;;   G_IO_ERROR_PROXY_NOT_ALLOWED,
+ ;;   G_IO_ERROR_BROKEN_PIPE,
+ ;;   G_IO_ERROR_CONNECTION_CLOSED = G_IO_ERROR_BROKEN_PIPE,
+ ;;   G_IO_ERROR_NOT_CONNECTED
+ ;; } GIOErrorEnum;
  
- (define-flags-extended DBusSubtreeFlags
+ (define-enum-extended IOErrorEnum
+   (in-module "G")
+   (c-name "GIOErrorEnum")
+   (values
+     '("failed" "G_IO_ERROR_FAILED" "0")
+     '("not-found" "G_IO_ERROR_NOT_FOUND" "1")
+     '("exists" "G_IO_ERROR_EXISTS" "2")
+     '("is-directory" "G_IO_ERROR_IS_DIRECTORY" "3")
+     '("not-directory" "G_IO_ERROR_NOT_DIRECTORY" "4")
+     '("not-empty" "G_IO_ERROR_NOT_EMPTY" "5")
+     '("not-regular-file" "G_IO_ERROR_NOT_REGULAR_FILE" "6")
+     '("not-symbolic-link" "G_IO_ERROR_NOT_SYMBOLIC_LINK" "7")
+     '("not-mountable-file" "G_IO_ERROR_NOT_MOUNTABLE_FILE" "8")
+     '("filename-too-long" "G_IO_ERROR_FILENAME_TOO_LONG" "9")
+     '("invalid-filename" "G_IO_ERROR_INVALID_FILENAME" "10")
+     '("too-many-links" "G_IO_ERROR_TOO_MANY_LINKS" "11")
+     '("no-space" "G_IO_ERROR_NO_SPACE" "12")
+     '("invalid-argument" "G_IO_ERROR_INVALID_ARGUMENT" "13")
+     '("permission-denied" "G_IO_ERROR_PERMISSION_DENIED" "14")
+     '("not-supported" "G_IO_ERROR_NOT_SUPPORTED" "15")
+     '("not-mounted" "G_IO_ERROR_NOT_MOUNTED" "16")
+     '("already-mounted" "G_IO_ERROR_ALREADY_MOUNTED" "17")
+     '("closed" "G_IO_ERROR_CLOSED" "18")
+     '("cancelled" "G_IO_ERROR_CANCELLED" "19")
+     '("pending" "G_IO_ERROR_PENDING" "20")
+     '("read-only" "G_IO_ERROR_READ_ONLY" "21")
+     '("cant-create-backup" "G_IO_ERROR_CANT_CREATE_BACKUP" "22")
+     '("wrong-etag" "G_IO_ERROR_WRONG_ETAG" "23")
+     '("timed-out" "G_IO_ERROR_TIMED_OUT" "24")
+     '("would-recurse" "G_IO_ERROR_WOULD_RECURSE" "25")
+     '("busy" "G_IO_ERROR_BUSY" "26")
+     '("would-block" "G_IO_ERROR_WOULD_BLOCK" "27")
+     '("host-not-found" "G_IO_ERROR_HOST_NOT_FOUND" "28")
+     '("host-not-found" "G_IO_ERROR_HOST_WAS_NOT_FOUND" "28")
+     '("would-merge" "G_IO_ERROR_WOULD_MERGE" "29")
+     '("failed-handled" "G_IO_ERROR_FAILED_HANDLED" "30")
+     '("too-many-open-files" "G_IO_ERROR_TOO_MANY_OPEN_FILES" "31")
+     '("not-initialized" "G_IO_ERROR_NOT_INITIALIZED" "32")
+     '("address-in-use" "G_IO_ERROR_ADDRESS_IN_USE" "33")
+     '("partial-input" "G_IO_ERROR_PARTIAL_INPUT" "34")
+     '("invalid-data" "G_IO_ERROR_INVALID_DATA" "35")
+     '("dbus-error" "G_IO_ERROR_DBUS_ERROR" "36")
+     '("host-unreachable" "G_IO_ERROR_HOST_UNREACHABLE" "37")
+     '("network-unreachable" "G_IO_ERROR_NETWORK_UNREACHABLE" "38")
+     '("connection-refused" "G_IO_ERROR_CONNECTION_REFUSED" "39")
+     '("proxy-failed" "G_IO_ERROR_PROXY_FAILED" "40")
+     '("proxy-auth-failed" "G_IO_ERROR_PROXY_AUTH_FAILED" "41")
+     '("proxy-need-auth" "G_IO_ERROR_PROXY_NEED_AUTH" "42")
+     '("proxy-not-allowed" "G_IO_ERROR_PROXY_NOT_ALLOWED" "43")
+     '("broken-pipe" "G_IO_ERROR_BROKEN_PIPE" "44")
+     '("connection-closed" "G_IO_ERROR_CONNECTION_CLOSED" "44")
+     '("not-connected" "G_IO_ERROR_NOT_CONNECTED" "45")
+   )
+ )
+ 
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   G_ASK_PASSWORD_NEED_PASSWORD       = (1 << 0),
+ ;;   G_ASK_PASSWORD_NEED_USERNAME       = (1 << 1),
+ ;;   G_ASK_PASSWORD_NEED_DOMAIN         = (1 << 2),
+ ;;   G_ASK_PASSWORD_SAVING_SUPPORTED    = (1 << 3),
+ ;;   G_ASK_PASSWORD_ANONYMOUS_SUPPORTED = (1 << 4)
+ ;; } GAskPasswordFlags;
+ 
+ (define-flags-extended AskPasswordFlags
    (in-module "G")
 -  (c-name "GAskPasswordFlags")
 +  (c-name "GDBusSubtreeFlags")
    (values
 -    '("need-password" "G_ASK_PASSWORD_NEED_PASSWORD" "(1 << 0)")
 -    '("need-username" "G_ASK_PASSWORD_NEED_USERNAME" "(1 << 1)")
 -    '("need-domain" "G_ASK_PASSWORD_NEED_DOMAIN" "(1 << 2)")
 -    '("saving-supported" "G_ASK_PASSWORD_SAVING_SUPPORTED" "(1 << 3)")
 -    '("anonymous-supported" "G_ASK_PASSWORD_ANONYMOUS_SUPPORTED" "(1 << 4)")
 +    '("none" "G_DBUS_SUBTREE_FLAGS_NONE" "0")
 +    '("dispatch_to_unenumerated_nodes" "G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES" "1")
    )
  )
  
@@@ -573,13 -1047,20 +718,20 @@@
    )
  )
  
- (define-enum-extended MountOperationResult
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   G_DBUS_CALL_FLAGS_NONE = 0,
+ ;;   G_DBUS_CALL_FLAGS_NO_AUTO_START = (1<<0),
+ ;;   G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION = (1<<1)
+ ;; } GDBusCallFlags;
+ 
+ (define-flags-extended DBusCallFlags
    (in-module "G")
 -  (c-name "GDBusCallFlags")
 +  (c-name "GMountOperationResult")
    (values
-     '("handled" "G_MOUNT_OPERATION_HANDLED" "0")
-     '("aborted" "G_MOUNT_OPERATION_ABORTED" "1")
-     '("unhandled" "G_MOUNT_OPERATION_UNHANDLED" "2")
+     '("none" "G_DBUS_CALL_FLAGS_NONE" "0x0")
+     '("no-auto-start" "G_DBUS_CALL_FLAGS_NO_AUTO_START" "(1<<0)")
+     '("allow-interactive-authorization" "G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION" "(1<<1)")
    )
  )
  
@@@ -592,14 -1085,22 +744,22 @@@
    )
  )
  
- (define-enum-extended NotificationPriority
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   G_DBUS_MESSAGE_FLAGS_NONE = 0,
+ ;;   G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED = (1<<0),
+ ;;   G_DBUS_MESSAGE_FLAGS_NO_AUTO_START = (1<<1),
+ ;;   G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION = (1<<2)
+ ;; } GDBusMessageFlags;
+ 
+ (define-flags-extended DBusMessageFlags
    (in-module "G")
 -  (c-name "GDBusMessageFlags")
 +  (c-name "GNotificationPriority")
    (values
-     '("normal" "G_NOTIFICATION_PRIORITY_NORMAL" "0")
-     '("low" "G_NOTIFICATION_PRIORITY_LOW" "1")
-     '("high" "G_NOTIFICATION_PRIORITY_HIGH" "2")
-     '("urgent" "G_NOTIFICATION_PRIORITY_URGENT" "3")
+     '("none" "G_DBUS_MESSAGE_FLAGS_NONE" "0x0")
+     '("no-reply-expected" "G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED" "(1<<0)")
+     '("no-auto-start" "G_DBUS_MESSAGE_FLAGS_NO_AUTO_START" "(1<<1)")
+     '("allow-interactive-authorization" "G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION" "(1<<2)")
    )
  )
  
@@@ -663,11 -1223,27 +823,27 @@@
    )
  )
  
- (define-flags-extended ResourceLookupFlags
+ ;; Original typedef:
+ ;; typedef enum
+ ;; {
+ ;;   G_CREDENTIALS_TYPE_INVALID,
+ ;;   G_CREDENTIALS_TYPE_LINUX_UCRED,
+ ;;   G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED,
+ ;;   G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED,
+ ;;   G_CREDENTIALS_TYPE_SOLARIS_UCRED,
+ ;;   G_CREDENTIALS_TYPE_NETBSD_UNPCBID
+ ;; } GCredentialsType;
+ 
+ (define-enum-extended CredentialsType
    (in-module "G")
 -  (c-name "GCredentialsType")
 +  (c-name "GResourceLookupFlags")
    (values
-     '("none" "G_RESOURCE_LOOKUP_FLAGS_NONE" "0")
+     '("invalid" "G_CREDENTIALS_TYPE_INVALID" "0")
+     '("linux-ucred" "G_CREDENTIALS_TYPE_LINUX_UCRED" "1")
+     '("freebsd-cmsgcred" "G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED" "2")
+     '("openbsd-sockpeercred" "G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED" "3")
+     '("solaris-ucred" "G_CREDENTIALS_TYPE_SOLARIS_UCRED" "4")
+     '("netbsd-unpcbid" "G_CREDENTIALS_TYPE_NETBSD_UNPCBID" "5")
    )
  )
  
@@@ -843,14 -1532,35 +1019,38 @@@
    )
  )
  
- (define-flags-extended TlsPasswordFlags
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   G_SOCKET_LISTENER_BINDING,
+ ;;   G_SOCKET_LISTENER_BOUND,
+ ;;   G_SOCKET_LISTENER_LISTENING,
+ ;;   G_SOCKET_LISTENER_LISTENED
+ ;; } GSocketListenerEvent;
+ 
+ (define-enum-extended SocketListenerEvent
+   (in-module "G")
+   (c-name "GSocketListenerEvent")
+   (values
+     '("binding" "G_SOCKET_LISTENER_BINDING" "0")
+     '("bound" "G_SOCKET_LISTENER_BOUND" "1")
+     '("listening" "G_SOCKET_LISTENER_LISTENING" "2")
+     '("listened" "G_SOCKET_LISTENER_LISTENED" "3")
+   )
+ )
+ 
+ ;; Original typedef:
+ ;; typedef enum /*< flags >*/ {
+ ;;   G_TEST_DBUS_NONE = 0
+ ;; } GTestDBusFlags;
+ 
+ (define-flags-extended TestDBusFlags
    (in-module "G")
 -  (c-name "GTestDBusFlags")
 +  (c-name "GTlsPasswordFlags")
    (values
 -    '("us-none" "G_TEST_DBUS_NONE" "0x0")
 +    '("none" "G_TLS_PASSWORD_NONE" "0")
 +    '("retry" "G_TLS_PASSWORD_RETRY" "2")
 +    '("many_tries" "G_TLS_PASSWORD_MANY_TRIES" "4")
 +    '("final_try" "G_TLS_PASSWORD_FINAL_TRY" "8")
    )
  )
  
@@@ -876,13 -1604,48 +1076,45 @@@
    )
  )
  
- (define-enum-extended ZlibCompressorFormat
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   G_NETWORK_CONNECTIVITY_LOCAL       = 1,
+ ;;   G_NETWORK_CONNECTIVITY_LIMITED     = 2,
+ ;;   G_NETWORK_CONNECTIVITY_PORTAL      = 3,
+ ;;   G_NETWORK_CONNECTIVITY_FULL        = 4
+ ;; } GNetworkConnectivity;
+ 
+ (define-enum-extended NetworkConnectivity
+   (in-module "G")
+   (c-name "GNetworkConnectivity")
+   (values
+     '("local" "G_NETWORK_CONNECTIVITY_LOCAL" "1")
+     '("limited" "G_NETWORK_CONNECTIVITY_LIMITED" "2")
+     '("portal" "G_NETWORK_CONNECTIVITY_PORTAL" "3")
+     '("full" "G_NETWORK_CONNECTIVITY_FULL" "4")
+   )
+ )
+ 
+ ;; From gsettings.h
+ 
+ ;; Original typedef:
+ ;; typedef enum
+ ;; {
+ ;;   G_SETTINGS_BIND_DEFAULT,
+ ;;   G_SETTINGS_BIND_GET            = (1<<0),
+ ;;   G_SETTINGS_BIND_SET            = (1<<1),
+ ;;   G_SETTINGS_BIND_NO_SENSITIVITY = (1<<2),
+ ;;   G_SETTINGS_BIND_GET_NO_CHANGES = (1<<3),
+ ;;   G_SETTINGS_BIND_INVERT_BOOLEAN = (1<<4)
+ ;; } GSettingsBindFlags;
+ 
+ (define-flags-extended SettingsBindFlags
    (in-module "G")
 -  (c-name "GSettingsBindFlags")
 +  (c-name "GZlibCompressorFormat")
    (values
 -    '("default" "G_SETTINGS_BIND_DEFAULT" "0x0")
 -    '("get" "G_SETTINGS_BIND_GET" "(1<<0)")
 -    '("set" "G_SETTINGS_BIND_SET" "(1<<1)")
 -    '("no-sensitivity" "G_SETTINGS_BIND_NO_SENSITIVITY" "(1<<2)")
 -    '("get-no-changes" "G_SETTINGS_BIND_GET_NO_CHANGES" "(1<<3)")
 -    '("invert-boolean" "G_SETTINGS_BIND_INVERT_BOOLEAN" "(1<<4)")
 +    '("zlib" "G_ZLIB_COMPRESSOR_FORMAT_ZLIB" "0")
 +    '("gzip" "G_ZLIB_COMPRESSOR_FORMAT_GZIP" "1")
 +    '("raw" "G_ZLIB_COMPRESSOR_FORMAT_RAW" "2")
    )
  )
  
diff --cc gio/src/resource.hg
index a74c469,730e221..ccc041a
--- a/gio/src/resource.hg
+++ b/gio/src/resource.hg
@@@ -33,187 -33,187 +33,388 @@@ namespace Gi
  
  /** Exception class for resource file handling errors.
   */
- _WRAP_GERROR(ResourceError, GResourceError, G_RESOURCE_ERROR, NO_GTYPE)
+ _WRAP_GERROR(ResourceError, GResourceError, G_RESOURCE_ERROR, NO_GTYPE, newin "2,34")
+ 
+ _WRAP_ENUM(ResourceFlags, GResourceFlags, newin "2,44")
+ _WRAP_ENUM(ResourceLookupFlags, GResourceLookupFlags, newin "2,44")
+ 
+ /** %Resource framework.
+  *
+  * Applications and libraries often contain binary or textual data that is
+  * really part of the application, rather than user data. For instance
+  * Gtk::Builder .ui files, splashscreen images, Gio::Menu markup xml, CSS files,
+  * icons, etc. These are often shipped as files in `$datadir/appname`, or
+  * manually included as literal strings in the code.
+  *
+  * The Gio::Resource API and the <tt>glib-compile-resources</tt> program
+  * provide a convenient and efficient alternative to this which has some nice properties. You
+  * maintain the files as normal files, so it's easy to edit them, but during the build the files
+  * are combined into a binary bundle that is linked into the executable. This means that loading
+  * the resource files is efficient (as they are already in memory, shared with other instances) and
+  * simple (no need to check for things like I/O errors or locate the files in the filesystem). It
+  * also makes it easier to create relocatable applications.
+  *
+  * %Resource files can also be marked as compressed. Such files will be included in the resource bundle
+  * in a compressed form, but will be automatically uncompressed when the resource is used. This
+  * is very useful e.g. for larger text files that are parsed once (or rarely) and then thrown away.
+  *
+  * %Resource files can also be marked to be preprocessed, by setting the value of the
+  * `preprocess` attribute to a comma-separated list of preprocessing options.
+  * The only options currently supported are:
+  *
+  * <dl>
+  * <dt>xml-stripblanks</dt>
+  *   <dd>which will use the <tt>xmllint</tt> command
+  *   to strip ignorable whitespace from the xml file. For this to work,
+  *   the `XMLLINT` environment variable must be set to the full path to
+  *   the <tt>xmllint</tt> executable, or <tt>xmllint</tt> must be in the `PATH`; otherwise
+  *   the preprocessing step is skipped.</dd>
+  *
+  * <dt>to-pixdata</dt>
+  *   <dd>which will use the <tt>gdk-pixbuf-pixdata</tt> command to convert
+  *   images to the GdkPixdata format, which allows you to create pixbufs directly using the data inside
+  *   the resource file, rather than an (uncompressed) copy of it. For this, the <tt>gdk-pixbuf-pixdata</tt>
+  *   program must be in the PATH, or the `GDK_PIXBUF_PIXDATA` environment variable must be
+  *   set to the full path to the <tt>gdk-pixbuf-pixdata</tt> executable; otherwise the resource compiler 
will
+  *   abort.</dd>
+  * </dl>
+  *
+  * %Resource bundles are created by the <tt>glib-compile-resources</tt> program
+  * which takes an xml file that describes the bundle, and a set of files that the xml references. These
+  * are combined into a binary resource bundle.
+  *
+  * An example resource description:
+  * @code
+  * <?xml version="1.0" encoding="UTF-8"?>
+  * <gresources>
+  *   <gresource prefix="/org/gtk/Example">
+  *     <file>data/splashscreen.png</file>
+  *     <file compressed="true">dialog.ui</file>
+  *     <file preprocess="xml-stripblanks">menumarkup.xml</file>
+  *   </gresource>
+  * </gresources>
+  * @endcode
+  *
+  * This will create a resource bundle with the following files:
+  * @code
+  * /org/gtk/Example/data/splashscreen.png
+  * /org/gtk/Example/dialog.ui
+  * /org/gtk/Example/menumarkup.xml
+  * @endcode
+  *
+  * Note that all resources in the process share the same namespace, so use java-style
+  * path prefixes (like in the above example) to avoid conflicts.
+  *
+  * You can then use <tt>glib-compile-resources</tt> to compile the xml to a binary bundle
+  * that you can load with Gio::Resource::create_from_file(). However, it's more common to use the 
--generate-source and
+  * --generate-header arguments to create a source file and header to link directly into your application.
+  *
+  * Once a Gio::Resource has been created and registered all the data in it can be accessed globally in the 
process by
+  * using API calls like Gio::Resource::open_stream_from_global_resources() to stream the data
+  * or Gio::Resource::lookup_data_in_global_resources() to get a direct pointer
+  * to the data. You can also use uris like "resource:///org/gtk/Example/data/splashscreen.png" with 
Gio::File to access
+  * the resource data.
+  *
+  * There are two forms of the generated source, the default version uses the compiler support for 
constructor
+  * and destructor functions (where available) to automatically create and register the Gio::Resource on 
startup
+  * or library load time. If you pass --manual-register, two functions to register/unregister the resource 
is instead
+  * created. This requires an explicit initialization call in your application/library, but it works on all 
platforms,
+  * even on the minor ones where this is not available. (Constructor support is available for at least 
Win32, MacOS and Linux.)
+  *
+  * Note that resource data can point directly into the data segment of e.g. a library, so if you are 
unloading libraries
+  * during runtime you need to be very careful with keeping around pointers to data from a resource, as this 
goes away
+  * when the library is unloaded. However, in practice this is not generally a problem, since most resource 
accesses
+  * is for your own resources, and resource data is often used once, during parsing, and then released.
+  *
+  * @newin{2,44}
+  */
+ class Resource
+ {
+   _CLASS_OPAQUE_REFCOUNTED(Resource, GResource, NONE, g_resource_ref, g_resource_unref)
+   _IGNORE(g_resource_ref, g_resource_unref)
+ 
+ public:
+   _WRAP_METHOD(static Glib::RefPtr<Resource> create_from_data(const Glib::RefPtr<const Glib::Bytes>& data), 
g_resource_new_from_data, errthrow, newin "2,44")
+   _WRAP_METHOD(static Glib::RefPtr<Resource> create_from_file(const std::string& filename), 
g_resource_load, errthrow, newin "2,44")
+   _WRAP_METHOD(Glib::RefPtr<InputStream> open_stream(const std::string& path, ResourceLookupFlags 
lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE) const, g_resource_open_stream, errthrow, newin "2,44")
+   _WRAP_METHOD(Glib::RefPtr<const Glib::Bytes> lookup_data(const std::string& path, ResourceLookupFlags 
lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE) const, g_resource_lookup_data, errthrow, newin "2,44")
+ 
+ #m4 _CONVERSION(`char**',`std::vector<std::string>',`Glib::ArrayHandler<std::string>::array_to_vector($3, 
Glib::OWNERSHIP_DEEP)')
+   _WRAP_METHOD(std::vector<std::string> enumerate_children(const std::string& path, ResourceLookupFlags 
lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE) const, g_resource_enumerate_children, errthrow, newin "2,44")
+ 
+   /** Looks for a file at the specified @a path in the resource and
+    * if found returns information about it.
+    *
+    * @a lookup_flags controls the behaviour of the lookup.
+    *
+    * @newin{2,44}
+    *
+    * @param path A pathname inside the resource.
+    * @param[out] size A location to place the length of the contents of the file.
+    * @param[out] flags A location to place the flags about the file.
+    * @param lookup_flags A ResourceLookupFlags.
+    * @throw Gio::ResourceError if the file was not found.
+    */
+   void get_info(const std::string& path, gsize& size, ResourceFlags& flags, ResourceLookupFlags 
lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE) const;
+   _IGNORE(g_resource_get_info)
+ 
+   /** Looks for a file at the specified @a path in the resource.
+    *
+    * @a lookup_flags controls the behaviour of the lookup.
+    *
+    * @newin{2,44}
+    *
+    * @param path A pathname inside the resource.
+    * @param lookup_flags A ResourceLookupFlags.
+    * @throw Gio::ResourceError if the file was not found.
+    */
+   void get_file_exists(const std::string& path, ResourceLookupFlags lookup_flags = 
RESOURCE_LOOKUP_FLAGS_NONE) const;
+ 
+   /** Looks for a file at the specified @a path in the resource.
+    *
+    * @a lookup_flags controls the behaviour of the lookup.
+    * This method returns a <tt>bool</tt> instead of throwing in exception in case of errors.
+    *
+    * @newin{2,44}
+    *
+    * @param path A pathname inside the resource.
+    * @param lookup_flags A ResourceLookupFlags.
+    * @return <tt>true</tt> if the file was found, <tt>false</tt> if there were errors.
+    */
+   bool get_file_exists_nothrow(const std::string& path, ResourceLookupFlags lookup_flags = 
RESOURCE_LOOKUP_FLAGS_NONE) const;
+ 
+   // 'register' is a keyword. Can't be the name of a method.
+   _WRAP_METHOD(void register_global(), g_resources_register, newin "2,44")
+   _WRAP_METHOD(void unregister_global(), g_resources_unregister, newin "2,44")
+   _WRAP_METHOD(static Glib::RefPtr<InputStream> open_stream_global(const std::string& path, 
ResourceLookupFlags lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE), g_resources_open_stream, errthrow, newin 
"2,44")
+   _WRAP_METHOD(static Glib::RefPtr<const Glib::Bytes> lookup_data_global(const std::string& path, 
ResourceLookupFlags lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE), g_resources_lookup_data, errthrow, newin 
"2,44")
+   _WRAP_METHOD(static std::vector<std::string> enumerate_children_global(const std::string& path, 
ResourceLookupFlags lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE), g_resources_enumerate_children, errthrow, 
newin "2,44")
+ 
+   /** Looks for a file at the specified @a path in the set of
+    * globally registered resources and if found returns information about it.
+    *
+    * @a lookup_flags controls the behaviour of the lookup.
+    *
+    * @newin{2,44}
+    *
+    * @param path A pathname inside the resource.
+    * @param[out] size A location to place the length of the contents of the file.
+    * @param[out] flags A location to place the flags about the file.
+    * @param lookup_flags A ResourceLookupFlags.
+    * @throw Gio::ResourceError if the file was not found.
+    */
+   static void get_info_global(const std::string& path, gsize& size, ResourceFlags& flags, 
ResourceLookupFlags lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE);
+   _IGNORE(g_resources_get_info)
+ 
+   /** Looks for a file at the specified @a path in the set of
+    * globally registered resources.
+    *
+    * @a lookup_flags controls the behaviour of the lookup.
+    *
+    * @newin{2,44}
+    *
+    * @param path A pathname inside the resource.
++   * @param lookup_flags A ResourceLookupFlags.
++   * @throw Gio::ResourceError if the file was not found.
++   */
++  static void get_file_exists_global(const std::string& path, ResourceLookupFlags lookup_flags = 
RESOURCE_LOOKUP_FLAGS_NONE);
++
++  /** Looks for a file at the specified @a path in the set of
++   * globally registered resources.
++   *
++   * @a lookup_flags controls the behaviour of the lookup.
++   * This method returns a <tt>bool</tt> instead of throwing in exception in case of errors.
++   *
++   * @newin{2,44}
++   *
++   * @param path A pathname inside the resource.
++   * @param lookup_flags A ResourceLookupFlags.
++   * @return <tt>true</tt> if the file was found, <tt>false</tt> if there were errors.
++   */
++  static bool get_file_exists_global_nothrow(const std::string& path, ResourceLookupFlags lookup_flags = 
RESOURCE_LOOKUP_FLAGS_NONE);
++
++  _IGNORE(g_static_resource_init, g_static_resource_fini, g_static_resource_get_resource)dnl//Used only by 
the glib-compile-resources command
++};
 +
 +_WRAP_ENUM(ResourceFlags, GResourceFlags)
 +_WRAP_ENUM(ResourceLookupFlags, GResourceLookupFlags)
 +
 +/** Resource framework.
 + *
 + * Applications and libraries often contain binary or textual data that is
 + * really part of the application, rather than user data. For instance
 + * Gtk::Builder .ui files, splashscreen images, Gio::Menu markup xml, CSS files,
 + * icons, etc. These are often shipped as files in `$datadir/appname`, or
 + * manually included as literal strings in the code.
 + *
 + * The Gio::Resource API and the <tt>glib-compile-resources</tt> program
 + * provide a convenient and efficient alternative to this which has some nice properties. You
 + * maintain the files as normal files, so its easy to edit them, but during the build the files
 + * are combined into a binary bundle that is linked into the executable. This means that loading
 + * the resource files is efficient (as they are already in memory, shared with other instances) and
 + * simple (no need to check for things like I/O errors or locate the files in the filesystem). It
 + * also makes it easier to create relocatable applications.
 + *
 + * Resource files can also be marked as compressed. Such files will be included in the resource bundle
 + * in a compressed form, but will be automatically uncompressed when the resource is used. This
 + * is very useful e.g. for larger text files that are parsed once (or rarely) and then thrown away.
 + *
 + * Resource files can also be marked to be preprocessed, by setting the value of the
 + * `preprocess` attribute to a comma-separated list of preprocessing options.
 + * The only options currently supported are:
 + *
 + * <dl>
 + * <dt>xml-stripblanks</dt>
 + *   <dd>which will use the <tt>xmllint</tt> command
 + *   to strip ignorable whitespace from the xml file. For this to work,
 + *   the `XMLLINT` environment variable must be set to the full path to
 + *   the <tt>xmllint</tt> executable, or <tt>xmllint</tt> must be in the `PATH`; otherwise
 + *   the preprocessing step is skipped.</dd>
 + *
 + * <dt>to-pixdata</dt>
 + *   <dd>which will use the <tt>gdk-pixbuf-pixdata</tt> command to convert
 + *   images to the GdkPixdata format, which allows you to create pixbufs directly using the data inside
 + *   the resource file, rather than an (uncompressed) copy of it. For this, the <tt>gdk-pixbuf-pixdata</tt>
 + *   program must be in the PATH, or the `GDK_PIXBUF_PIXDATA` environment variable must be
 + *   set to the full path to the <tt>gdk-pixbuf-pixdata</tt> executable; otherwise the resource compiler 
will
 + *   abort.</dd>
 + * </dl>
 + *
 + * Resource bundles are created by the <tt>glib-compile-resources</tt> program
 + * which takes an xml file that describes the bundle, and a set of files that the xml references. These
 + * are combined into a binary resource bundle.
 + *
 + * An example resource description:
 + * @code
 + * <?xml version="1.0" encoding="UTF-8"?>
 + * <gresources>
 + *   <gresource prefix="/org/gtk/Example">
 + *     <file>data/splashscreen.png</file>
 + *     <file compressed="true">dialog.ui</file>
 + *     <file preprocess="xml-stripblanks">menumarkup.xml</file>
 + *   </gresource>
 + * </gresources>
 + * @endcode
 + *
 + * This will create a resource bundle with the following files:
 + * @code
 + * /org/gtk/Example/data/splashscreen.png
 + * /org/gtk/Example/dialog.ui
 + * /org/gtk/Example/menumarkup.xml
 + * @endcode
 + *
 + * Note that all resources in the process share the same namespace, so use java-style
 + * path prefixes (like in the above example) to avoid conflicts.
 + *
 + * You can then use <tt>glib-compile-resources</tt> to compile the xml to a binary bundle
 + * that you can load with Gio::Resource::create_from_file(). However, its more common to use the 
--generate-source and
 + * --generate-header arguments to create a source file and header to link directly into your application.
 + *
 + * Once a Gio::Resource has been created and registered all the data in it can be accessed globally in the 
process by
 + * using API calls like Gio::Resource::open_stream_from_global_resources() to stream the data
 + * or Gio::Resource::lookup_data_in_global_resources() to get a direct pointer
 + * to the data. You can also use uris like "resource:///org/gtk/Example/data/splashscreen.png" with 
Gio::File to access
 + * the resource data.
 + *
 + * There are two forms of the generated source, the default version uses the compiler support for 
constructor
 + * and destructor functions (where available) to automatically create and register the Gio::Resource on 
startup
 + * or library load time. If you pass --manual-register, two functions to register/unregister the resource 
is instead
 + * created. This requires an explicit initialization call in your application/library, but it works on all 
platforms,
 + * even on the minor ones where this is not available. (Constructor support is available for at least 
Win32, MacOS and Linux.)
 + *
 + * Note that resource data can point directly into the data segment of e.g. a library, so if you are 
unloading libraries
 + * during runtime you need to be very careful with keeping around pointers to data from a resource, as this 
goes away
 + * when the library is unloaded. However, in practice this is not generally a problem, since most resource 
accesses
 + * is for your own resources, and resource data is often used once, during parsing, and then released.
 + *
 + * @newin{2,44}
 + */
 +class Resource
 +{
 +  _CLASS_OPAQUE_REFCOUNTED(Resource, GResource, NONE, g_resource_ref, g_resource_unref)
 +  _IGNORE(g_resource_ref, g_resource_unref)
 +
 +public:
 +  _WRAP_METHOD(static Glib::RefPtr<Resource> create_from_data(const Glib::RefPtr<const Glib::Bytes>& data), 
g_resource_new_from_data, errthrow)
 +  _WRAP_METHOD(static Glib::RefPtr<Resource> create_from_file(const std::string& filename), 
g_resource_load, errthrow)
 +  _WRAP_METHOD(Glib::RefPtr<InputStream> open_stream(const std::string& path, ResourceLookupFlags 
lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE) const, g_resource_open_stream, errthrow)
 +  _WRAP_METHOD(Glib::RefPtr<const Glib::Bytes> lookup_data(const std::string& path, ResourceLookupFlags 
lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE) const, g_resource_lookup_data, errthrow)
 +
 +#m4 _CONVERSION(`char**',`std::vector<std::string>',`Glib::ArrayHandler<std::string>::array_to_vector($3, 
Glib::OWNERSHIP_DEEP)')
 +  _WRAP_METHOD(std::vector<std::string> enumerate_children(const std::string& path, ResourceLookupFlags 
lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE) const, g_resource_enumerate_children, errthrow)
 +
 +  /** Looks for a file at the specified @a path in the resource and
 +   * if found returns information about it.
 +   *
 +   * @a lookup_flags controls the behaviour of the lookup.
 +   *
 +   * @newin{2,44}
 +   *
 +   * @param path A pathname inside the resource.
 +   * @param[out] size A location to place the length of the contents of the file.
 +   * @param[out] flags A location to place the flags about the file.
 +   * @param lookup_flags A ResourceLookupFlags.
 +   * @throw Gio::ResourceError if the file was not found.
 +   */
 +  void get_info(const std::string& path, gsize& size, ResourceFlags& flags, ResourceLookupFlags 
lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE) const;
 +  _IGNORE(g_resource_get_info)
 +
 +  /** Looks for a file at the specified @a path in the resource.
 +   *
 +   * @a lookup_flags controls the behaviour of the lookup.
 +   *
 +   * @newin{2,44}
 +   *
 +   * @param path A pathname inside the resource.
 +   * @param lookup_flags A ResourceLookupFlags.
 +   * @throw Gio::ResourceError if the file was not found.
 +   */
 +  void get_file_exists(const std::string& path, ResourceLookupFlags lookup_flags = 
RESOURCE_LOOKUP_FLAGS_NONE) const;
 +
 +  /** Looks for a file at the specified @a path in the resource.
 +   *
 +   * @a lookup_flags controls the behaviour of the lookup.
 +   * This method returns a <tt>bool</tt> instead of throwing in exception in case of errors.
 +   *
 +   * @newin{2,44}
 +   *
 +   * @param path A pathname inside the resource.
 +   * @param lookup_flags A ResourceLookupFlags.
 +   * @return <tt>true</tt> if the file was found, <tt>false</tt> if there were errors.
 +   */
 +  bool get_file_exists_nothrow(const std::string& path, ResourceLookupFlags lookup_flags = 
RESOURCE_LOOKUP_FLAGS_NONE) const;
 +
 +  // 'register' is a keyword. Can't be the name of a method.
 +  _WRAP_METHOD(void register_global(), g_resources_register)
 +  _WRAP_METHOD(void unregister_global(), g_resources_unregister)
 +  _WRAP_METHOD(static Glib::RefPtr<InputStream> open_stream_global(const std::string& path, 
ResourceLookupFlags lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE), g_resources_open_stream, errthrow)
 +  _WRAP_METHOD(static Glib::RefPtr<const Glib::Bytes> lookup_data_global(const std::string& path, 
ResourceLookupFlags lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE), g_resources_lookup_data, errthrow)
 +  _WRAP_METHOD(static std::vector<std::string> enumerate_children_global(const std::string& path, 
ResourceLookupFlags lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE), g_resources_enumerate_children, errthrow)
 +
 +  /** Looks for a file at the specified @a path in the set of
 +   * globally registered resources and if found returns information about it.
 +   *
 +   * @a lookup_flags controls the behaviour of the lookup.
 +   *
 +   * @newin{2,44}
 +   *
 +   * @param path A pathname inside the resource.
 +   * @param[out] size A location to place the length of the contents of the file.
 +   * @param[out] flags A location to place the flags about the file.
 +   * @param lookup_flags A ResourceLookupFlags.
 +   * @throw Gio::ResourceError if the file was not found.
 +   */
 +  static void get_info_global(const std::string& path, gsize& size, ResourceFlags& flags, 
ResourceLookupFlags lookup_flags = RESOURCE_LOOKUP_FLAGS_NONE);
 +  _IGNORE(g_resources_get_info)
 +
 +  /** Looks for a file at the specified @a path in the set of
 +   * globally registered resources.
 +   *
 +   * @a lookup_flags controls the behaviour of the lookup.
 +   *
 +   * @newin{2,44}
 +   *
 +   * @param path A pathname inside the resource.
     * @param lookup_flags A ResourceLookupFlags.
     * @throw Gio::ResourceError if the file was not found.
     */
diff --cc glib/src/glib_functions.defs
index 3d55e45,f1c453e..87445f6
--- a/glib/src/glib_functions.defs
+++ b/glib/src/glib_functions.defs
@@@ -645,38 -1639,79 +645,81 @@@
    )
  )
  
 -(define-method sort_unlocked
 -  (of-object "GAsyncQueue")
 -  (c-name "g_async_queue_sort_unlocked")
 +(define-method ref
 +  (of-object "GBytes")
 +  (c-name "g_bytes_ref")
 +  (return-type "GBytes*")
 +)
 +
 +(define-method unref
 +  (of-object "GBytes")
 +  (c-name "g_bytes_unref")
    (return-type "none")
 -  (parameters
 -    '("GCompareDataFunc" "func")
 -    '("gpointer" "user_data")
 -  )
  )
  
- (define-method unref_to_array
-   (of-object "GBytes")
-   (c-name "g_bytes_unref_to_array")
-   (return-type "const-GByteArray*")
+ (define-method remove
+   (of-object "GAsyncQueue")
+   (c-name "g_async_queue_remove")
+   (return-type "gboolean")
+   (parameters
+     '("gpointer" "item")
+   )
+ )
+ 
+ (define-method remove_unlocked
+   (of-object "GAsyncQueue")
+   (c-name "g_async_queue_remove_unlocked")
+   (return-type "gboolean")
+   (parameters
+     '("gpointer" "item")
+   )
+ )
+ 
+ (define-method push_front
+   (of-object "GAsyncQueue")
+   (c-name "g_async_queue_push_front")
+   (return-type "none")
+   (parameters
+     '("gpointer" "item")
+   )
+ )
+ 
+ (define-method push_front_unlocked
+   (of-object "GAsyncQueue")
+   (c-name "g_async_queue_push_front_unlocked")
+   (return-type "none")
+   (parameters
+     '("gpointer" "item")
+   )
+ )
+ 
+ (define-method timed_pop
+   (of-object "GAsyncQueue")
+   (c-name "g_async_queue_timed_pop")
+   (return-type "gpointer")
+   (parameters
+     '("GTimeVal*" "end_time")
+   )
  )
  
 -(define-method timed_pop_unlocked
 -  (of-object "GAsyncQueue")
 -  (c-name "g_async_queue_timed_pop_unlocked")
 +(define-method unref_to_data
 +  (of-object "GBytes")
 +  (c-name "g_bytes_unref_to_data")
    (return-type "gpointer")
    (parameters
 -    '("GTimeVal*" "end_time")
 +    '("gsize*" "size")
    )
  )
  
- (define-function new
-   (c-name "g_checksum_new")
-   (return-type "GChecksum*")
+ 
+ 
+ ;; From gatomic.h
+ 
+ (define-function g_atomic_int_get
+   (c-name "g_atomic_int_get")
+   (return-type "gint")
    (parameters
 -    '("const-volatile-gint*" "atomic")
 +    '("GChecksumType" "checksum_type")
    )
  )
  
@@@ -1474,18 -2653,22 +1517,22 @@@
    )
  )
  
- (define-method get_hash_table
-   (of-object "GHashTableIter")
-   (c-name "g_hash_table_iter_get_hash_table")
-   (return-type "GHashTable*")
+ 
+ 
+ ;; From gchecksum.h
+ 
+ (define-method get_length
+   (of-object "GChecksumType")
+   (c-name "g_checksum_type_get_length")
+   (return-type "gssize")
  )
  
 -(define-function g_checksum_new
 -  (c-name "g_checksum_new")
 -  (is-constructor-of "GChecksum")
 -  (return-type "GChecksum*")
 +(define-method init
 +  (of-object "GHashTableIter")
 +  (c-name "g_hash_table_iter_init")
 +  (return-type "none")
    (parameters
 -    '("GChecksumType" "checksum_type")
 +    '("GHashTable*" "hash_table")
    )
  )
  
@@@ -2058,15 -3136,23 +2105,24 @@@
    )
  )
  
- (define-method get_locale_string
-   (of-object "GKeyFile")
-   (c-name "g_key_file_get_locale_string")
-   (return-type "gchar*")
+ 
+ 
+ ;; From gdate.h
+ 
+ (define-function g_date_new
+   (c-name "g_date_new")
+   (is-constructor-of "GDate")
+   (return-type "GDate*")
+ )
+ 
+ (define-function g_date_new_dmy
+   (c-name "g_date_new_dmy")
+   (return-type "GDate*")
    (parameters
 -    '("GDateDay" "day")
 -    '("GDateMonth" "month")
 -    '("GDateYear" "year")
 +    '("const-gchar*" "group_name")
 +    '("const-gchar*" "key")
 +    '("const-gchar*" "locale")
 +    '("GError**" "error")
    )
  )
  
@@@ -2591,9 -6534,4981 +5597,4982 @@@
    (return-type "GMainContext*")
  )
  
+ (define-method unref
+   (of-object "GMainContext")
+   (c-name "g_main_context_unref")
+   (return-type "none")
+ )
+ 
+ (define-function g_main_context_default
+   (c-name "g_main_context_default")
+   (return-type "GMainContext*")
+ )
+ 
+ (define-method iteration
+   (of-object "GMainContext")
+   (c-name "g_main_context_iteration")
+   (return-type "gboolean")
+   (parameters
+     '("gboolean" "may_block")
+   )
+ )
+ 
+ (define-method pending
+   (of-object "GMainContext")
+   (c-name "g_main_context_pending")
+   (return-type "gboolean")
+ )
+ 
+ (define-method find_source_by_id
+   (of-object "GMainContext")
+   (c-name "g_main_context_find_source_by_id")
+   (return-type "GSource*")
+   (parameters
+     '("guint" "source_id")
+   )
+ )
+ 
+ (define-method find_source_by_user_data
+   (of-object "GMainContext")
+   (c-name "g_main_context_find_source_by_user_data")
+   (return-type "GSource*")
+   (parameters
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-method find_source_by_funcs_user_data
+   (of-object "GMainContext")
+   (c-name "g_main_context_find_source_by_funcs_user_data")
+   (return-type "GSource*")
+   (parameters
+     '("GSourceFuncs*" "funcs")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-method wakeup
+   (of-object "GMainContext")
+   (c-name "g_main_context_wakeup")
+   (return-type "none")
+ )
+ 
+ (define-method acquire
+   (of-object "GMainContext")
+   (c-name "g_main_context_acquire")
+   (return-type "gboolean")
+ )
+ 
+ (define-method release
+   (of-object "GMainContext")
+   (c-name "g_main_context_release")
+   (return-type "none")
+ )
+ 
+ (define-method is_owner
+   (of-object "GMainContext")
+   (c-name "g_main_context_is_owner")
+   (return-type "gboolean")
+ )
+ 
+ (define-method wait
+   (of-object "GMainContext")
+   (c-name "g_main_context_wait")
+   (return-type "gboolean")
+   (parameters
+     '("GCond*" "cond")
+     '("GMutex*" "mutex")
+   )
+ )
+ 
+ (define-method prepare
+   (of-object "GMainContext")
+   (c-name "g_main_context_prepare")
+   (return-type "gboolean")
+   (parameters
+     '("gint*" "priority")
+   )
+ )
+ 
+ (define-method query
+   (of-object "GMainContext")
+   (c-name "g_main_context_query")
+   (return-type "gint")
+   (parameters
+     '("gint" "max_priority")
+     '("gint*" "timeout_")
+     '("GPollFD*" "fds")
+     '("gint" "n_fds")
+   )
+ )
+ 
+ (define-method check
+   (of-object "GMainContext")
+   (c-name "g_main_context_check")
+   (return-type "gint")
+   (parameters
+     '("gint" "max_priority")
+     '("GPollFD*" "fds")
+     '("gint" "n_fds")
+   )
+ )
+ 
+ (define-method dispatch
+   (of-object "GMainContext")
+   (c-name "g_main_context_dispatch")
+   (return-type "none")
+ )
+ 
+ (define-method set_poll_func
+   (of-object "GMainContext")
+   (c-name "g_main_context_set_poll_func")
+   (return-type "none")
+   (parameters
+     '("GPollFunc" "func")
+   )
+ )
+ 
+ (define-method get_poll_func
+   (of-object "GMainContext")
+   (c-name "g_main_context_get_poll_func")
+   (return-type "GPollFunc")
+ )
+ 
+ (define-method add_poll
+   (of-object "GMainContext")
+   (c-name "g_main_context_add_poll")
+   (return-type "none")
+   (parameters
+     '("GPollFD*" "fd")
+     '("gint" "priority")
+   )
+ )
+ 
+ (define-method remove_poll
+   (of-object "GMainContext")
+   (c-name "g_main_context_remove_poll")
+   (return-type "none")
+   (parameters
+     '("GPollFD*" "fd")
+   )
+ )
+ 
+ (define-function g_main_depth
+   (c-name "g_main_depth")
+   (return-type "gint")
+ )
+ 
+ (define-function g_main_current_source
+   (c-name "g_main_current_source")
+   (return-type "GSource*")
+ )
+ 
+ (define-method push_thread_default
+   (of-object "GMainContext")
+   (c-name "g_main_context_push_thread_default")
+   (return-type "none")
+ )
+ 
+ (define-method pop_thread_default
+   (of-object "GMainContext")
+   (c-name "g_main_context_pop_thread_default")
+   (return-type "none")
+ )
+ 
+ (define-function g_main_context_get_thread_default
+   (c-name "g_main_context_get_thread_default")
+   (return-type "GMainContext*")
+ )
+ 
+ (define-function g_main_context_ref_thread_default
+   (c-name "g_main_context_ref_thread_default")
+   (return-type "GMainContext*")
+ )
+ 
+ (define-function g_main_loop_new
+   (c-name "g_main_loop_new")
+   (is-constructor-of "GMainLoop")
+   (return-type "GMainLoop*")
+   (parameters
+     '("GMainContext*" "context")
+     '("gboolean" "is_running")
+   )
+ )
+ 
+ (define-method run
+   (of-object "GMainLoop")
+   (c-name "g_main_loop_run")
+   (return-type "none")
+ )
+ 
+ (define-method quit
+   (of-object "GMainLoop")
+   (c-name "g_main_loop_quit")
+   (return-type "none")
+ )
+ 
+ (define-method ref
+   (of-object "GMainLoop")
+   (c-name "g_main_loop_ref")
+   (return-type "GMainLoop*")
+ )
+ 
+ (define-method unref
+   (of-object "GMainLoop")
+   (c-name "g_main_loop_unref")
+   (return-type "none")
+ )
+ 
+ (define-method is_running
+   (of-object "GMainLoop")
+   (c-name "g_main_loop_is_running")
+   (return-type "gboolean")
+ )
+ 
+ (define-method get_context
+   (of-object "GMainLoop")
+   (c-name "g_main_loop_get_context")
+   (return-type "GMainContext*")
+ )
+ 
+ (define-function g_source_new
+   (c-name "g_source_new")
+   (is-constructor-of "GSource")
+   (return-type "GSource*")
+   (parameters
+     '("GSourceFuncs*" "source_funcs")
+     '("guint" "struct_size")
+   )
+ )
+ 
+ (define-method ref
+   (of-object "GSource")
+   (c-name "g_source_ref")
+   (return-type "GSource*")
+ )
+ 
+ (define-method unref
+   (of-object "GSource")
+   (c-name "g_source_unref")
+   (return-type "none")
+ )
+ 
+ (define-method attach
+   (of-object "GSource")
+   (c-name "g_source_attach")
+   (return-type "guint")
+   (parameters
+     '("GMainContext*" "context")
+   )
+ )
+ 
+ (define-method destroy
+   (of-object "GSource")
+   (c-name "g_source_destroy")
+   (return-type "none")
+ )
+ 
+ (define-method set_priority
+   (of-object "GSource")
+   (c-name "g_source_set_priority")
+   (return-type "none")
+   (parameters
+     '("gint" "priority")
+   )
+ )
+ 
+ (define-method get_priority
+   (of-object "GSource")
+   (c-name "g_source_get_priority")
+   (return-type "gint")
+ )
+ 
+ (define-method set_can_recurse
+   (of-object "GSource")
+   (c-name "g_source_set_can_recurse")
+   (return-type "none")
+   (parameters
+     '("gboolean" "can_recurse")
+   )
+ )
+ 
+ (define-method get_can_recurse
+   (of-object "GSource")
+   (c-name "g_source_get_can_recurse")
+   (return-type "gboolean")
+ )
+ 
+ (define-method get_id
+   (of-object "GSource")
+   (c-name "g_source_get_id")
+   (return-type "guint")
+ )
+ 
+ (define-method get_context
+   (of-object "GSource")
+   (c-name "g_source_get_context")
+   (return-type "GMainContext*")
+ )
+ 
+ (define-method set_callback
+   (of-object "GSource")
+   (c-name "g_source_set_callback")
+   (return-type "none")
+   (parameters
+     '("GSourceFunc" "func")
+     '("gpointer" "data")
+     '("GDestroyNotify" "notify")
+   )
+ )
+ 
+ (define-method set_funcs
+   (of-object "GSource")
+   (c-name "g_source_set_funcs")
+   (return-type "none")
+   (parameters
+     '("GSourceFuncs*" "funcs")
+   )
+ )
+ 
+ (define-method is_destroyed
+   (of-object "GSource")
+   (c-name "g_source_is_destroyed")
+   (return-type "gboolean")
+ )
+ 
+ (define-method set_name
+   (of-object "GSource")
+   (c-name "g_source_set_name")
+   (return-type "none")
+   (parameters
+     '("const-char*" "name")
+   )
+ )
+ 
+ (define-method get_name
+   (of-object "GSource")
+   (c-name "g_source_get_name")
+   (return-type "const-char*")
+ )
+ 
+ (define-function g_source_set_name_by_id
+   (c-name "g_source_set_name_by_id")
+   (return-type "none")
+   (parameters
+     '("guint" "tag")
+     '("const-char*" "name")
+   )
+ )
+ 
+ (define-method set_ready_time
+   (of-object "GSource")
+   (c-name "g_source_set_ready_time")
+   (return-type "none")
+   (parameters
+     '("gint64" "ready_time")
+   )
+ )
+ 
+ (define-method get_ready_time
+   (of-object "GSource")
+   (c-name "g_source_get_ready_time")
+   (return-type "gint64")
+ )
+ 
+ (define-method add_unix_fd
+   (of-object "GSource")
+   (c-name "g_source_add_unix_fd")
+   (return-type "gpointer")
+   (parameters
+     '("gint" "fd")
+     '("GIOCondition" "events")
+   )
+ )
+ 
+ (define-method modify_unix_fd
+   (of-object "GSource")
+   (c-name "g_source_modify_unix_fd")
+   (return-type "none")
+   (parameters
+     '("gpointer" "tag")
+     '("GIOCondition" "new_events")
+   )
+ )
+ 
+ (define-method remove_unix_fd
+   (of-object "GSource")
+   (c-name "g_source_remove_unix_fd")
+   (return-type "none")
+   (parameters
+     '("gpointer" "tag")
+   )
+ )
+ 
+ (define-method query_unix_fd
+   (of-object "GSource")
+   (c-name "g_source_query_unix_fd")
+   (return-type "GIOCondition")
+   (parameters
+     '("gpointer" "tag")
+   )
+ )
+ 
+ (define-method set_callback_indirect
+   (of-object "GSource")
+   (c-name "g_source_set_callback_indirect")
+   (return-type "none")
+   (parameters
+     '("gpointer" "callback_data")
+     '("GSourceCallbackFuncs*" "callback_funcs")
+   )
+ )
+ 
+ (define-method add_poll
+   (of-object "GSource")
+   (c-name "g_source_add_poll")
+   (return-type "none")
+   (parameters
+     '("GPollFD*" "fd")
+   )
+ )
+ 
+ (define-method remove_poll
+   (of-object "GSource")
+   (c-name "g_source_remove_poll")
+   (return-type "none")
+   (parameters
+     '("GPollFD*" "fd")
+   )
+ )
+ 
+ (define-method add_child_source
+   (of-object "GSource")
+   (c-name "g_source_add_child_source")
+   (return-type "none")
+   (parameters
+     '("GSource*" "child_source")
+   )
+ )
+ 
+ (define-method remove_child_source
+   (of-object "GSource")
+   (c-name "g_source_remove_child_source")
+   (return-type "none")
+   (parameters
+     '("GSource*" "child_source")
+   )
+ )
+ 
+ (define-method get_current_time
+   (of-object "GSource")
+   (c-name "g_source_get_current_time")
+   (return-type "none")
+   (parameters
+     '("GTimeVal*" "timeval")
+   )
+ )
+ 
+ (define-method get_time
+   (of-object "GSource")
+   (c-name "g_source_get_time")
+   (return-type "gint64")
+ )
+ 
+ (define-function g_idle_source_new
+   (c-name "g_idle_source_new")
+   (is-constructor-of "GIdleSource")
+   (return-type "GSource*")
+ )
+ 
+ (define-function g_child_watch_source_new
+   (c-name "g_child_watch_source_new")
+   (is-constructor-of "GChildWatchSource")
+   (return-type "GSource*")
+   (parameters
+     '("GPid" "pid")
+   )
+ )
+ 
+ (define-function g_timeout_source_new
+   (c-name "g_timeout_source_new")
+   (is-constructor-of "GTimeoutSource")
+   (return-type "GSource*")
+   (parameters
+     '("guint" "interval")
+   )
+ )
+ 
+ (define-function g_timeout_source_new_seconds
+   (c-name "g_timeout_source_new_seconds")
+   (return-type "GSource*")
+   (parameters
+     '("guint" "interval")
+   )
+ )
+ 
+ (define-function g_get_current_time
+   (c-name "g_get_current_time")
+   (return-type "none")
+   (parameters
+     '("GTimeVal*" "result")
+   )
+ )
+ 
+ (define-function g_get_monotonic_time
+   (c-name "g_get_monotonic_time")
+   (return-type "gint64")
+ )
+ 
+ (define-function g_get_real_time
+   (c-name "g_get_real_time")
+   (return-type "gint64")
+ )
+ 
+ (define-function g_source_remove
+   (c-name "g_source_remove")
+   (return-type "gboolean")
+   (parameters
+     '("guint" "tag")
+   )
+ )
+ 
+ (define-function g_source_remove_by_user_data
+   (c-name "g_source_remove_by_user_data")
+   (return-type "gboolean")
+   (parameters
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-function g_source_remove_by_funcs_user_data
+   (c-name "g_source_remove_by_funcs_user_data")
+   (return-type "gboolean")
+   (parameters
+     '("GSourceFuncs*" "funcs")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-function g_timeout_add_full
+   (c-name "g_timeout_add_full")
+   (return-type "guint")
+   (parameters
+     '("gint" "priority")
+     '("guint" "interval")
+     '("GSourceFunc" "function")
+     '("gpointer" "data")
+     '("GDestroyNotify" "notify")
+   )
+ )
+ 
+ (define-function g_timeout_add
+   (c-name "g_timeout_add")
+   (return-type "guint")
+   (parameters
+     '("guint" "interval")
+     '("GSourceFunc" "function")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-function g_timeout_add_seconds_full
+   (c-name "g_timeout_add_seconds_full")
+   (return-type "guint")
+   (parameters
+     '("gint" "priority")
+     '("guint" "interval")
+     '("GSourceFunc" "function")
+     '("gpointer" "data")
+     '("GDestroyNotify" "notify")
+   )
+ )
+ 
+ (define-function g_timeout_add_seconds
+   (c-name "g_timeout_add_seconds")
+   (return-type "guint")
+   (parameters
+     '("guint" "interval")
+     '("GSourceFunc" "function")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-function g_child_watch_add_full
+   (c-name "g_child_watch_add_full")
+   (return-type "guint")
+   (parameters
+     '("gint" "priority")
+     '("GPid" "pid")
+     '("GChildWatchFunc" "function")
+     '("gpointer" "data")
+     '("GDestroyNotify" "notify")
+   )
+ )
+ 
+ (define-function g_child_watch_add
+   (c-name "g_child_watch_add")
+   (return-type "guint")
+   (parameters
+     '("GPid" "pid")
+     '("GChildWatchFunc" "function")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-function g_idle_add
+   (c-name "g_idle_add")
+   (return-type "guint")
+   (parameters
+     '("GSourceFunc" "function")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-function g_idle_add_full
+   (c-name "g_idle_add_full")
+   (return-type "guint")
+   (parameters
+     '("gint" "priority")
+     '("GSourceFunc" "function")
+     '("gpointer" "data")
+     '("GDestroyNotify" "notify")
+   )
+ )
+ 
+ (define-function g_idle_remove_by_data
+   (c-name "g_idle_remove_by_data")
+   (return-type "gboolean")
+   (parameters
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method invoke_full
+   (of-object "GMainContext")
+   (c-name "g_main_context_invoke_full")
+   (return-type "none")
+   (parameters
+     '("gint" "priority")
+     '("GSourceFunc" "function")
+     '("gpointer" "data")
+     '("GDestroyNotify" "notify")
+   )
+ )
+ 
+ (define-method invoke
+   (of-object "GMainContext")
+   (c-name "g_main_context_invoke")
+   (return-type "none")
+   (parameters
+     '("GSourceFunc" "function")
+     '("gpointer" "data")
+   )
+ )
+ 
+ 
+ 
+ ;; From gmain-internal.h
+ 
+ 
+ 
+ ;; From gmappedfile.h
+ 
+ (define-function g_mapped_file_new
+   (c-name "g_mapped_file_new")
+   (is-constructor-of "GMappedFile")
+   (return-type "GMappedFile*")
+   (parameters
+     '("const-gchar*" "filename")
+     '("gboolean" "writable")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-function g_mapped_file_new_from_fd
+   (c-name "g_mapped_file_new_from_fd")
+   (return-type "GMappedFile*")
+   (parameters
+     '("gint" "fd")
+     '("gboolean" "writable")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-method get_length
+   (of-object "GMappedFile")
+   (c-name "g_mapped_file_get_length")
+   (return-type "gsize")
+ )
+ 
+ (define-method get_contents
+   (of-object "GMappedFile")
+   (c-name "g_mapped_file_get_contents")
+   (return-type "gchar*")
+ )
+ 
+ (define-method get_bytes
+   (of-object "GMappedFile")
+   (c-name "g_mapped_file_get_bytes")
+   (return-type "GBytes*")
+ )
+ 
+ (define-method ref
+   (of-object "GMappedFile")
+   (c-name "g_mapped_file_ref")
+   (return-type "GMappedFile*")
+ )
+ 
+ (define-method unref
+   (of-object "GMappedFile")
+   (c-name "g_mapped_file_unref")
+   (return-type "none")
+ )
+ 
+ (define-method free
+   (of-object "GMappedFile")
+   (c-name "g_mapped_file_free")
+   (return-type "none")
+ )
+ 
+ 
+ 
+ ;; From gmarkup.h
+ 
+ (define-function g_markup_error_quark
+   (c-name "g_markup_error_quark")
+   (return-type "GQuark")
+ )
+ 
+ (define-function g_markup_parse_context_new
+   (c-name "g_markup_parse_context_new")
+   (is-constructor-of "GMarkupParseContext")
+   (return-type "GMarkupParseContext*")
+   (parameters
+     '("const-GMarkupParser*" "parser")
+     '("GMarkupParseFlags" "flags")
+     '("gpointer" "user_data")
+     '("GDestroyNotify" "user_data_dnotify")
+   )
+ )
+ 
+ (define-method ref
+   (of-object "GMarkupParseContext")
+   (c-name "g_markup_parse_context_ref")
+   (return-type "GMarkupParseContext*")
+ )
+ 
+ (define-method unref
+   (of-object "GMarkupParseContext")
+   (c-name "g_markup_parse_context_unref")
+   (return-type "none")
+ )
+ 
+ (define-method free
+   (of-object "GMarkupParseContext")
+   (c-name "g_markup_parse_context_free")
+   (return-type "none")
+ )
+ 
+ (define-method parse
+   (of-object "GMarkupParseContext")
+   (c-name "g_markup_parse_context_parse")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "text")
+     '("gssize" "text_len")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-method push
+   (of-object "GMarkupParseContext")
+   (c-name "g_markup_parse_context_push")
+   (return-type "none")
+   (parameters
+     '("const-GMarkupParser*" "parser")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-method pop
+   (of-object "GMarkupParseContext")
+   (c-name "g_markup_parse_context_pop")
+   (return-type "gpointer")
+ )
+ 
+ (define-method end_parse
+   (of-object "GMarkupParseContext")
+   (c-name "g_markup_parse_context_end_parse")
+   (return-type "gboolean")
+   (parameters
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-method get_element
+   (of-object "GMarkupParseContext")
+   (c-name "g_markup_parse_context_get_element")
+   (return-type "const-gchar*")
+ )
+ 
+ (define-method get_element_stack
+   (of-object "GMarkupParseContext")
+   (c-name "g_markup_parse_context_get_element_stack")
+   (return-type "const-GSList*")
+ )
+ 
+ (define-method get_position
+   (of-object "GMarkupParseContext")
+   (c-name "g_markup_parse_context_get_position")
+   (return-type "none")
+   (parameters
+     '("gint*" "line_number")
+     '("gint*" "char_number")
+   )
+ )
+ 
+ (define-method get_user_data
+   (of-object "GMarkupParseContext")
+   (c-name "g_markup_parse_context_get_user_data")
+   (return-type "gpointer")
+ )
+ 
+ (define-function g_markup_escape_text
+   (c-name "g_markup_escape_text")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "text")
+     '("gssize" "length")
+   )
+ )
+ 
+ (define-function g_markup_printf_escaped
+   (c-name "g_markup_printf_escaped")
+   (return-type "gchar*")
+   (parameters
+     '("const-char*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_markup_vprintf_escaped
+   (c-name "g_markup_vprintf_escaped")
+   (return-type "gchar*")
+   (parameters
+     '("const-char*" "format")
+     '("va_list" "args")
+   )
+ )
+ 
+ (define-function g_markup_collect_attributes
+   (c-name "g_markup_collect_attributes")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "element_name")
+     '("const-gchar**" "attribute_names")
+     '("const-gchar**" "attribute_values")
+     '("GError**" "error")
+     '("GMarkupCollectType" "first_type")
+     '("const-gchar*" "first_attr")
+   )
+   (varargs #t)
+ )
+ 
+ 
+ 
+ ;; From gmem.h
+ 
+ (define-function g_free
+   (c-name "g_free")
+   (return-type "none")
+   (parameters
+     '("gpointer" "mem")
+   )
+ )
+ 
+ (define-function g_clear_pointer
+   (c-name "g_clear_pointer")
+   (return-type "none")
+   (parameters
+     '("gpointer*" "pp")
+     '("GDestroyNotify" "destroy")
+   )
+ )
+ 
+ (define-function g_malloc
+   (c-name "g_malloc")
+   (return-type "gpointer")
+   (parameters
+     '("gsize" "n_bytes")
+   )
+ )
+ 
+ (define-function g_malloc0
+   (c-name "g_malloc0")
+   (return-type "gpointer")
+   (parameters
+     '("gsize" "n_bytes")
+   )
+ )
+ 
+ (define-function g_realloc
+   (c-name "g_realloc")
+   (return-type "gpointer")
+   (parameters
+     '("gpointer" "mem")
+     '("gsize" "n_bytes")
+   )
+ )
+ 
+ (define-function g_try_malloc
+   (c-name "g_try_malloc")
+   (return-type "gpointer")
+   (parameters
+     '("gsize" "n_bytes")
+   )
+ )
+ 
+ (define-function g_try_malloc0
+   (c-name "g_try_malloc0")
+   (return-type "gpointer")
+   (parameters
+     '("gsize" "n_bytes")
+   )
+ )
+ 
+ (define-function g_try_realloc
+   (c-name "g_try_realloc")
+   (return-type "gpointer")
+   (parameters
+     '("gpointer" "mem")
+     '("gsize" "n_bytes")
+   )
+ )
+ 
+ (define-function g_malloc_n
+   (c-name "g_malloc_n")
+   (return-type "gpointer")
+   (parameters
+     '("gsize" "n_blocks")
+     '("gsize" "n_block_bytes")
+   )
+ )
+ 
+ (define-function g_malloc0_n
+   (c-name "g_malloc0_n")
+   (return-type "gpointer")
+   (parameters
+     '("gsize" "n_blocks")
+     '("gsize" "n_block_bytes")
+   )
+ )
+ 
+ (define-function g_realloc_n
+   (c-name "g_realloc_n")
+   (return-type "gpointer")
+   (parameters
+     '("gpointer" "mem")
+     '("gsize" "n_blocks")
+     '("gsize" "n_block_bytes")
+   )
+ )
+ 
+ (define-function g_try_malloc_n
+   (c-name "g_try_malloc_n")
+   (return-type "gpointer")
+   (parameters
+     '("gsize" "n_blocks")
+     '("gsize" "n_block_bytes")
+   )
+ )
+ 
+ (define-function g_try_malloc0_n
+   (c-name "g_try_malloc0_n")
+   (return-type "gpointer")
+   (parameters
+     '("gsize" "n_blocks")
+     '("gsize" "n_block_bytes")
+   )
+ )
+ 
+ (define-function g_try_realloc_n
+   (c-name "g_try_realloc_n")
+   (return-type "gpointer")
+   (parameters
+     '("gpointer" "mem")
+     '("gsize" "n_blocks")
+     '("gsize" "n_block_bytes")
+   )
+ )
+ 
+ (define-function g_steal_pointer
+   (c-name "g_steal_pointer")
+   (return-type "gpointer")
+   (parameters
+     '("gpointer" "pp")
+   )
+ )
+ 
+ (define-function g_mem_set_vtable
+   (c-name "g_mem_set_vtable")
+   (return-type "none")
+   (parameters
+     '("GMemVTable*" "vtable")
+   )
+ )
+ 
+ (define-function g_mem_is_system_malloc
+   (c-name "g_mem_is_system_malloc")
+   (return-type "gboolean")
+ )
+ 
+ (define-function g_mem_profile
+   (c-name "g_mem_profile")
+   (return-type "none")
+ )
+ 
+ 
+ 
+ ;; From gmessages.h
+ 
+ (define-function g_printf_string_upper_bound
+   (c-name "g_printf_string_upper_bound")
+   (return-type "gsize")
+   (parameters
+     '("const-gchar*" "format")
+     '("va_list" "args")
+   )
+ )
+ 
+ (define-function g_log_set_handler
+   (c-name "g_log_set_handler")
+   (return-type "guint")
+   (parameters
+     '("const-gchar*" "log_domain")
+     '("GLogLevelFlags" "log_levels")
+     '("GLogFunc" "log_func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-function g_log_set_handler_full
+   (c-name "g_log_set_handler_full")
+   (return-type "guint")
+   (parameters
+     '("const-gchar*" "log_domain")
+     '("GLogLevelFlags" "log_levels")
+     '("GLogFunc" "log_func")
+     '("gpointer" "user_data")
+     '("GDestroyNotify" "destroy")
+   )
+ )
+ 
+ (define-function g_log_remove_handler
+   (c-name "g_log_remove_handler")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "log_domain")
+     '("guint" "handler_id")
+   )
+ )
+ 
+ (define-function g_log_default_handler
+   (c-name "g_log_default_handler")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "log_domain")
+     '("GLogLevelFlags" "log_level")
+     '("const-gchar*" "message")
+     '("gpointer" "unused_data")
+   )
+ )
+ 
+ (define-function g_log_set_default_handler
+   (c-name "g_log_set_default_handler")
+   (return-type "GLogFunc")
+   (parameters
+     '("GLogFunc" "log_func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-function g_log
+   (c-name "g_log")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "log_domain")
+     '("GLogLevelFlags" "log_level")
+     '("const-gchar*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_logv
+   (c-name "g_logv")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "log_domain")
+     '("GLogLevelFlags" "log_level")
+     '("const-gchar*" "format")
+     '("va_list" "args")
+   )
+ )
+ 
+ (define-function g_log_set_fatal_mask
+   (c-name "g_log_set_fatal_mask")
+   (return-type "GLogLevelFlags")
+   (parameters
+     '("const-gchar*" "log_domain")
+     '("GLogLevelFlags" "fatal_mask")
+   )
+ )
+ 
+ (define-function g_log_set_always_fatal
+   (c-name "g_log_set_always_fatal")
+   (return-type "GLogLevelFlags")
+   (parameters
+     '("GLogLevelFlags" "fatal_mask")
+   )
+ )
+ 
+ (define-function g_return_if_fail_warning
+   (c-name "g_return_if_fail_warning")
+   (return-type "none")
+   (parameters
+     '("const-char*" "log_domain")
+     '("const-char*" "pretty_function")
+     '("const-char*" "expression")
+   )
+ )
+ 
+ (define-function g_warn_message
+   (c-name "g_warn_message")
+   (return-type "none")
+   (parameters
+     '("const-char*" "domain")
+     '("const-char*" "file")
+     '("int" "line")
+     '("const-char*" "func")
+     '("const-char*" "warnexpr")
+   )
+ )
+ 
+ (define-function g_assert_warning
+   (c-name "g_assert_warning")
+   (return-type "none")
+   (parameters
+     '("const-char*" "log_domain")
+     '("const-char*" "file")
+     '("const-int" "line")
+     '("const-char*" "pretty_function")
+     '("const-char*" "expression")
+   )
+ )
+ 
+ (define-function g_error
+   (c-name "g_error")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_critical
+   (c-name "g_critical")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_message
+   (c-name "g_message")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_warning
+   (c-name "g_warning")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_info
+   (c-name "g_info")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_debug
+   (c-name "g_debug")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_print
+   (c-name "g_print")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_set_print_handler
+   (c-name "g_set_print_handler")
+   (return-type "GPrintFunc")
+   (parameters
+     '("GPrintFunc" "func")
+   )
+ )
+ 
+ (define-function g_printerr
+   (c-name "g_printerr")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_set_printerr_handler
+   (c-name "g_set_printerr_handler")
+   (return-type "GPrintFunc")
+   (parameters
+     '("GPrintFunc" "func")
+   )
+ )
+ 
+ 
+ 
+ ;; From gmirroringtable.h
+ 
+ 
+ 
+ ;; From gnode.h
+ 
+ (define-function g_node_new
+   (c-name "g_node_new")
+   (is-constructor-of "GNode")
+   (return-type "GNode*")
+   (parameters
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method destroy
+   (of-object "GNode")
+   (c-name "g_node_destroy")
+   (return-type "none")
+ )
+ 
+ (define-method unlink
+   (of-object "GNode")
+   (c-name "g_node_unlink")
+   (return-type "none")
+ )
+ 
+ (define-method copy_deep
+   (of-object "GNode")
+   (c-name "g_node_copy_deep")
+   (return-type "GNode*")
+   (parameters
+     '("GCopyFunc" "copy_func")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method copy
+   (of-object "GNode")
+   (c-name "g_node_copy")
+   (return-type "GNode*")
+ )
+ 
+ (define-method insert
+   (of-object "GNode")
+   (c-name "g_node_insert")
+   (return-type "GNode*")
+   (parameters
+     '("gint" "position")
+     '("GNode*" "node")
+   )
+ )
+ 
+ (define-method insert_before
+   (of-object "GNode")
+   (c-name "g_node_insert_before")
+   (return-type "GNode*")
+   (parameters
+     '("GNode*" "sibling")
+     '("GNode*" "node")
+   )
+ )
+ 
+ (define-method insert_after
+   (of-object "GNode")
+   (c-name "g_node_insert_after")
+   (return-type "GNode*")
+   (parameters
+     '("GNode*" "sibling")
+     '("GNode*" "node")
+   )
+ )
+ 
+ (define-method prepend
+   (of-object "GNode")
+   (c-name "g_node_prepend")
+   (return-type "GNode*")
+   (parameters
+     '("GNode*" "node")
+   )
+ )
+ 
+ (define-method n_nodes
+   (of-object "GNode")
+   (c-name "g_node_n_nodes")
+   (return-type "guint")
+   (parameters
+     '("GTraverseFlags" "flags")
+   )
+ )
+ 
+ (define-method get_root
+   (of-object "GNode")
+   (c-name "g_node_get_root")
+   (return-type "GNode*")
+ )
+ 
+ (define-method is_ancestor
+   (of-object "GNode")
+   (c-name "g_node_is_ancestor")
+   (return-type "gboolean")
+   (parameters
+     '("GNode*" "descendant")
+   )
+ )
+ 
+ (define-method depth
+   (of-object "GNode")
+   (c-name "g_node_depth")
+   (return-type "guint")
+ )
+ 
+ (define-method find
+   (of-object "GNode")
+   (c-name "g_node_find")
+   (return-type "GNode*")
+   (parameters
+     '("GTraverseType" "order")
+     '("GTraverseFlags" "flags")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method traverse
+   (of-object "GNode")
+   (c-name "g_node_traverse")
+   (return-type "none")
+   (parameters
+     '("GTraverseType" "order")
+     '("GTraverseFlags" "flags")
+     '("gint" "max_depth")
+     '("GNodeTraverseFunc" "func")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method max_height
+   (of-object "GNode")
+   (c-name "g_node_max_height")
+   (return-type "guint")
+ )
+ 
+ (define-method children_foreach
+   (of-object "GNode")
+   (c-name "g_node_children_foreach")
+   (return-type "none")
+   (parameters
+     '("GTraverseFlags" "flags")
+     '("GNodeForeachFunc" "func")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method reverse_children
+   (of-object "GNode")
+   (c-name "g_node_reverse_children")
+   (return-type "none")
+ )
+ 
+ (define-method n_children
+   (of-object "GNode")
+   (c-name "g_node_n_children")
+   (return-type "guint")
+ )
+ 
+ (define-method nth_child
+   (of-object "GNode")
+   (c-name "g_node_nth_child")
+   (return-type "GNode*")
+   (parameters
+     '("guint" "n")
+   )
+ )
+ 
+ (define-method last_child
+   (of-object "GNode")
+   (c-name "g_node_last_child")
+   (return-type "GNode*")
+ )
+ 
+ (define-method find_child
+   (of-object "GNode")
+   (c-name "g_node_find_child")
+   (return-type "GNode*")
+   (parameters
+     '("GTraverseFlags" "flags")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method child_position
+   (of-object "GNode")
+   (c-name "g_node_child_position")
+   (return-type "gint")
+   (parameters
+     '("GNode*" "child")
+   )
+ )
+ 
+ (define-method child_index
+   (of-object "GNode")
+   (c-name "g_node_child_index")
+   (return-type "gint")
+   (parameters
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method first_sibling
+   (of-object "GNode")
+   (c-name "g_node_first_sibling")
+   (return-type "GNode*")
+ )
+ 
+ (define-method last_sibling
+   (of-object "GNode")
+   (c-name "g_node_last_sibling")
+   (return-type "GNode*")
+ )
+ 
+ 
+ 
+ ;; From goption.h
+ 
+ (define-function g_option_error_quark
+   (c-name "g_option_error_quark")
+   (return-type "GQuark")
+ )
+ 
+ (define-function g_option_context_new
+   (c-name "g_option_context_new")
+   (is-constructor-of "GOptionContext")
+   (return-type "GOptionContext*")
+   (parameters
+     '("const-gchar*" "parameter_string")
+   )
+ )
+ 
+ (define-method set_summary
+   (of-object "GOptionContext")
+   (c-name "g_option_context_set_summary")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "summary")
+   )
+ )
+ 
+ (define-method get_summary
+   (of-object "GOptionContext")
+   (c-name "g_option_context_get_summary")
+   (return-type "const-gchar*")
+ )
+ 
+ (define-method set_description
+   (of-object "GOptionContext")
+   (c-name "g_option_context_set_description")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "description")
+   )
+ )
+ 
+ (define-method get_description
+   (of-object "GOptionContext")
+   (c-name "g_option_context_get_description")
+   (return-type "const-gchar*")
+ )
+ 
+ (define-method free
+   (of-object "GOptionContext")
+   (c-name "g_option_context_free")
+   (return-type "none")
+ )
+ 
+ (define-method set_help_enabled
+   (of-object "GOptionContext")
+   (c-name "g_option_context_set_help_enabled")
+   (return-type "none")
+   (parameters
+     '("gboolean" "help_enabled")
+   )
+ )
+ 
+ (define-method get_help_enabled
+   (of-object "GOptionContext")
+   (c-name "g_option_context_get_help_enabled")
+   (return-type "gboolean")
+ )
+ 
+ (define-method set_ignore_unknown_options
+   (of-object "GOptionContext")
+   (c-name "g_option_context_set_ignore_unknown_options")
+   (return-type "none")
+   (parameters
+     '("gboolean" "ignore_unknown")
+   )
+ )
+ 
+ (define-method get_ignore_unknown_options
+   (of-object "GOptionContext")
+   (c-name "g_option_context_get_ignore_unknown_options")
+   (return-type "gboolean")
+ )
+ 
+ (define-method set_strict_posix
+   (of-object "GOptionContext")
+   (c-name "g_option_context_set_strict_posix")
+   (return-type "none")
+   (parameters
+     '("gboolean" "strict_posix")
+   )
+ )
+ 
+ (define-method get_strict_posix
+   (of-object "GOptionContext")
+   (c-name "g_option_context_get_strict_posix")
+   (return-type "gboolean")
+ )
+ 
+ (define-method add_main_entries
+   (of-object "GOptionContext")
+   (c-name "g_option_context_add_main_entries")
+   (return-type "none")
+   (parameters
+     '("const-GOptionEntry*" "entries")
+     '("const-gchar*" "translation_domain")
+   )
+ )
+ 
+ (define-method parse
+   (of-object "GOptionContext")
+   (c-name "g_option_context_parse")
+   (return-type "gboolean")
+   (parameters
+     '("gint*" "argc")
+     '("gchar***" "argv")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-method parse_strv
+   (of-object "GOptionContext")
+   (c-name "g_option_context_parse_strv")
+   (return-type "gboolean")
+   (parameters
+     '("gchar***" "arguments")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-method set_translate_func
+   (of-object "GOptionContext")
+   (c-name "g_option_context_set_translate_func")
+   (return-type "none")
+   (parameters
+     '("GTranslateFunc" "func")
+     '("gpointer" "data")
+     '("GDestroyNotify" "destroy_notify")
+   )
+ )
+ 
+ (define-method set_translation_domain
+   (of-object "GOptionContext")
+   (c-name "g_option_context_set_translation_domain")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "domain")
+   )
+ )
+ 
+ (define-method add_group
+   (of-object "GOptionContext")
+   (c-name "g_option_context_add_group")
+   (return-type "none")
+   (parameters
+     '("GOptionGroup*" "group")
+   )
+ )
+ 
+ (define-method set_main_group
+   (of-object "GOptionContext")
+   (c-name "g_option_context_set_main_group")
+   (return-type "none")
+   (parameters
+     '("GOptionGroup*" "group")
+   )
+ )
+ 
+ (define-method get_main_group
+   (of-object "GOptionContext")
+   (c-name "g_option_context_get_main_group")
+   (return-type "GOptionGroup*")
+ )
+ 
+ (define-method get_help
+   (of-object "GOptionContext")
+   (c-name "g_option_context_get_help")
+   (return-type "gchar*")
+   (parameters
+     '("gboolean" "main_help")
+     '("GOptionGroup*" "group")
+   )
+ )
+ 
+ (define-function g_option_group_new
+   (c-name "g_option_group_new")
+   (is-constructor-of "GOptionGroup")
+   (return-type "GOptionGroup*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "description")
+     '("const-gchar*" "help_description")
+     '("gpointer" "user_data")
+     '("GDestroyNotify" "destroy")
+   )
+ )
+ 
+ (define-method set_parse_hooks
+   (of-object "GOptionGroup")
+   (c-name "g_option_group_set_parse_hooks")
+   (return-type "none")
+   (parameters
+     '("GOptionParseFunc" "pre_parse_func")
+     '("GOptionParseFunc" "post_parse_func")
+   )
+ )
+ 
+ (define-method set_error_hook
+   (of-object "GOptionGroup")
+   (c-name "g_option_group_set_error_hook")
+   (return-type "none")
+   (parameters
+     '("GOptionErrorFunc" "error_func")
+   )
+ )
+ 
+ (define-method free
+   (of-object "GOptionGroup")
+   (c-name "g_option_group_free")
+   (return-type "none")
+ )
+ 
+ (define-method ref
+   (of-object "GOptionGroup")
+   (c-name "g_option_group_ref")
+   (return-type "GOptionGroup*")
+ )
+ 
+ (define-method unref
+   (of-object "GOptionGroup")
+   (c-name "g_option_group_unref")
+   (return-type "none")
+ )
+ 
+ (define-method add_entries
+   (of-object "GOptionGroup")
+   (c-name "g_option_group_add_entries")
+   (return-type "none")
+   (parameters
+     '("const-GOptionEntry*" "entries")
+   )
+ )
+ 
+ (define-method set_translate_func
+   (of-object "GOptionGroup")
+   (c-name "g_option_group_set_translate_func")
+   (return-type "none")
+   (parameters
+     '("GTranslateFunc" "func")
+     '("gpointer" "data")
+     '("GDestroyNotify" "destroy_notify")
+   )
+ )
+ 
+ (define-method set_translation_domain
+   (of-object "GOptionGroup")
+   (c-name "g_option_group_set_translation_domain")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "domain")
+   )
+ )
+ 
+ 
+ 
+ ;; From gpattern.h
+ 
+ (define-function g_pattern_spec_new
+   (c-name "g_pattern_spec_new")
+   (is-constructor-of "GPatternSpec")
+   (return-type "GPatternSpec*")
+   (parameters
+     '("const-gchar*" "pattern")
+   )
+ )
+ 
+ (define-method free
+   (of-object "GPatternSpec")
+   (c-name "g_pattern_spec_free")
+   (return-type "none")
+ )
+ 
+ (define-method equal
+   (of-object "GPatternSpec")
+   (c-name "g_pattern_spec_equal")
+   (return-type "gboolean")
+   (parameters
+     '("GPatternSpec*" "pspec2")
+   )
+ )
+ 
+ (define-function g_pattern_match
+   (c-name "g_pattern_match")
+   (return-type "gboolean")
+   (parameters
+     '("GPatternSpec*" "pspec")
+     '("guint" "string_length")
+     '("const-gchar*" "string")
+     '("const-gchar*" "string_reversed")
+   )
+ )
+ 
+ (define-function g_pattern_match_string
+   (c-name "g_pattern_match_string")
+   (return-type "gboolean")
+   (parameters
+     '("GPatternSpec*" "pspec")
+     '("const-gchar*" "string")
+   )
+ )
+ 
+ (define-function g_pattern_match_simple
+   (c-name "g_pattern_match_simple")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "pattern")
+     '("const-gchar*" "string")
+   )
+ )
+ 
+ 
+ 
+ ;; From gpoll.h
+ 
+ (define-function g_poll
+   (c-name "g_poll")
+   (return-type "gint")
+   (parameters
+     '("GPollFD*" "fds")
+     '("guint" "nfds")
+     '("gint" "timeout")
+   )
+ )
+ 
+ 
+ 
+ ;; From gprimes.h
+ 
+ (define-function g_spaced_primes_closest
+   (c-name "g_spaced_primes_closest")
+   (return-type "guint")
+   (parameters
+     '("guint" "num")
+   )
+ )
+ 
+ 
+ 
+ ;; From gprintf.h
+ 
+ (define-function g_printf
+   (c-name "g_printf")
+   (return-type "gint")
+   (parameters
+     '("gchar-const*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_fprintf
+   (c-name "g_fprintf")
+   (return-type "gint")
+   (parameters
+     '("FILE*" "file")
+     '("gchar-const*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_sprintf
+   (c-name "g_sprintf")
+   (return-type "gint")
+   (parameters
+     '("gchar*" "string")
+     '("gchar-const*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_vprintf
+   (c-name "g_vprintf")
+   (return-type "gint")
+   (parameters
+     '("gchar-const*" "format")
+     '("va_list" "args")
+   )
+ )
+ 
+ (define-function g_vfprintf
+   (c-name "g_vfprintf")
+   (return-type "gint")
+   (parameters
+     '("FILE*" "file")
+     '("gchar-const*" "format")
+     '("va_list" "args")
+   )
+ )
+ 
+ (define-function g_vsprintf
+   (c-name "g_vsprintf")
+   (return-type "gint")
+   (parameters
+     '("gchar*" "string")
+     '("gchar-const*" "format")
+     '("va_list" "args")
+   )
+ )
+ 
+ (define-function g_vasprintf
+   (c-name "g_vasprintf")
+   (return-type "gint")
+   (parameters
+     '("gchar**" "string")
+     '("gchar-const*" "format")
+     '("va_list" "args")
+   )
+ )
+ 
+ 
+ 
+ ;; From gprintfint.h
+ 
+ 
+ 
+ ;; From gqsort.h
+ 
+ (define-function g_qsort_with_data
+   (c-name "g_qsort_with_data")
+   (return-type "none")
+   (parameters
+     '("gconstpointer" "pbase")
+     '("gint" "total_elems")
+     '("gsize" "size")
+     '("GCompareDataFunc" "compare_func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ 
+ 
+ ;; From gquark.h
+ 
+ (define-function g_quark_try_string
+   (c-name "g_quark_try_string")
+   (return-type "GQuark")
+   (parameters
+     '("const-gchar*" "string")
+   )
+ )
+ 
+ (define-function g_quark_from_static_string
+   (c-name "g_quark_from_static_string")
+   (return-type "GQuark")
+   (parameters
+     '("const-gchar*" "string")
+   )
+ )
+ 
+ (define-function g_quark_from_string
+   (c-name "g_quark_from_string")
+   (return-type "GQuark")
+   (parameters
+     '("const-gchar*" "string")
+   )
+ )
+ 
+ (define-method to_string
+   (of-object "GQuark")
+   (c-name "g_quark_to_string")
+   (return-type "const-gchar*")
+ )
+ 
+ (define-function g_intern_string
+   (c-name "g_intern_string")
+   (return-type "const-gchar*")
+   (parameters
+     '("const-gchar*" "string")
+   )
+ )
+ 
+ (define-function g_intern_static_string
+   (c-name "g_intern_static_string")
+   (return-type "const-gchar*")
+   (parameters
+     '("const-gchar*" "string")
+   )
+ )
+ 
+ 
+ 
+ ;; From gqueue.h
+ 
+ (define-function g_queue_new
+   (c-name "g_queue_new")
+   (is-constructor-of "GQueue")
+   (return-type "GQueue*")
+ )
+ 
+ (define-method free
+   (of-object "GQueue")
+   (c-name "g_queue_free")
+   (return-type "none")
+ )
+ 
+ (define-method free_full
+   (of-object "GQueue")
+   (c-name "g_queue_free_full")
+   (return-type "none")
+   (parameters
+     '("GDestroyNotify" "free_func")
+   )
+ )
+ 
+ (define-method init
+   (of-object "GQueue")
+   (c-name "g_queue_init")
+   (return-type "none")
+ )
+ 
+ (define-method clear
+   (of-object "GQueue")
+   (c-name "g_queue_clear")
+   (return-type "none")
+ )
+ 
+ (define-method is_empty
+   (of-object "GQueue")
+   (c-name "g_queue_is_empty")
+   (return-type "gboolean")
+ )
+ 
+ (define-method get_length
+   (of-object "GQueue")
+   (c-name "g_queue_get_length")
+   (return-type "guint")
+ )
+ 
+ (define-method reverse
+   (of-object "GQueue")
+   (c-name "g_queue_reverse")
+   (return-type "none")
+ )
+ 
+ (define-method copy
+   (of-object "GQueue")
+   (c-name "g_queue_copy")
+   (return-type "GQueue*")
+ )
+ 
+ (define-method foreach
+   (of-object "GQueue")
+   (c-name "g_queue_foreach")
+   (return-type "none")
+   (parameters
+     '("GFunc" "func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-method find
+   (of-object "GQueue")
+   (c-name "g_queue_find")
+   (return-type "GList*")
+   (parameters
+     '("gconstpointer" "data")
+   )
+ )
+ 
+ (define-method find_custom
+   (of-object "GQueue")
+   (c-name "g_queue_find_custom")
+   (return-type "GList*")
+   (parameters
+     '("gconstpointer" "data")
+     '("GCompareFunc" "func")
+   )
+ )
+ 
+ (define-method sort
+   (of-object "GQueue")
+   (c-name "g_queue_sort")
+   (return-type "none")
+   (parameters
+     '("GCompareDataFunc" "compare_func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-method push_head
+   (of-object "GQueue")
+   (c-name "g_queue_push_head")
+   (return-type "none")
+   (parameters
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method push_tail
+   (of-object "GQueue")
+   (c-name "g_queue_push_tail")
+   (return-type "none")
+   (parameters
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method push_nth
+   (of-object "GQueue")
+   (c-name "g_queue_push_nth")
+   (return-type "none")
+   (parameters
+     '("gpointer" "data")
+     '("gint" "n")
+   )
+ )
+ 
+ (define-method pop_head
+   (of-object "GQueue")
+   (c-name "g_queue_pop_head")
+   (return-type "gpointer")
+ )
+ 
+ (define-method pop_tail
+   (of-object "GQueue")
+   (c-name "g_queue_pop_tail")
+   (return-type "gpointer")
+ )
+ 
+ (define-method pop_nth
+   (of-object "GQueue")
+   (c-name "g_queue_pop_nth")
+   (return-type "gpointer")
+   (parameters
+     '("guint" "n")
+   )
+ )
+ 
+ (define-method peek_head
+   (of-object "GQueue")
+   (c-name "g_queue_peek_head")
+   (return-type "gpointer")
+ )
+ 
+ (define-method peek_tail
+   (of-object "GQueue")
+   (c-name "g_queue_peek_tail")
+   (return-type "gpointer")
+ )
+ 
+ (define-method peek_nth
+   (of-object "GQueue")
+   (c-name "g_queue_peek_nth")
+   (return-type "gpointer")
+   (parameters
+     '("guint" "n")
+   )
+ )
+ 
+ (define-method index
+   (of-object "GQueue")
+   (c-name "g_queue_index")
+   (return-type "gint")
+   (parameters
+     '("gconstpointer" "data")
+   )
+ )
+ 
+ (define-method remove
+   (of-object "GQueue")
+   (c-name "g_queue_remove")
+   (return-type "gboolean")
+   (parameters
+     '("gconstpointer" "data")
+   )
+ )
+ 
+ (define-method remove_all
+   (of-object "GQueue")
+   (c-name "g_queue_remove_all")
+   (return-type "guint")
+   (parameters
+     '("gconstpointer" "data")
+   )
+ )
+ 
+ (define-method insert_before
+   (of-object "GQueue")
+   (c-name "g_queue_insert_before")
+   (return-type "none")
+   (parameters
+     '("GList*" "sibling")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method insert_after
+   (of-object "GQueue")
+   (c-name "g_queue_insert_after")
+   (return-type "none")
+   (parameters
+     '("GList*" "sibling")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method insert_sorted
+   (of-object "GQueue")
+   (c-name "g_queue_insert_sorted")
+   (return-type "none")
+   (parameters
+     '("gpointer" "data")
+     '("GCompareDataFunc" "func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-method push_head_link
+   (of-object "GQueue")
+   (c-name "g_queue_push_head_link")
+   (return-type "none")
+   (parameters
+     '("GList*" "link_")
+   )
+ )
+ 
+ (define-method push_tail_link
+   (of-object "GQueue")
+   (c-name "g_queue_push_tail_link")
+   (return-type "none")
+   (parameters
+     '("GList*" "link_")
+   )
+ )
+ 
+ (define-method push_nth_link
+   (of-object "GQueue")
+   (c-name "g_queue_push_nth_link")
+   (return-type "none")
+   (parameters
+     '("gint" "n")
+     '("GList*" "link_")
+   )
+ )
+ 
+ (define-method pop_head_link
+   (of-object "GQueue")
+   (c-name "g_queue_pop_head_link")
+   (return-type "GList*")
+ )
+ 
+ (define-method pop_tail_link
+   (of-object "GQueue")
+   (c-name "g_queue_pop_tail_link")
+   (return-type "GList*")
+ )
+ 
+ (define-method pop_nth_link
+   (of-object "GQueue")
+   (c-name "g_queue_pop_nth_link")
+   (return-type "GList*")
+   (parameters
+     '("guint" "n")
+   )
+ )
+ 
+ (define-method peek_head_link
+   (of-object "GQueue")
+   (c-name "g_queue_peek_head_link")
+   (return-type "GList*")
+ )
+ 
+ (define-method peek_tail_link
+   (of-object "GQueue")
+   (c-name "g_queue_peek_tail_link")
+   (return-type "GList*")
+ )
+ 
+ (define-method peek_nth_link
+   (of-object "GQueue")
+   (c-name "g_queue_peek_nth_link")
+   (return-type "GList*")
+   (parameters
+     '("guint" "n")
+   )
+ )
+ 
+ (define-method link_index
+   (of-object "GQueue")
+   (c-name "g_queue_link_index")
+   (return-type "gint")
+   (parameters
+     '("GList*" "link_")
+   )
+ )
+ 
+ (define-method unlink
+   (of-object "GQueue")
+   (c-name "g_queue_unlink")
+   (return-type "none")
+   (parameters
+     '("GList*" "link_")
+   )
+ )
+ 
+ (define-method delete_link
+   (of-object "GQueue")
+   (c-name "g_queue_delete_link")
+   (return-type "none")
+   (parameters
+     '("GList*" "link_")
+   )
+ )
+ 
+ 
+ 
+ ;; From grand.h
+ 
+ (define-function g_rand_new_with_seed
+   (c-name "g_rand_new_with_seed")
+   (return-type "GRand*")
+   (parameters
+     '("guint32" "seed")
+   )
+ )
+ 
+ (define-function g_rand_new_with_seed_array
+   (c-name "g_rand_new_with_seed_array")
+   (return-type "GRand*")
+   (parameters
+     '("const-guint32*" "seed")
+     '("guint" "seed_length")
+   )
+ )
+ 
+ (define-function g_rand_new
+   (c-name "g_rand_new")
+   (is-constructor-of "GRand")
+   (return-type "GRand*")
+ )
+ 
+ (define-method free
+   (of-object "GRand")
+   (c-name "g_rand_free")
+   (return-type "none")
+ )
+ 
+ (define-method copy
+   (of-object "GRand")
+   (c-name "g_rand_copy")
+   (return-type "GRand*")
+ )
+ 
+ (define-method set_seed
+   (of-object "GRand")
+   (c-name "g_rand_set_seed")
+   (return-type "none")
+   (parameters
+     '("guint32" "seed")
+   )
+ )
+ 
+ (define-method set_seed_array
+   (of-object "GRand")
+   (c-name "g_rand_set_seed_array")
+   (return-type "none")
+   (parameters
+     '("const-guint32*" "seed")
+     '("guint" "seed_length")
+   )
+ )
+ 
+ (define-method int
+   (of-object "GRand")
+   (c-name "g_rand_int")
+   (return-type "guint32")
+ )
+ 
+ (define-method int_range
+   (of-object "GRand")
+   (c-name "g_rand_int_range")
+   (return-type "gint32")
+   (parameters
+     '("gint32" "begin")
+     '("gint32" "end")
+   )
+ )
+ 
+ (define-method double
+   (of-object "GRand")
+   (c-name "g_rand_double")
+   (return-type "gdouble")
+ )
+ 
+ (define-method double_range
+   (of-object "GRand")
+   (c-name "g_rand_double_range")
+   (return-type "gdouble")
+   (parameters
+     '("gdouble" "begin")
+     '("gdouble" "end")
+   )
+ )
+ 
+ (define-function g_random_set_seed
+   (c-name "g_random_set_seed")
+   (return-type "none")
+   (parameters
+     '("guint32" "seed")
+   )
+ )
+ 
+ (define-function g_random_int
+   (c-name "g_random_int")
+   (return-type "guint32")
+ )
+ 
+ (define-function g_random_int_range
+   (c-name "g_random_int_range")
+   (return-type "gint32")
+   (parameters
+     '("gint32" "begin")
+     '("gint32" "end")
+   )
+ )
+ 
+ (define-function g_random_double
+   (c-name "g_random_double")
+   (return-type "gdouble")
+ )
+ 
+ (define-function g_random_double_range
+   (c-name "g_random_double_range")
+   (return-type "gdouble")
+   (parameters
+     '("gdouble" "begin")
+     '("gdouble" "end")
+   )
+ )
+ 
+ 
+ 
+ ;; From gregex.h
+ 
+ (define-function g_regex_error_quark
+   (c-name "g_regex_error_quark")
+   (return-type "GQuark")
+ )
+ 
+ (define-function g_regex_new
+   (c-name "g_regex_new")
+   (is-constructor-of "GRegex")
+   (return-type "GRegex*")
+   (parameters
+     '("const-gchar*" "pattern")
+     '("GRegexCompileFlags" "compile_options")
+     '("GRegexMatchFlags" "match_options")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-method ref
+   (of-object "GRegex")
+   (c-name "g_regex_ref")
+   (return-type "GRegex*")
+ )
+ 
+ (define-method unref
+   (of-object "GRegex")
+   (c-name "g_regex_unref")
+   (return-type "none")
+ )
+ 
+ (define-method get_pattern
+   (of-object "GRegex")
+   (c-name "g_regex_get_pattern")
+   (return-type "const-gchar*")
+ )
+ 
+ (define-method get_max_backref
+   (of-object "GRegex")
+   (c-name "g_regex_get_max_backref")
+   (return-type "gint")
+ )
+ 
+ (define-method get_capture_count
+   (of-object "GRegex")
+   (c-name "g_regex_get_capture_count")
+   (return-type "gint")
+ )
+ 
+ (define-method get_has_cr_or_lf
+   (of-object "GRegex")
+   (c-name "g_regex_get_has_cr_or_lf")
+   (return-type "gboolean")
+ )
+ 
+ (define-method get_max_lookbehind
+   (of-object "GRegex")
+   (c-name "g_regex_get_max_lookbehind")
+   (return-type "gint")
+ )
+ 
+ (define-method get_string_number
+   (of-object "GRegex")
+   (c-name "g_regex_get_string_number")
+   (return-type "gint")
+   (parameters
+     '("const-gchar*" "name")
+   )
+ )
+ 
+ (define-function g_regex_escape_string
+   (c-name "g_regex_escape_string")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "string")
+     '("gint" "length")
+   )
+ )
+ 
+ (define-function g_regex_escape_nul
+   (c-name "g_regex_escape_nul")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "string")
+     '("gint" "length")
+   )
+ )
+ 
+ (define-method get_compile_flags
+   (of-object "GRegex")
+   (c-name "g_regex_get_compile_flags")
+   (return-type "GRegexCompileFlags")
+ )
+ 
+ (define-method get_match_flags
+   (of-object "GRegex")
+   (c-name "g_regex_get_match_flags")
+   (return-type "GRegexMatchFlags")
+ )
+ 
+ (define-function g_regex_match_simple
+   (c-name "g_regex_match_simple")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "pattern")
+     '("const-gchar*" "string")
+     '("GRegexCompileFlags" "compile_options")
+     '("GRegexMatchFlags" "match_options")
+   )
+ )
+ 
+ (define-method match
+   (of-object "GRegex")
+   (c-name "g_regex_match")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "string")
+     '("GRegexMatchFlags" "match_options")
+     '("GMatchInfo**" "match_info")
+   )
+ )
+ 
+ (define-method match_full
+   (of-object "GRegex")
+   (c-name "g_regex_match_full")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "string")
+     '("gssize" "string_len")
+     '("gint" "start_position")
+     '("GRegexMatchFlags" "match_options")
+     '("GMatchInfo**" "match_info")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-method match_all
+   (of-object "GRegex")
+   (c-name "g_regex_match_all")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "string")
+     '("GRegexMatchFlags" "match_options")
+     '("GMatchInfo**" "match_info")
+   )
+ )
+ 
+ (define-method match_all_full
+   (of-object "GRegex")
+   (c-name "g_regex_match_all_full")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "string")
+     '("gssize" "string_len")
+     '("gint" "start_position")
+     '("GRegexMatchFlags" "match_options")
+     '("GMatchInfo**" "match_info")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-function g_regex_split_simple
+   (c-name "g_regex_split_simple")
+   (return-type "gchar**")
+   (parameters
+     '("const-gchar*" "pattern")
+     '("const-gchar*" "string")
+     '("GRegexCompileFlags" "compile_options")
+     '("GRegexMatchFlags" "match_options")
+   )
+ )
+ 
+ (define-method split
+   (of-object "GRegex")
+   (c-name "g_regex_split")
+   (return-type "gchar**")
+   (parameters
+     '("const-gchar*" "string")
+     '("GRegexMatchFlags" "match_options")
+   )
+ )
+ 
+ (define-method split_full
+   (of-object "GRegex")
+   (c-name "g_regex_split_full")
+   (return-type "gchar**")
+   (parameters
+     '("const-gchar*" "string")
+     '("gssize" "string_len")
+     '("gint" "start_position")
+     '("GRegexMatchFlags" "match_options")
+     '("gint" "max_tokens")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-method replace
+   (of-object "GRegex")
+   (c-name "g_regex_replace")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "string")
+     '("gssize" "string_len")
+     '("gint" "start_position")
+     '("const-gchar*" "replacement")
+     '("GRegexMatchFlags" "match_options")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-method replace_literal
+   (of-object "GRegex")
+   (c-name "g_regex_replace_literal")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "string")
+     '("gssize" "string_len")
+     '("gint" "start_position")
+     '("const-gchar*" "replacement")
+     '("GRegexMatchFlags" "match_options")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-method replace_eval
+   (of-object "GRegex")
+   (c-name "g_regex_replace_eval")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "string")
+     '("gssize" "string_len")
+     '("gint" "start_position")
+     '("GRegexMatchFlags" "match_options")
+     '("GRegexEvalCallback" "eval")
+     '("gpointer" "user_data")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-function g_regex_check_replacement
+   (c-name "g_regex_check_replacement")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "replacement")
+     '("gboolean*" "has_references")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-method get_regex
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_get_regex")
+   (return-type "GRegex*")
+ )
+ 
+ (define-method get_string
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_get_string")
+   (return-type "const-gchar*")
+ )
+ 
+ (define-method ref
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_ref")
+   (return-type "GMatchInfo*")
+ )
+ 
+ (define-method unref
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_unref")
+   (return-type "none")
+ )
+ 
+ (define-method free
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_free")
+   (return-type "none")
+ )
+ 
+ (define-method next
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_next")
+   (return-type "gboolean")
+   (parameters
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-method matches
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_matches")
+   (return-type "gboolean")
+ )
+ 
+ (define-method get_match_count
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_get_match_count")
+   (return-type "gint")
+ )
+ 
+ (define-method is_partial_match
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_is_partial_match")
+   (return-type "gboolean")
+ )
+ 
+ (define-method expand_references
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_expand_references")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "string_to_expand")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-method fetch
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_fetch")
+   (return-type "gchar*")
+   (parameters
+     '("gint" "match_num")
+   )
+ )
+ 
+ (define-method fetch_pos
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_fetch_pos")
+   (return-type "gboolean")
+   (parameters
+     '("gint" "match_num")
+     '("gint*" "start_pos")
+     '("gint*" "end_pos")
+   )
+ )
+ 
+ (define-method fetch_named
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_fetch_named")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "name")
+   )
+ )
+ 
+ (define-method fetch_named_pos
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_fetch_named_pos")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "name")
+     '("gint*" "start_pos")
+     '("gint*" "end_pos")
+   )
+ )
+ 
+ (define-method fetch_all
+   (of-object "GMatchInfo")
+   (c-name "g_match_info_fetch_all")
+   (return-type "gchar**")
+ )
+ 
+ 
+ 
+ ;; From gscanner.h
+ 
+ (define-function g_scanner_new
+   (c-name "g_scanner_new")
+   (is-constructor-of "GScanner")
+   (return-type "GScanner*")
+   (parameters
+     '("const-GScannerConfig*" "config_templ")
+   )
+ )
+ 
+ (define-method destroy
+   (of-object "GScanner")
+   (c-name "g_scanner_destroy")
+   (return-type "none")
+ )
+ 
+ (define-method input_file
+   (of-object "GScanner")
+   (c-name "g_scanner_input_file")
+   (return-type "none")
+   (parameters
+     '("gint" "input_fd")
+   )
+ )
+ 
+ (define-method sync_file_offset
+   (of-object "GScanner")
+   (c-name "g_scanner_sync_file_offset")
+   (return-type "none")
+ )
+ 
+ (define-method input_text
+   (of-object "GScanner")
+   (c-name "g_scanner_input_text")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "text")
+     '("guint" "text_len")
+   )
+ )
+ 
+ (define-method get_next_token
+   (of-object "GScanner")
+   (c-name "g_scanner_get_next_token")
+   (return-type "GTokenType")
+ )
+ 
+ (define-method peek_next_token
+   (of-object "GScanner")
+   (c-name "g_scanner_peek_next_token")
+   (return-type "GTokenType")
+ )
+ 
+ (define-method cur_token
+   (of-object "GScanner")
+   (c-name "g_scanner_cur_token")
+   (return-type "GTokenType")
+ )
+ 
+ (define-method cur_value
+   (of-object "GScanner")
+   (c-name "g_scanner_cur_value")
+   (return-type "GTokenValue")
+ )
+ 
+ (define-method cur_line
+   (of-object "GScanner")
+   (c-name "g_scanner_cur_line")
+   (return-type "guint")
+ )
+ 
+ (define-method cur_position
+   (of-object "GScanner")
+   (c-name "g_scanner_cur_position")
+   (return-type "guint")
+ )
+ 
+ (define-method eof
+   (of-object "GScanner")
+   (c-name "g_scanner_eof")
+   (return-type "gboolean")
+ )
+ 
+ (define-method set_scope
+   (of-object "GScanner")
+   (c-name "g_scanner_set_scope")
+   (return-type "guint")
+   (parameters
+     '("guint" "scope_id")
+   )
+ )
+ 
+ (define-method scope_add_symbol
+   (of-object "GScanner")
+   (c-name "g_scanner_scope_add_symbol")
+   (return-type "none")
+   (parameters
+     '("guint" "scope_id")
+     '("const-gchar*" "symbol")
+     '("gpointer" "value")
+   )
+ )
+ 
+ (define-method scope_remove_symbol
+   (of-object "GScanner")
+   (c-name "g_scanner_scope_remove_symbol")
+   (return-type "none")
+   (parameters
+     '("guint" "scope_id")
+     '("const-gchar*" "symbol")
+   )
+ )
+ 
+ (define-method scope_lookup_symbol
+   (of-object "GScanner")
+   (c-name "g_scanner_scope_lookup_symbol")
+   (return-type "gpointer")
+   (parameters
+     '("guint" "scope_id")
+     '("const-gchar*" "symbol")
+   )
+ )
+ 
+ (define-method scope_foreach_symbol
+   (of-object "GScanner")
+   (c-name "g_scanner_scope_foreach_symbol")
+   (return-type "none")
+   (parameters
+     '("guint" "scope_id")
+     '("GHFunc" "func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-method lookup_symbol
+   (of-object "GScanner")
+   (c-name "g_scanner_lookup_symbol")
+   (return-type "gpointer")
+   (parameters
+     '("const-gchar*" "symbol")
+   )
+ )
+ 
+ (define-method unexp_token
+   (of-object "GScanner")
+   (c-name "g_scanner_unexp_token")
+   (return-type "none")
+   (parameters
+     '("GTokenType" "expected_token")
+     '("const-gchar*" "identifier_spec")
+     '("const-gchar*" "symbol_spec")
+     '("const-gchar*" "symbol_name")
+     '("const-gchar*" "message")
+     '("gint" "is_error")
+   )
+ )
+ 
+ (define-method error
+   (of-object "GScanner")
+   (c-name "g_scanner_error")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-method warn
+   (of-object "GScanner")
+   (c-name "g_scanner_warn")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ 
+ 
+ ;; From gscripttable.h
+ 
+ 
+ 
+ ;; From gsequence.h
+ 
+ (define-function g_sequence_new
+   (c-name "g_sequence_new")
+   (is-constructor-of "GSequence")
+   (return-type "GSequence*")
+   (parameters
+     '("GDestroyNotify" "data_destroy")
+   )
+ )
+ 
+ (define-method free
+   (of-object "GSequence")
+   (c-name "g_sequence_free")
+   (return-type "none")
+ )
+ 
+ (define-method get_length
+   (of-object "GSequence")
+   (c-name "g_sequence_get_length")
+   (return-type "gint")
+ )
+ 
+ (define-method foreach
+   (of-object "GSequence")
+   (c-name "g_sequence_foreach")
+   (return-type "none")
+   (parameters
+     '("GFunc" "func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-function g_sequence_foreach_range
+   (c-name "g_sequence_foreach_range")
+   (return-type "none")
+   (parameters
+     '("GSequenceIter*" "begin")
+     '("GSequenceIter*" "end")
+     '("GFunc" "func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-method sort
+   (of-object "GSequence")
+   (c-name "g_sequence_sort")
+   (return-type "none")
+   (parameters
+     '("GCompareDataFunc" "cmp_func")
+     '("gpointer" "cmp_data")
+   )
+ )
+ 
+ (define-method sort_iter
+   (of-object "GSequence")
+   (c-name "g_sequence_sort_iter")
+   (return-type "none")
+   (parameters
+     '("GSequenceIterCompareFunc" "cmp_func")
+     '("gpointer" "cmp_data")
+   )
+ )
+ 
+ (define-method get_begin_iter
+   (of-object "GSequence")
+   (c-name "g_sequence_get_begin_iter")
+   (return-type "GSequenceIter*")
+ )
+ 
+ (define-method get_end_iter
+   (of-object "GSequence")
+   (c-name "g_sequence_get_end_iter")
+   (return-type "GSequenceIter*")
+ )
+ 
+ (define-method get_iter_at_pos
+   (of-object "GSequence")
+   (c-name "g_sequence_get_iter_at_pos")
+   (return-type "GSequenceIter*")
+   (parameters
+     '("gint" "pos")
+   )
+ )
+ 
+ (define-method append
+   (of-object "GSequence")
+   (c-name "g_sequence_append")
+   (return-type "GSequenceIter*")
+   (parameters
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method prepend
+   (of-object "GSequence")
+   (c-name "g_sequence_prepend")
+   (return-type "GSequenceIter*")
+   (parameters
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-function g_sequence_insert_before
+   (c-name "g_sequence_insert_before")
+   (return-type "GSequenceIter*")
+   (parameters
+     '("GSequenceIter*" "iter")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-function g_sequence_move
+   (c-name "g_sequence_move")
+   (return-type "none")
+   (parameters
+     '("GSequenceIter*" "src")
+     '("GSequenceIter*" "dest")
+   )
+ )
+ 
+ (define-function g_sequence_swap
+   (c-name "g_sequence_swap")
+   (return-type "none")
+   (parameters
+     '("GSequenceIter*" "a")
+     '("GSequenceIter*" "b")
+   )
+ )
+ 
+ (define-method insert_sorted
+   (of-object "GSequence")
+   (c-name "g_sequence_insert_sorted")
+   (return-type "GSequenceIter*")
+   (parameters
+     '("gpointer" "data")
+     '("GCompareDataFunc" "cmp_func")
+     '("gpointer" "cmp_data")
+   )
+ )
+ 
+ (define-method insert_sorted_iter
+   (of-object "GSequence")
+   (c-name "g_sequence_insert_sorted_iter")
+   (return-type "GSequenceIter*")
+   (parameters
+     '("gpointer" "data")
+     '("GSequenceIterCompareFunc" "iter_cmp")
+     '("gpointer" "cmp_data")
+   )
+ )
+ 
+ (define-function g_sequence_sort_changed
+   (c-name "g_sequence_sort_changed")
+   (return-type "none")
+   (parameters
+     '("GSequenceIter*" "iter")
+     '("GCompareDataFunc" "cmp_func")
+     '("gpointer" "cmp_data")
+   )
+ )
+ 
+ (define-function g_sequence_sort_changed_iter
+   (c-name "g_sequence_sort_changed_iter")
+   (return-type "none")
+   (parameters
+     '("GSequenceIter*" "iter")
+     '("GSequenceIterCompareFunc" "iter_cmp")
+     '("gpointer" "cmp_data")
+   )
+ )
+ 
+ (define-function g_sequence_remove
+   (c-name "g_sequence_remove")
+   (return-type "none")
+   (parameters
+     '("GSequenceIter*" "iter")
+   )
+ )
+ 
+ (define-function g_sequence_remove_range
+   (c-name "g_sequence_remove_range")
+   (return-type "none")
+   (parameters
+     '("GSequenceIter*" "begin")
+     '("GSequenceIter*" "end")
+   )
+ )
+ 
+ (define-function g_sequence_move_range
+   (c-name "g_sequence_move_range")
+   (return-type "none")
+   (parameters
+     '("GSequenceIter*" "dest")
+     '("GSequenceIter*" "begin")
+     '("GSequenceIter*" "end")
+   )
+ )
+ 
+ (define-method search
+   (of-object "GSequence")
+   (c-name "g_sequence_search")
+   (return-type "GSequenceIter*")
+   (parameters
+     '("gpointer" "data")
+     '("GCompareDataFunc" "cmp_func")
+     '("gpointer" "cmp_data")
+   )
+ )
+ 
+ (define-method search_iter
+   (of-object "GSequence")
+   (c-name "g_sequence_search_iter")
+   (return-type "GSequenceIter*")
+   (parameters
+     '("gpointer" "data")
+     '("GSequenceIterCompareFunc" "iter_cmp")
+     '("gpointer" "cmp_data")
+   )
+ )
+ 
+ (define-method lookup
+   (of-object "GSequence")
+   (c-name "g_sequence_lookup")
+   (return-type "GSequenceIter*")
+   (parameters
+     '("gpointer" "data")
+     '("GCompareDataFunc" "cmp_func")
+     '("gpointer" "cmp_data")
+   )
+ )
+ 
+ (define-method lookup_iter
+   (of-object "GSequence")
+   (c-name "g_sequence_lookup_iter")
+   (return-type "GSequenceIter*")
+   (parameters
+     '("gpointer" "data")
+     '("GSequenceIterCompareFunc" "iter_cmp")
+     '("gpointer" "cmp_data")
+   )
+ )
+ 
+ (define-function g_sequence_get
+   (c-name "g_sequence_get")
+   (return-type "gpointer")
+   (parameters
+     '("GSequenceIter*" "iter")
+   )
+ )
+ 
+ (define-function g_sequence_set
+   (c-name "g_sequence_set")
+   (return-type "none")
+   (parameters
+     '("GSequenceIter*" "iter")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method is_begin
+   (of-object "GSequenceIter")
+   (c-name "g_sequence_iter_is_begin")
+   (return-type "gboolean")
+ )
+ 
+ (define-method is_end
+   (of-object "GSequenceIter")
+   (c-name "g_sequence_iter_is_end")
+   (return-type "gboolean")
+ )
+ 
+ (define-method next
+   (of-object "GSequenceIter")
+   (c-name "g_sequence_iter_next")
+   (return-type "GSequenceIter*")
+ )
+ 
+ (define-method prev
+   (of-object "GSequenceIter")
+   (c-name "g_sequence_iter_prev")
+   (return-type "GSequenceIter*")
+ )
+ 
+ (define-method get_position
+   (of-object "GSequenceIter")
+   (c-name "g_sequence_iter_get_position")
+   (return-type "gint")
+ )
+ 
+ (define-method move
+   (of-object "GSequenceIter")
+   (c-name "g_sequence_iter_move")
+   (return-type "GSequenceIter*")
+   (parameters
+     '("gint" "delta")
+   )
+ )
+ 
+ (define-method get_sequence
+   (of-object "GSequenceIter")
+   (c-name "g_sequence_iter_get_sequence")
+   (return-type "GSequence*")
+ )
+ 
+ (define-method compare
+   (of-object "GSequenceIter")
+   (c-name "g_sequence_iter_compare")
+   (return-type "gint")
+   (parameters
+     '("GSequenceIter*" "b")
+   )
+ )
+ 
+ (define-function g_sequence_range_get_midpoint
+   (c-name "g_sequence_range_get_midpoint")
+   (return-type "GSequenceIter*")
+   (parameters
+     '("GSequenceIter*" "begin")
+     '("GSequenceIter*" "end")
+   )
+ )
+ 
+ 
+ 
+ ;; From gshell.h
+ 
+ (define-function g_shell_error_quark
+   (c-name "g_shell_error_quark")
+   (return-type "GQuark")
+ )
+ 
+ (define-function g_shell_quote
+   (c-name "g_shell_quote")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "unquoted_string")
+   )
+ )
+ 
+ (define-function g_shell_unquote
+   (c-name "g_shell_unquote")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "quoted_string")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-function g_shell_parse_argv
+   (c-name "g_shell_parse_argv")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "command_line")
+     '("gint*" "argcp")
+     '("gchar***" "argvp")
+     '("GError**" "error")
+   )
+ )
+ 
+ 
+ 
+ ;; From gslice.h
+ 
+ (define-function g_slice_alloc
+   (c-name "g_slice_alloc")
+   (return-type "gpointer")
+   (parameters
+     '("gsize" "block_size")
+   )
+ )
+ 
+ (define-function g_slice_alloc0
+   (c-name "g_slice_alloc0")
+   (return-type "gpointer")
+   (parameters
+     '("gsize" "block_size")
+   )
+ )
+ 
+ (define-function g_slice_copy
+   (c-name "g_slice_copy")
+   (return-type "gpointer")
+   (parameters
+     '("gsize" "block_size")
+     '("gconstpointer" "mem_block")
+   )
+ )
+ 
+ (define-function g_slice_free1
+   (c-name "g_slice_free1")
+   (return-type "none")
+   (parameters
+     '("gsize" "block_size")
+     '("gpointer" "mem_block")
+   )
+ )
+ 
+ (define-function g_slice_free_chain_with_offset
+   (c-name "g_slice_free_chain_with_offset")
+   (return-type "none")
+   (parameters
+     '("gsize" "block_size")
+     '("gpointer" "mem_chain")
+     '("gsize" "next_offset")
+   )
+ )
+ 
+ (define-function g_slice_set_config
+   (c-name "g_slice_set_config")
+   (return-type "none")
+   (parameters
+     '("GSliceConfig" "ckey")
+     '("gint64" "value")
+   )
+ )
+ 
+ (define-function g_slice_get_config
+   (c-name "g_slice_get_config")
+   (return-type "gint64")
+   (parameters
+     '("GSliceConfig" "ckey")
+   )
+ )
+ 
+ (define-function g_slice_get_config_state
+   (c-name "g_slice_get_config_state")
+   (return-type "gint64*")
+   (parameters
+     '("GSliceConfig" "ckey")
+     '("gint64" "address")
+     '("guint*" "n_values")
+   )
+ )
+ 
+ (define-function g_slice_debug_tree_statistics
+   (c-name "g_slice_debug_tree_statistics")
+   (return-type "none")
+ )
+ 
+ 
+ 
+ ;; From gslist.h
+ 
+ (define-function g_slist_alloc
+   (c-name "g_slist_alloc")
+   (return-type "GSList*")
+ )
+ 
+ (define-method free
+   (of-object "GSList")
+   (c-name "g_slist_free")
+   (return-type "none")
+ )
+ 
+ (define-method free_1
+   (of-object "GSList")
+   (c-name "g_slist_free_1")
+   (return-type "none")
+ )
+ 
+ (define-method free_full
+   (of-object "GSList")
+   (c-name "g_slist_free_full")
+   (return-type "none")
+   (parameters
+     '("GDestroyNotify" "free_func")
+   )
+ )
+ 
+ (define-method append
+   (of-object "GSList")
+   (c-name "g_slist_append")
+   (return-type "GSList*")
+   (parameters
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method prepend
+   (of-object "GSList")
+   (c-name "g_slist_prepend")
+   (return-type "GSList*")
+   (parameters
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method insert
+   (of-object "GSList")
+   (c-name "g_slist_insert")
+   (return-type "GSList*")
+   (parameters
+     '("gpointer" "data")
+     '("gint" "position")
+   )
+ )
+ 
+ (define-method insert_sorted
+   (of-object "GSList")
+   (c-name "g_slist_insert_sorted")
+   (return-type "GSList*")
+   (parameters
+     '("gpointer" "data")
+     '("GCompareFunc" "func")
+   )
+ )
+ 
+ (define-method insert_sorted_with_data
+   (of-object "GSList")
+   (c-name "g_slist_insert_sorted_with_data")
+   (return-type "GSList*")
+   (parameters
+     '("gpointer" "data")
+     '("GCompareDataFunc" "func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-method insert_before
+   (of-object "GSList")
+   (c-name "g_slist_insert_before")
+   (return-type "GSList*")
+   (parameters
+     '("GSList*" "sibling")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method concat
+   (of-object "GSList")
+   (c-name "g_slist_concat")
+   (return-type "GSList*")
+   (parameters
+     '("GSList*" "list2")
+   )
+ )
+ 
+ (define-method remove
+   (of-object "GSList")
+   (c-name "g_slist_remove")
+   (return-type "GSList*")
+   (parameters
+     '("gconstpointer" "data")
+   )
+ )
+ 
+ (define-method remove_all
+   (of-object "GSList")
+   (c-name "g_slist_remove_all")
+   (return-type "GSList*")
+   (parameters
+     '("gconstpointer" "data")
+   )
+ )
+ 
+ (define-method remove_link
+   (of-object "GSList")
+   (c-name "g_slist_remove_link")
+   (return-type "GSList*")
+   (parameters
+     '("GSList*" "link_")
+   )
+ )
+ 
+ (define-method delete_link
+   (of-object "GSList")
+   (c-name "g_slist_delete_link")
+   (return-type "GSList*")
+   (parameters
+     '("GSList*" "link_")
+   )
+ )
+ 
+ (define-method reverse
+   (of-object "GSList")
+   (c-name "g_slist_reverse")
+   (return-type "GSList*")
+ )
+ 
+ (define-method copy
+   (of-object "GSList")
+   (c-name "g_slist_copy")
+   (return-type "GSList*")
+ )
+ 
+ (define-method copy_deep
+   (of-object "GSList")
+   (c-name "g_slist_copy_deep")
+   (return-type "GSList*")
+   (parameters
+     '("GCopyFunc" "func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-method nth
+   (of-object "GSList")
+   (c-name "g_slist_nth")
+   (return-type "GSList*")
+   (parameters
+     '("guint" "n")
+   )
+ )
+ 
+ (define-method find
+   (of-object "GSList")
+   (c-name "g_slist_find")
+   (return-type "GSList*")
+   (parameters
+     '("gconstpointer" "data")
+   )
+ )
+ 
+ (define-method find_custom
+   (of-object "GSList")
+   (c-name "g_slist_find_custom")
+   (return-type "GSList*")
+   (parameters
+     '("gconstpointer" "data")
+     '("GCompareFunc" "func")
+   )
+ )
+ 
+ (define-method position
+   (of-object "GSList")
+   (c-name "g_slist_position")
+   (return-type "gint")
+   (parameters
+     '("GSList*" "llink")
+   )
+ )
+ 
+ (define-method index
+   (of-object "GSList")
+   (c-name "g_slist_index")
+   (return-type "gint")
+   (parameters
+     '("gconstpointer" "data")
+   )
+ )
+ 
+ (define-method last
+   (of-object "GSList")
+   (c-name "g_slist_last")
+   (return-type "GSList*")
+ )
+ 
+ (define-method length
+   (of-object "GSList")
+   (c-name "g_slist_length")
+   (return-type "guint")
+ )
+ 
+ (define-method foreach
+   (of-object "GSList")
+   (c-name "g_slist_foreach")
+   (return-type "none")
+   (parameters
+     '("GFunc" "func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-method sort
+   (of-object "GSList")
+   (c-name "g_slist_sort")
+   (return-type "GSList*")
+   (parameters
+     '("GCompareFunc" "compare_func")
+   )
+ )
+ 
+ (define-method sort_with_data
+   (of-object "GSList")
+   (c-name "g_slist_sort_with_data")
+   (return-type "GSList*")
+   (parameters
+     '("GCompareDataFunc" "compare_func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-method nth_data
+   (of-object "GSList")
+   (c-name "g_slist_nth_data")
+   (return-type "gpointer")
+   (parameters
+     '("guint" "n")
+   )
+ )
+ 
+ 
+ 
+ ;; From gspawn.h
+ 
+ (define-function g_spawn_error_quark
+   (c-name "g_spawn_error_quark")
+   (return-type "GQuark")
+ )
+ 
+ (define-function g_spawn_exit_error_quark
+   (c-name "g_spawn_exit_error_quark")
+   (return-type "GQuark")
+ )
+ 
+ (define-function g_spawn_async
+   (c-name "g_spawn_async")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "working_directory")
+     '("gchar**" "argv")
+     '("gchar**" "envp")
+     '("GSpawnFlags" "flags")
+     '("GSpawnChildSetupFunc" "child_setup")
+     '("gpointer" "user_data")
+     '("GPid*" "child_pid")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-function g_spawn_async_with_pipes
+   (c-name "g_spawn_async_with_pipes")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "working_directory")
+     '("gchar**" "argv")
+     '("gchar**" "envp")
+     '("GSpawnFlags" "flags")
+     '("GSpawnChildSetupFunc" "child_setup")
+     '("gpointer" "user_data")
+     '("GPid*" "child_pid")
+     '("gint*" "standard_input")
+     '("gint*" "standard_output")
+     '("gint*" "standard_error")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-function g_spawn_sync
+   (c-name "g_spawn_sync")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "working_directory")
+     '("gchar**" "argv")
+     '("gchar**" "envp")
+     '("GSpawnFlags" "flags")
+     '("GSpawnChildSetupFunc" "child_setup")
+     '("gpointer" "user_data")
+     '("gchar**" "standard_output")
+     '("gchar**" "standard_error")
+     '("gint*" "exit_status")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-function g_spawn_command_line_sync
+   (c-name "g_spawn_command_line_sync")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "command_line")
+     '("gchar**" "standard_output")
+     '("gchar**" "standard_error")
+     '("gint*" "exit_status")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-function g_spawn_command_line_async
+   (c-name "g_spawn_command_line_async")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "command_line")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-function g_spawn_check_exit_status
+   (c-name "g_spawn_check_exit_status")
+   (return-type "gboolean")
+   (parameters
+     '("gint" "exit_status")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-function g_spawn_close_pid
+   (c-name "g_spawn_close_pid")
+   (return-type "none")
+   (parameters
+     '("GPid" "pid")
+   )
+ )
+ 
+ (define-function g_spawn_async_utf8
+   (c-name "g_spawn_async_utf8")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "working_directory")
+     '("gchar**" "argv")
+     '("gchar**" "envp")
+     '("GSpawnFlags" "flags")
+     '("GSpawnChildSetupFunc" "child_setup")
+     '("gpointer" "user_data")
+     '("GPid*" "child_pid")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-function g_spawn_async_with_pipes_utf8
+   (c-name "g_spawn_async_with_pipes_utf8")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "working_directory")
+     '("gchar**" "argv")
+     '("gchar**" "envp")
+     '("GSpawnFlags" "flags")
+     '("GSpawnChildSetupFunc" "child_setup")
+     '("gpointer" "user_data")
+     '("GPid*" "child_pid")
+     '("gint*" "standard_input")
+     '("gint*" "standard_output")
+     '("gint*" "standard_error")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-function g_spawn_sync_utf8
+   (c-name "g_spawn_sync_utf8")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "working_directory")
+     '("gchar**" "argv")
+     '("gchar**" "envp")
+     '("GSpawnFlags" "flags")
+     '("GSpawnChildSetupFunc" "child_setup")
+     '("gpointer" "user_data")
+     '("gchar**" "standard_output")
+     '("gchar**" "standard_error")
+     '("gint*" "exit_status")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-function g_spawn_command_line_sync_utf8
+   (c-name "g_spawn_command_line_sync_utf8")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "command_line")
+     '("gchar**" "standard_output")
+     '("gchar**" "standard_error")
+     '("gint*" "exit_status")
+     '("GError**" "error")
+   )
+ )
+ 
+ (define-function g_spawn_command_line_async_utf8
+   (c-name "g_spawn_command_line_async_utf8")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "command_line")
+     '("GError**" "error")
+   )
+ )
+ 
+ 
+ 
+ ;; From gstdio.h
+ 
+ (define-function g_access
+   (c-name "g_access")
+   (return-type "int")
+   (parameters
+     '("const-gchar*" "filename")
+     '("int" "mode")
+   )
+ )
+ 
+ (define-function g_chdir
+   (c-name "g_chdir")
+   (return-type "int")
+   (parameters
+     '("const-gchar*" "path")
+   )
+ )
+ 
+ (define-function g_unlink
+   (c-name "g_unlink")
+   (return-type "int")
+   (parameters
+     '("const-gchar*" "filename")
+   )
+ )
+ 
+ (define-function g_rmdir
+   (c-name "g_rmdir")
+   (return-type "int")
+   (parameters
+     '("const-gchar*" "filename")
+   )
+ )
+ 
+ (define-function g_chmod
+   (c-name "g_chmod")
+   (return-type "int")
+   (parameters
+     '("const-gchar*" "filename")
+     '("int" "mode")
+   )
+ )
+ 
+ (define-function g_open
+   (c-name "g_open")
+   (return-type "int")
+   (parameters
+     '("const-gchar*" "filename")
+     '("int" "flags")
+     '("int" "mode")
+   )
+ )
+ 
+ (define-function g_creat
+   (c-name "g_creat")
+   (return-type "int")
+   (parameters
+     '("const-gchar*" "filename")
+     '("int" "mode")
+   )
+ )
+ 
+ (define-function g_rename
+   (c-name "g_rename")
+   (return-type "int")
+   (parameters
+     '("const-gchar*" "oldfilename")
+     '("const-gchar*" "newfilename")
+   )
+ )
+ 
+ (define-function g_mkdir
+   (c-name "g_mkdir")
+   (return-type "int")
+   (parameters
+     '("const-gchar*" "filename")
+     '("int" "mode")
+   )
+ )
+ 
+ (define-function g_stat
+   (c-name "g_stat")
+   (return-type "int")
+   (parameters
+     '("const-gchar*" "filename")
+     '("GStatBuf*" "buf")
+   )
+ )
+ 
+ (define-function g_lstat
+   (c-name "g_lstat")
+   (return-type "int")
+   (parameters
+     '("const-gchar*" "filename")
+     '("GStatBuf*" "buf")
+   )
+ )
+ 
+ (define-function g_remove
+   (c-name "g_remove")
+   (return-type "int")
+   (parameters
+     '("const-gchar*" "filename")
+   )
+ )
+ 
+ (define-function g_fopen
+   (c-name "g_fopen")
+   (return-type "FILE*")
+   (parameters
+     '("const-gchar*" "filename")
+     '("const-gchar*" "mode")
+   )
+ )
+ 
+ (define-function g_freopen
+   (c-name "g_freopen")
+   (return-type "FILE*")
+   (parameters
+     '("const-gchar*" "filename")
+     '("const-gchar*" "mode")
+     '("FILE*" "stream")
+   )
+ )
+ 
+ (define-function g_utime
+   (c-name "g_utime")
+   (return-type "int")
+   (parameters
+     '("const-gchar*" "filename")
+     '("struct-utimbuf*" "utb")
+   )
+ )
+ 
+ (define-function g_close
+   (c-name "g_close")
+   (return-type "gboolean")
+   (parameters
+     '("gint" "fd")
+     '("GError**" "error")
+   )
+ )
+ 
+ 
+ 
+ ;; From gstrfuncs.h
+ 
+ (define-function g_ascii_tolower
+   (c-name "g_ascii_tolower")
+   (return-type "gchar")
+   (parameters
+     '("gchar" "c")
+   )
+ )
+ 
+ (define-function g_ascii_toupper
+   (c-name "g_ascii_toupper")
+   (return-type "gchar")
+   (parameters
+     '("gchar" "c")
+   )
+ )
+ 
+ (define-function g_ascii_digit_value
+   (c-name "g_ascii_digit_value")
+   (return-type "gint")
+   (parameters
+     '("gchar" "c")
+   )
+ )
+ 
+ (define-function g_ascii_xdigit_value
+   (c-name "g_ascii_xdigit_value")
+   (return-type "gint")
+   (parameters
+     '("gchar" "c")
+   )
+ )
+ 
+ (define-function g_strdelimit
+   (c-name "g_strdelimit")
+   (return-type "gchar*")
+   (parameters
+     '("gchar*" "string")
+     '("const-gchar*" "delimiters")
+     '("gchar" "new_delimiter")
+   )
+ )
+ 
+ (define-function g_strcanon
+   (c-name "g_strcanon")
+   (return-type "gchar*")
+   (parameters
+     '("gchar*" "string")
+     '("const-gchar*" "valid_chars")
+     '("gchar" "substitutor")
+   )
+ )
+ 
+ (define-function g_strerror
+   (c-name "g_strerror")
+   (return-type "const-gchar*")
+   (parameters
+     '("gint" "errnum")
+   )
+ )
+ 
+ (define-function g_strsignal
+   (c-name "g_strsignal")
+   (return-type "const-gchar*")
+   (parameters
+     '("gint" "signum")
+   )
+ )
+ 
+ (define-function g_strreverse
+   (c-name "g_strreverse")
+   (return-type "gchar*")
+   (parameters
+     '("gchar*" "string")
+   )
+ )
+ 
+ (define-function g_strlcpy
+   (c-name "g_strlcpy")
+   (return-type "gsize")
+   (parameters
+     '("gchar*" "dest")
+     '("const-gchar*" "src")
+     '("gsize" "dest_size")
+   )
+ )
+ 
+ (define-function g_strlcat
+   (c-name "g_strlcat")
+   (return-type "gsize")
+   (parameters
+     '("gchar*" "dest")
+     '("const-gchar*" "src")
+     '("gsize" "dest_size")
+   )
+ )
+ 
+ (define-function g_strstr_len
+   (c-name "g_strstr_len")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "haystack")
+     '("gssize" "haystack_len")
+     '("const-gchar*" "needle")
+   )
+ )
+ 
+ (define-function g_strrstr
+   (c-name "g_strrstr")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "haystack")
+     '("const-gchar*" "needle")
+   )
+ )
+ 
+ (define-function g_strrstr_len
+   (c-name "g_strrstr_len")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "haystack")
+     '("gssize" "haystack_len")
+     '("const-gchar*" "needle")
+   )
+ )
+ 
+ (define-function g_str_has_suffix
+   (c-name "g_str_has_suffix")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "str")
+     '("const-gchar*" "suffix")
+   )
+ )
+ 
+ (define-function g_str_has_prefix
+   (c-name "g_str_has_prefix")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "str")
+     '("const-gchar*" "prefix")
+   )
+ )
+ 
+ (define-function g_strtod
+   (c-name "g_strtod")
+   (return-type "gdouble")
+   (parameters
+     '("const-gchar*" "nptr")
+     '("gchar**" "endptr")
+   )
+ )
+ 
+ (define-function g_ascii_strtod
+   (c-name "g_ascii_strtod")
+   (return-type "gdouble")
+   (parameters
+     '("const-gchar*" "nptr")
+     '("gchar**" "endptr")
+   )
+ )
+ 
+ (define-function g_ascii_strtoull
+   (c-name "g_ascii_strtoull")
+   (return-type "guint64")
+   (parameters
+     '("const-gchar*" "nptr")
+     '("gchar**" "endptr")
+     '("guint" "base")
+   )
+ )
+ 
+ (define-function g_ascii_strtoll
+   (c-name "g_ascii_strtoll")
+   (return-type "gint64")
+   (parameters
+     '("const-gchar*" "nptr")
+     '("gchar**" "endptr")
+     '("guint" "base")
+   )
+ )
+ 
+ (define-function g_ascii_dtostr
+   (c-name "g_ascii_dtostr")
+   (return-type "gchar*")
+   (parameters
+     '("gchar*" "buffer")
+     '("gint" "buf_len")
+     '("gdouble" "d")
+   )
+ )
+ 
+ (define-function g_ascii_formatd
+   (c-name "g_ascii_formatd")
+   (return-type "gchar*")
+   (parameters
+     '("gchar*" "buffer")
+     '("gint" "buf_len")
+     '("const-gchar*" "format")
+     '("gdouble" "d")
+   )
+ )
+ 
+ (define-function g_strchug
+   (c-name "g_strchug")
+   (return-type "gchar*")
+   (parameters
+     '("gchar*" "string")
+   )
+ )
+ 
+ (define-function g_strchomp
+   (c-name "g_strchomp")
+   (return-type "gchar*")
+   (parameters
+     '("gchar*" "string")
+   )
+ )
+ 
+ (define-function g_ascii_strcasecmp
+   (c-name "g_ascii_strcasecmp")
+   (return-type "gint")
+   (parameters
+     '("const-gchar*" "s1")
+     '("const-gchar*" "s2")
+   )
+ )
+ 
+ (define-function g_ascii_strncasecmp
+   (c-name "g_ascii_strncasecmp")
+   (return-type "gint")
+   (parameters
+     '("const-gchar*" "s1")
+     '("const-gchar*" "s2")
+     '("gsize" "n")
+   )
+ )
+ 
+ (define-function g_ascii_strdown
+   (c-name "g_ascii_strdown")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "str")
+     '("gssize" "len")
+   )
+ )
+ 
+ (define-function g_ascii_strup
+   (c-name "g_ascii_strup")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "str")
+     '("gssize" "len")
+   )
+ )
+ 
+ (define-function g_str_is_ascii
+   (c-name "g_str_is_ascii")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "str")
+   )
+ )
+ 
+ (define-function g_strcasecmp
+   (c-name "g_strcasecmp")
+   (return-type "gint")
+   (parameters
+     '("const-gchar*" "s1")
+     '("const-gchar*" "s2")
+   )
+ )
+ 
+ (define-function g_strncasecmp
+   (c-name "g_strncasecmp")
+   (return-type "gint")
+   (parameters
+     '("const-gchar*" "s1")
+     '("const-gchar*" "s2")
+     '("guint" "n")
+   )
+ )
+ 
+ (define-function g_strdown
+   (c-name "g_strdown")
+   (return-type "gchar*")
+   (parameters
+     '("gchar*" "string")
+   )
+ )
+ 
+ (define-function g_strup
+   (c-name "g_strup")
+   (return-type "gchar*")
+   (parameters
+     '("gchar*" "string")
+   )
+ )
+ 
+ (define-function g_strdup
+   (c-name "g_strdup")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "str")
+   )
+ )
+ 
+ (define-function g_strdup_printf
+   (c-name "g_strdup_printf")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_strdup_vprintf
+   (c-name "g_strdup_vprintf")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "format")
+     '("va_list" "args")
+   )
+ )
+ 
+ (define-function g_strndup
+   (c-name "g_strndup")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "str")
+     '("gsize" "n")
+   )
+ )
+ 
+ (define-function g_strnfill
+   (c-name "g_strnfill")
+   (return-type "gchar*")
+   (parameters
+     '("gsize" "length")
+     '("gchar" "fill_char")
+   )
+ )
+ 
+ (define-function g_strconcat
+   (c-name "g_strconcat")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "string1")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_strjoin
+   (c-name "g_strjoin")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "separator")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_strcompress
+   (c-name "g_strcompress")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "source")
+   )
+ )
+ 
+ (define-function g_strescape
+   (c-name "g_strescape")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "source")
+     '("const-gchar*" "exceptions")
+   )
+ )
+ 
+ (define-function g_memdup
+   (c-name "g_memdup")
+   (return-type "gpointer")
+   (parameters
+     '("gconstpointer" "mem")
+     '("guint" "byte_size")
+   )
+ )
+ 
+ (define-function g_strsplit
+   (c-name "g_strsplit")
+   (return-type "gchar**")
+   (parameters
+     '("const-gchar*" "string")
+     '("const-gchar*" "delimiter")
+     '("gint" "max_tokens")
+   )
+ )
+ 
+ (define-function g_strsplit_set
+   (c-name "g_strsplit_set")
+   (return-type "gchar**")
+   (parameters
+     '("const-gchar*" "string")
+     '("const-gchar*" "delimiters")
+     '("gint" "max_tokens")
+   )
+ )
+ 
+ (define-function g_strjoinv
+   (c-name "g_strjoinv")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "separator")
+     '("gchar**" "str_array")
+   )
+ )
+ 
+ (define-function g_strfreev
+   (c-name "g_strfreev")
+   (return-type "none")
+   (parameters
+     '("gchar**" "str_array")
+   )
+ )
+ 
+ (define-function g_strdupv
+   (c-name "g_strdupv")
+   (return-type "gchar**")
+   (parameters
+     '("gchar**" "str_array")
+   )
+ )
+ 
+ (define-function g_strv_length
+   (c-name "g_strv_length")
+   (return-type "guint")
+   (parameters
+     '("gchar**" "str_array")
+   )
+ )
+ 
+ (define-function g_stpcpy
+   (c-name "g_stpcpy")
+   (return-type "gchar*")
+   (parameters
+     '("gchar*" "dest")
+     '("const-char*" "src")
+   )
+ )
+ 
+ (define-function g_str_to_ascii
+   (c-name "g_str_to_ascii")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "str")
+     '("const-gchar*" "from_locale")
+   )
+ )
+ 
+ (define-function g_str_tokenize_and_fold
+   (c-name "g_str_tokenize_and_fold")
+   (return-type "gchar**")
+   (parameters
+     '("const-gchar*" "string")
+     '("const-gchar*" "translit_locale")
+     '("gchar***" "ascii_alternates")
+   )
+ )
+ 
+ (define-function g_str_match_string
+   (c-name "g_str_match_string")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "search_term")
+     '("const-gchar*" "potential_hit")
+     '("gboolean" "accept_alternates")
+   )
+ )
+ 
+ (define-function g_strv_contains
+   (c-name "g_strv_contains")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*-const*" "strv")
+     '("const-gchar*" "str")
+   )
+ )
+ 
+ 
+ 
+ ;; From gstringchunk.h
+ 
+ (define-function g_string_chunk_new
+   (c-name "g_string_chunk_new")
+   (is-constructor-of "GStringChunk")
+   (return-type "GStringChunk*")
+   (parameters
+     '("gsize" "size")
+   )
+ )
+ 
+ (define-method free
+   (of-object "GStringChunk")
+   (c-name "g_string_chunk_free")
+   (return-type "none")
+ )
+ 
+ (define-method clear
+   (of-object "GStringChunk")
+   (c-name "g_string_chunk_clear")
+   (return-type "none")
+ )
+ 
+ (define-method insert
+   (of-object "GStringChunk")
+   (c-name "g_string_chunk_insert")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "string")
+   )
+ )
+ 
+ (define-method insert_len
+   (of-object "GStringChunk")
+   (c-name "g_string_chunk_insert_len")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "string")
+     '("gssize" "len")
+   )
+ )
+ 
+ 
+ 
+ ;; From gstring.h
+ 
+ (define-function g_string_new
+   (c-name "g_string_new")
+   (is-constructor-of "GString")
+   (return-type "GString*")
+   (parameters
+     '("const-gchar*" "init")
+   )
+ )
+ 
+ (define-function g_string_new_len
+   (c-name "g_string_new_len")
+   (return-type "GString*")
+   (parameters
+     '("const-gchar*" "init")
+     '("gssize" "len")
+   )
+ )
+ 
+ (define-function g_string_sized_new
+   (c-name "g_string_sized_new")
+   (is-constructor-of "GStringSized")
+   (return-type "GString*")
+   (parameters
+     '("gsize" "dfl_size")
+   )
+ )
+ 
+ (define-method free
+   (of-object "GString")
+   (c-name "g_string_free")
+   (return-type "gchar*")
+   (parameters
+     '("gboolean" "free_segment")
+   )
+ )
+ 
+ (define-method free_to_bytes
+   (of-object "GString")
+   (c-name "g_string_free_to_bytes")
+   (return-type "GBytes*")
+ )
+ 
+ (define-method equal
+   (of-object "GString")
+   (c-name "g_string_equal")
+   (return-type "gboolean")
+   (parameters
+     '("const-GString*" "v2")
+   )
+ )
+ 
+ (define-method hash
+   (of-object "GString")
+   (c-name "g_string_hash")
+   (return-type "guint")
+ )
+ 
+ (define-method assign
+   (of-object "GString")
+   (c-name "g_string_assign")
+   (return-type "GString*")
+   (parameters
+     '("const-gchar*" "rval")
+   )
+ )
+ 
+ (define-method truncate
+   (of-object "GString")
+   (c-name "g_string_truncate")
+   (return-type "GString*")
+   (parameters
+     '("gsize" "len")
+   )
+ )
+ 
+ (define-method set_size
+   (of-object "GString")
+   (c-name "g_string_set_size")
+   (return-type "GString*")
+   (parameters
+     '("gsize" "len")
+   )
+ )
+ 
+ (define-method insert_len
+   (of-object "GString")
+   (c-name "g_string_insert_len")
+   (return-type "GString*")
+   (parameters
+     '("gssize" "pos")
+     '("const-gchar*" "val")
+     '("gssize" "len")
+   )
+ )
+ 
+ (define-method append
+   (of-object "GString")
+   (c-name "g_string_append")
+   (return-type "GString*")
+   (parameters
+     '("const-gchar*" "val")
+   )
+ )
+ 
+ (define-method append_len
+   (of-object "GString")
+   (c-name "g_string_append_len")
+   (return-type "GString*")
+   (parameters
+     '("const-gchar*" "val")
+     '("gssize" "len")
+   )
+ )
+ 
+ (define-method append_c
+   (of-object "GString")
+   (c-name "g_string_append_c")
+   (return-type "GString*")
+   (parameters
+     '("gchar" "c")
+   )
+ )
+ 
+ (define-method append_unichar
+   (of-object "GString")
+   (c-name "g_string_append_unichar")
+   (return-type "GString*")
+   (parameters
+     '("gunichar" "wc")
+   )
+ )
+ 
+ (define-method prepend
+   (of-object "GString")
+   (c-name "g_string_prepend")
+   (return-type "GString*")
+   (parameters
+     '("const-gchar*" "val")
+   )
+ )
+ 
+ (define-method prepend_c
+   (of-object "GString")
+   (c-name "g_string_prepend_c")
+   (return-type "GString*")
+   (parameters
+     '("gchar" "c")
+   )
+ )
+ 
+ (define-method prepend_unichar
+   (of-object "GString")
+   (c-name "g_string_prepend_unichar")
+   (return-type "GString*")
+   (parameters
+     '("gunichar" "wc")
+   )
+ )
+ 
+ (define-method prepend_len
+   (of-object "GString")
+   (c-name "g_string_prepend_len")
+   (return-type "GString*")
+   (parameters
+     '("const-gchar*" "val")
+     '("gssize" "len")
+   )
+ )
+ 
+ (define-method insert
+   (of-object "GString")
+   (c-name "g_string_insert")
+   (return-type "GString*")
+   (parameters
+     '("gssize" "pos")
+     '("const-gchar*" "val")
+   )
+ )
+ 
+ (define-method insert_c
+   (of-object "GString")
+   (c-name "g_string_insert_c")
+   (return-type "GString*")
+   (parameters
+     '("gssize" "pos")
+     '("gchar" "c")
+   )
+ )
+ 
+ (define-method insert_unichar
+   (of-object "GString")
+   (c-name "g_string_insert_unichar")
+   (return-type "GString*")
+   (parameters
+     '("gssize" "pos")
+     '("gunichar" "wc")
+   )
+ )
+ 
+ (define-method overwrite
+   (of-object "GString")
+   (c-name "g_string_overwrite")
+   (return-type "GString*")
+   (parameters
+     '("gsize" "pos")
+     '("const-gchar*" "val")
+   )
+ )
+ 
+ (define-method overwrite_len
+   (of-object "GString")
+   (c-name "g_string_overwrite_len")
+   (return-type "GString*")
+   (parameters
+     '("gsize" "pos")
+     '("const-gchar*" "val")
+     '("gssize" "len")
+   )
+ )
+ 
+ (define-method erase
+   (of-object "GString")
+   (c-name "g_string_erase")
+   (return-type "GString*")
+   (parameters
+     '("gssize" "pos")
+     '("gssize" "len")
+   )
+ )
+ 
+ (define-method ascii_down
+   (of-object "GString")
+   (c-name "g_string_ascii_down")
+   (return-type "GString*")
+ )
+ 
+ (define-method ascii_up
+   (of-object "GString")
+   (c-name "g_string_ascii_up")
+   (return-type "GString*")
+ )
+ 
+ (define-method vprintf
+   (of-object "GString")
+   (c-name "g_string_vprintf")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "format")
+     '("va_list" "args")
+   )
+ )
+ 
+ (define-method printf
+   (of-object "GString")
+   (c-name "g_string_printf")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-method append_vprintf
+   (of-object "GString")
+   (c-name "g_string_append_vprintf")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "format")
+     '("va_list" "args")
+   )
+ )
+ 
+ (define-method append_printf
+   (of-object "GString")
+   (c-name "g_string_append_printf")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-method append_uri_escaped
+   (of-object "GString")
+   (c-name "g_string_append_uri_escaped")
+   (return-type "GString*")
+   (parameters
+     '("const-gchar*" "unescaped")
+     '("const-gchar*" "reserved_chars_allowed")
+     '("gboolean" "allow_utf8")
+   )
+ )
+ 
+ (define-method append_c_inline
+   (of-object "GString")
+   (c-name "g_string_append_c_inline")
+   (return-type "GString*")
+   (parameters
+     '("gchar" "c")
+   )
+ )
+ 
+ (define-method down
+   (of-object "GString")
+   (c-name "g_string_down")
+   (return-type "GString*")
+ )
+ 
+ (define-method up
+   (of-object "GString")
+   (c-name "g_string_up")
+   (return-type "GString*")
+ )
+ 
+ 
+ 
+ ;; From gtestutils.h
+ 
+ (define-function g_strcmp0
+   (c-name "g_strcmp0")
+   (return-type "int")
+   (parameters
+     '("const-char*" "str1")
+     '("const-char*" "str2")
+   )
+ )
+ 
+ (define-function g_test_minimized_result
+   (c-name "g_test_minimized_result")
+   (return-type "none")
+   (parameters
+     '("double" "minimized_quantity")
+     '("const-char*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_test_maximized_result
+   (c-name "g_test_maximized_result")
+   (return-type "none")
+   (parameters
+     '("double" "maximized_quantity")
+     '("const-char*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_test_init
+   (c-name "g_test_init")
+   (return-type "none")
+   (parameters
+     '("int*" "argc")
+     '("char***" "argv")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_test_subprocess
+   (c-name "g_test_subprocess")
+   (return-type "gboolean")
+ )
+ 
+ (define-function g_test_run
+   (c-name "g_test_run")
+   (return-type "int")
+ )
+ 
+ (define-function g_test_add_func
+   (c-name "g_test_add_func")
+   (return-type "none")
+   (parameters
+     '("const-char*" "testpath")
+     '("GTestFunc" "test_func")
+   )
+ )
+ 
+ (define-function g_test_add_data_func
+   (c-name "g_test_add_data_func")
+   (return-type "none")
+   (parameters
+     '("const-char*" "testpath")
+     '("gconstpointer" "test_data")
+     '("GTestDataFunc" "test_func")
+   )
+ )
+ 
+ (define-function g_test_add_data_func_full
+   (c-name "g_test_add_data_func_full")
+   (return-type "none")
+   (parameters
+     '("const-char*" "testpath")
+     '("gpointer" "test_data")
+     '("GTestDataFunc" "test_func")
+     '("GDestroyNotify" "data_free_func")
+   )
+ )
+ 
+ (define-function g_test_fail
+   (c-name "g_test_fail")
+   (return-type "none")
+ )
+ 
+ (define-function g_test_incomplete
+   (c-name "g_test_incomplete")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "msg")
+   )
+ )
+ 
+ (define-function g_test_skip
+   (c-name "g_test_skip")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "msg")
+   )
+ )
+ 
+ (define-function g_test_failed
+   (c-name "g_test_failed")
+   (return-type "gboolean")
+ )
+ 
+ (define-function g_test_set_nonfatal_assertions
+   (c-name "g_test_set_nonfatal_assertions")
+   (return-type "none")
+ )
+ 
+ (define-function g_test_message
+   (c-name "g_test_message")
+   (return-type "none")
+   (parameters
+     '("const-char*" "format")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_test_bug_base
+   (c-name "g_test_bug_base")
+   (return-type "none")
+   (parameters
+     '("const-char*" "uri_pattern")
+   )
+ )
+ 
+ (define-function g_test_bug
+   (c-name "g_test_bug")
+   (return-type "none")
+   (parameters
+     '("const-char*" "bug_uri_snippet")
+   )
+ )
+ 
 -(define-function g_test_timer_start
 -  (c-name "g_test_timer_start")
 +(define-method release
 +  (of-object "GMainContext")
 +  (c-name "g_main_context_release")
    (return-type "none")
  )
  
@@@ -3073,36 -12112,37 +11052,43 @@@
    )
  )
  
 -(define-function g_get_num_processors
 -  (c-name "g_get_num_processors")
 -  (return-type "guint")
 +(define-method last_child
 +  (of-object "GNode")
 +  (c-name "g_node_last_child")
 +  (return-type "GNode*")
  )
  
- (define-method last_sibling
-   (of-object "GNode")
-   (c-name "g_node_last_sibling")
-   (return-type "GNode*")
+ (define-method locker_new
+   (of-object "GMutex")
+   (c-name "g_mutex_locker_new")
+   (return-type "GMutexLocker*")
  )
  
+ (define-method free
+   (of-object "GMutexLocker")
+   (c-name "g_mutex_locker_free")
+   (return-type "none")
+ )
+ 
+ 
 +(define-method max_height
 +  (of-object "GNode")
 +  (c-name "g_node_max_height")
 +  (return-type "guint")
 +)
  
 -;; From gthreadpool.h
 +(define-method n_children
 +  (of-object "GNode")
 +  (c-name "g_node_n_children")
 +  (return-type "guint")
 +)
  
 -(define-function g_thread_pool_new
 -  (c-name "g_thread_pool_new")
 -  (is-constructor-of "GThreadPool")
 -  (return-type "GThreadPool*")
 +(define-method n_nodes
 +  (of-object "GNode")
 +  (c-name "g_node_n_nodes")
 +  (return-type "guint")
    (parameters
 -    '("GFunc" "func")
 -    '("gpointer" "user_data")
 -    '("gint" "max_threads")
 -    '("gboolean" "exclusive")
 -    '("GError**" "error")
 +    '("GTraverseFlags" "flags")
    )
  )
  
@@@ -3168,13 -12182,22 +11154,22 @@@
    )
  )
  
- (define-method add_main_entries
-   (of-object "GOptionContext")
-   (c-name "g_option_context_add_main_entries")
-   (return-type "none")
+ (define-method move_to_front
+   (of-object "GThreadPool")
+   (c-name "g_thread_pool_move_to_front")
+   (return-type "gboolean")
+   (parameters
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method set_max_threads
+   (of-object "GThreadPool")
+   (c-name "g_thread_pool_set_max_threads")
+   (return-type "gboolean")
    (parameters
 -    '("gint" "max_threads")
 -    '("GError**" "error")
 +    '("const-GOptionEntry*" "entries")
 +    '("const-gchar*" "translation_domain")
    )
  )
  
@@@ -3200,128 -12221,65 +11195,72 @@@
    )
  )
  
 -(define-function g_thread_pool_get_max_unused_threads
 -  (c-name "g_thread_pool_get_max_unused_threads")
 -  (return-type "gint")
 -)
 -
 -(define-function g_thread_pool_get_num_unused_threads
 -  (c-name "g_thread_pool_get_num_unused_threads")
 -  (return-type "guint")
 +(define-method get_help_enabled
 +  (of-object "GOptionContext")
 +  (c-name "g_option_context_get_help_enabled")
 +  (return-type "gboolean")
  )
  
 -(define-function g_thread_pool_stop_unused_threads
 -  (c-name "g_thread_pool_stop_unused_threads")
 -  (return-type "none")
 +(define-method get_ignore_unknown_options
 +  (of-object "GOptionContext")
 +  (c-name "g_option_context_get_ignore_unknown_options")
 +  (return-type "gboolean")
  )
  
 -(define-function g_thread_pool_set_max_idle_time
 -  (c-name "g_thread_pool_set_max_idle_time")
 -  (return-type "none")
 -  (parameters
 -    '("guint" "interval")
 -  )
 +(define-method get_main_group
 +  (of-object "GOptionContext")
 +  (c-name "g_option_context_get_main_group")
 +  (return-type "GOptionGroup*")
  )
  
 -(define-function g_thread_pool_get_max_idle_time
 -  (c-name "g_thread_pool_get_max_idle_time")
 -  (return-type "guint")
 +(define-method get_summary
 +  (of-object "GOptionContext")
 +  (c-name "g_option_context_get_summary")
 +  (return-type "const-gchar*")
  )
  
- (define-method parse
-   (of-object "GOptionContext")
-   (c-name "g_option_context_parse")
-   (return-type "gboolean")
-   (parameters
-     '("gint*" "argc")
-     '("gchar***" "argv")
-     '("GError**" "error")
-   )
- )
- 
- (define-method parse_strv
-   (of-object "GOptionContext")
-   (c-name "g_option_context_parse_strv")
-   (return-type "gboolean")
-   (parameters
-     '("gchar***" "arguments")
-     '("GError**" "error")
-   )
- )
- 
- (define-method set_description
-   (of-object "GOptionContext")
-   (c-name "g_option_context_set_description")
-   (return-type "none")
-   (parameters
-     '("const-gchar*" "description")
-   )
- )
  
- (define-method set_help_enabled
-   (of-object "GOptionContext")
-   (c-name "g_option_context_set_help_enabled")
-   (return-type "none")
-   (parameters
-     '("gboolean" "help_enabled")
-   )
- )
- 
- (define-method set_ignore_unknown_options
-   (of-object "GOptionContext")
-   (c-name "g_option_context_set_ignore_unknown_options")
-   (return-type "none")
-   (parameters
-     '("gboolean" "ignore_unknown")
-   )
- )
  
- (define-method set_main_group
-   (of-object "GOptionContext")
-   (c-name "g_option_context_set_main_group")
-   (return-type "none")
-   (parameters
-     '("GOptionGroup*" "group")
-   )
- )
+ ;; From gtimer.h
  
- (define-method set_summary
-   (of-object "GOptionContext")
-   (c-name "g_option_context_set_summary")
-   (return-type "none")
-   (parameters
-     '("const-gchar*" "summary")
-   )
+ (define-function g_timer_new
+   (c-name "g_timer_new")
+   (is-constructor-of "GTimer")
+   (return-type "GTimer*")
  )
  
- (define-method set_translate_func
-   (of-object "GOptionContext")
-   (c-name "g_option_context_set_translate_func")
+ (define-method destroy
+   (of-object "GTimer")
+   (c-name "g_timer_destroy")
    (return-type "none")
 +  (parameters
 +    '("GTranslateFunc" "func")
 +    '("gpointer" "data")
 +    '("GDestroyNotify" "destroy_notify")
 +  )
  )
  
 -(define-method start
 -  (of-object "GTimer")
 -  (c-name "g_timer_start")
 +(define-method set_translation_domain
 +  (of-object "GOptionContext")
 +  (c-name "g_option_context_set_translation_domain")
    (return-type "none")
 +  (parameters
 +    '("const-gchar*" "domain")
 +  )
  )
  
 -(define-method stop
 -  (of-object "GTimer")
 -  (c-name "g_timer_stop")
 +(define-method add_entries
 +  (of-object "GOptionGroup")
 +  (c-name "g_option_group_add_entries")
    (return-type "none")
 +  (parameters
 +    '("const-GOptionEntry*" "entries")
 +  )
  )
  
 -(define-method reset
 -  (of-object "GTimer")
 -  (c-name "g_timer_reset")
 +(define-method free
 +  (of-object "GOptionGroup")
 +  (c-name "g_option_group_free")
    (return-type "none")
  )
  
@@@ -4095,18 -13139,34 +12034,33 @@@
    )
  )
  
- (define-method get_next_token
-   (of-object "GScanner")
-   (c-name "g_scanner_get_next_token")
-   (return-type "GTokenType")
+ 
+ 
+ ;; From gunicomp.h
+ 
+ 
+ 
+ ;; From gunidecomp.h
+ 
+ 
+ 
+ ;; From gurifuncs.h
+ 
+ (define-function g_uri_unescape_string
+   (c-name "g_uri_unescape_string")
+   (return-type "char*")
+   (parameters
+     '("const-char*" "escaped_string")
+     '("const-char*" "illegal_characters")
+   )
  )
  
 -(define-function g_uri_unescape_segment
 -  (c-name "g_uri_unescape_segment")
 -  (return-type "char*")
 +(define-method input_file
 +  (of-object "GScanner")
 +  (c-name "g_scanner_input_file")
 +  (return-type "none")
    (parameters
 -    '("const-char*" "escaped_string")
 -    '("const-char*" "escaped_string_end")
 -    '("const-char*" "illegal_characters")
 +    '("gint" "input_fd")
    )
  )
  
@@@ -5898,71 -14893,84 +13852,79 @@@
    (return-type "guint")
  )
  
 -(define-function g_win32_locale_filename_from_utf8
 -  (c-name "g_win32_locale_filename_from_utf8")
 -  (return-type "gchar*")
 -  (parameters
 -    '("const-gchar*" "utf8filename")
 -  )
 +(define-method is_container
 +  (of-object "GVariant")
 +  (c-name "g_variant_is_container")
 +  (return-type "gboolean")
  )
  
 -(define-function g_win32_get_command_line
 -  (c-name "g_win32_get_command_line")
 -  (return-type "gchar**")
 +(define-method is_floating
 +  (of-object "GVariant")
 +  (c-name "g_variant_is_floating")
 +  (return-type "gboolean")
  )
  
- (define-method is_normal_form
-   (of-object "GVariant")
-   (c-name "g_variant_is_normal_form")
-   (return-type "gboolean")
+ (define-function g_win32_get_package_installation_directory_utf8
+   (c-name "g_win32_get_package_installation_directory_utf8")
+   (return-type "gchar*")
+   (parameters
+     '("const-gchar*" "package")
+     '("const-gchar*" "dll_name")
+   )
  )
  
- (define-method is_of_type
-   (of-object "GVariant")
-   (c-name "g_variant_is_of_type")
-   (return-type "gboolean")
+ (define-function g_win32_get_package_installation_subdirectory_utf8
+   (c-name "g_win32_get_package_installation_subdirectory_utf8")
+   (return-type "gchar*")
    (parameters
 -    '("const-gchar*" "package")
 -    '("const-gchar*" "dll_name")
 -    '("const-gchar*" "subdir")
 +    '("const-GVariantType*" "type")
    )
  )
  
- (define-method iter_new
-   (of-object "GVariant")
-   (c-name "g_variant_iter_new")
-   (return-type "GVariantIter*")
+ (define-function g_win32_check_windows_version
+   (c-name "g_win32_check_windows_version")
+   (return-type "gboolean")
+   (parameters
+     '("const-gint" "major")
+     '("const-gint" "minor")
+     '("const-gint" "spver")
+     '("const-GWin32OSType" "os_type")
+   )
  )
  
+ 
 -
 -;; From valgrind.h
 -
 -(define-function VALGRIND_PRINTF
 -  (c-name "VALGRIND_PRINTF")
 -  (return-type "int")
 +(define-method lookup
 +  (of-object "GVariant")
 +  (c-name "g_variant_lookup")
 +  (return-type "gboolean")
    (parameters
 -    '("const-char*" "format")
 +    '("const-gchar*" "key")
 +    '("const-gchar*" "format_string")
    )
 -  (varargs #t)
  )
  
 -(define-function VALGRIND_PRINTF_BACKTRACE
 -  (c-name "VALGRIND_PRINTF_BACKTRACE")
 -  (return-type "int")
 +(define-method lookup_value
 +  (of-object "GVariant")
 +  (c-name "g_variant_lookup_value")
 +  (return-type "GVariant*")
    (parameters
 -    '("const-char*" "format")
 +    '("const-gchar*" "key")
 +    '("const-GVariantType*" "expected_type")
    )
 -  (varargs #t)
  )
  
 +(define-method n_children
 +  (of-object "GVariant")
 +  (c-name "g_variant_n_children")
 +  (return-type "gsize")
 +)
  
 -
 -;; From gallocator.h
 -
 -(define-function g_mem_chunk_new
 -  (c-name "g_mem_chunk_new")
 -  (is-constructor-of "GMemChunk")
 -  (return-type "GMemChunk*")
 +(define-method print
 +  (of-object "GVariant")
 +  (c-name "g_variant_print")
 +  (return-type "gchar*")
    (parameters
 -    '("const-gchar*" "name")
 -    '("gint" "atom_size")
 -    '("gsize" "area_size")
 -    '("gint" "type")
 +    '("gboolean" "type_annotate")
    )
  )
  
diff --cc glib/src/gobject_functions.defs
index c813b90,6254aec..f143820
--- a/glib/src/gobject_functions.defs
+++ b/glib/src/gobject_functions.defs
@@@ -1,9 -1,345 +1,345 @@@
- (define-function new_object
-   (c-name "g_closure_new_object")
+ ;; -*- scheme -*-
+ ; object definitions ...
+ (define-object Module
+   (in-module "GType")
+   (parent "GObject")
+   (c-name "GTypeModule")
+   (gtype-id "G_TYPE_TYPE_MODULE")
+ )
+ 
+ (define-object Plugin
+   (in-module "GType")
+   (c-name "GTypePlugin")
+   (gtype-id "G_TYPE_TYPE_PLUGIN")
+ )
+ 
+ ;; Enumerations and flags ...
+ 
+ (define-flags Flags
+   (in-module "GBinding")
+   (c-name "GBindingFlags")
+   (gtype-id "G_TYPE_BINDING_FLAGS")
+   (values
+     '("default" "G_BINDING_DEFAULT")
+     '("bidirectional" "G_BINDING_BIDIRECTIONAL")
+     '("sync-create" "G_BINDING_SYNC_CREATE")
+     '("invert-boolean" "G_BINDING_INVERT_BOOLEAN")
+   )
+ )
+ 
+ (define-flags Flags
+   (in-module "GParam")
+   (c-name "GParamFlags")
+   (gtype-id "G_TYPE_PARAM_FLAGS")
+   (values
+     '("readable" "G_PARAM_READABLE")
+     '("writable" "G_PARAM_WRITABLE")
+     '("readwrite" "G_PARAM_READWRITE")
+     '("construct" "G_PARAM_CONSTRUCT")
+     '("construct-only" "G_PARAM_CONSTRUCT_ONLY")
+     '("lax-validation" "G_PARAM_LAX_VALIDATION")
+     '("static-name" "G_PARAM_STATIC_NAME")
+     '("private" "G_PARAM_PRIVATE")
+     '("static-nick" "G_PARAM_STATIC_NICK")
+     '("static-blurb" "G_PARAM_STATIC_BLURB")
+     '("explicit-notify" "G_PARAM_EXPLICIT_NOTIFY")
+     '("deprecated" "G_PARAM_DEPRECATED")
+   )
+ )
+ 
+ (define-flags Flags
+   (in-module "GSignal")
+   (c-name "GSignalFlags")
+   (gtype-id "G_TYPE_SIGNAL_FLAGS")
+   (values
+     '("run-first" "G_SIGNAL_RUN_FIRST")
+     '("run-last" "G_SIGNAL_RUN_LAST")
+     '("run-cleanup" "G_SIGNAL_RUN_CLEANUP")
+     '("no-recurse" "G_SIGNAL_NO_RECURSE")
+     '("detailed" "G_SIGNAL_DETAILED")
+     '("action" "G_SIGNAL_ACTION")
+     '("no-hooks" "G_SIGNAL_NO_HOOKS")
+     '("must-collect" "G_SIGNAL_MUST_COLLECT")
+     '("deprecated" "G_SIGNAL_DEPRECATED")
+   )
+ )
+ 
+ (define-flags Flags
+   (in-module "GConnect")
+   (c-name "GConnectFlags")
+   (gtype-id "G_TYPE_CONNECT_FLAGS")
+   (values
+     '("after" "G_CONNECT_AFTER")
+     '("swapped" "G_CONNECT_SWAPPED")
+   )
+ )
+ 
+ (define-flags MatchType
+   (in-module "GSignal")
+   (c-name "GSignalMatchType")
+   (gtype-id "G_TYPE_SIGNAL_MATCH_TYPE")
+   (values
+     '("id" "G_SIGNAL_MATCH_ID")
+     '("detail" "G_SIGNAL_MATCH_DETAIL")
+     '("closure" "G_SIGNAL_MATCH_CLOSURE")
+     '("func" "G_SIGNAL_MATCH_FUNC")
+     '("data" "G_SIGNAL_MATCH_DATA")
+     '("unblocked" "G_SIGNAL_MATCH_UNBLOCKED")
+   )
+ )
+ 
+ (define-flags DebugFlags
+   (in-module "GType")
+   (c-name "GTypeDebugFlags")
+   (gtype-id "G_TYPE_TYPE_DEBUG_FLAGS")
+   (values
+     '("none" "G_TYPE_DEBUG_NONE")
+     '("objects" "G_TYPE_DEBUG_OBJECTS")
+     '("signals" "G_TYPE_DEBUG_SIGNALS")
+     '("instance-count" "G_TYPE_DEBUG_INSTANCE_COUNT")
+     '("mask" "G_TYPE_DEBUG_MASK")
+   )
+ )
+ 
+ (define-flags FundamentalFlags
+   (in-module "GType")
+   (c-name "GTypeFundamentalFlags")
+   (gtype-id "G_TYPE_TYPE_FUNDAMENTAL_FLAGS")
+   (values
+     '("classed" "G_TYPE_FLAG_CLASSED")
+     '("instantiatable" "G_TYPE_FLAG_INSTANTIATABLE")
+     '("derivable" "G_TYPE_FLAG_DERIVABLE")
+     '("deep-derivable" "G_TYPE_FLAG_DEEP_DERIVABLE")
+   )
+ )
+ 
+ (define-flags Flags
+   (in-module "GType")
+   (c-name "GTypeFlags")
+   (gtype-id "G_TYPE_TYPE_FLAGS")
+   (values
+     '("abstract" "G_TYPE_FLAG_ABSTRACT")
+     '("value-abstract" "G_TYPE_FLAG_VALUE_ABSTRACT")
+   )
+ )
+ 
+ 
+ ;; From gatomicarray.h
+ 
+ 
+ 
+ ;; From gbinding.h
+ 
+ (define-function g_binding_flags_get_type
+   (c-name "g_binding_flags_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_binding_get_type
+   (c-name "g_binding_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-method get_flags
+   (of-object "GBinding")
+   (c-name "g_binding_get_flags")
+   (return-type "GBindingFlags")
+ )
+ 
+ (define-method get_source
+   (of-object "GBinding")
+   (c-name "g_binding_get_source")
+   (return-type "GObject*")
+ )
+ 
+ (define-method get_target
+   (of-object "GBinding")
+   (c-name "g_binding_get_target")
+   (return-type "GObject*")
+ )
+ 
+ (define-method get_source_property
+   (of-object "GBinding")
+   (c-name "g_binding_get_source_property")
+   (return-type "const-gchar*")
+ )
+ 
+ (define-method get_target_property
+   (of-object "GBinding")
+   (c-name "g_binding_get_target_property")
+   (return-type "const-gchar*")
+ )
+ 
+ (define-method unbind
+   (of-object "GBinding")
+   (c-name "g_binding_unbind")
+   (return-type "none")
+ )
+ 
+ (define-function g_object_bind_property
+   (c-name "g_object_bind_property")
+   (return-type "GBinding*")
+   (parameters
+     '("gpointer" "source")
+     '("const-gchar*" "source_property")
+     '("gpointer" "target")
+     '("const-gchar*" "target_property")
+     '("GBindingFlags" "flags")
+   )
+ )
+ 
+ (define-function g_object_bind_property_full
+   (c-name "g_object_bind_property_full")
+   (return-type "GBinding*")
+   (parameters
+     '("gpointer" "source")
+     '("const-gchar*" "source_property")
+     '("gpointer" "target")
+     '("const-gchar*" "target_property")
+     '("GBindingFlags" "flags")
+     '("GBindingTransformFunc" "transform_to")
+     '("GBindingTransformFunc" "transform_from")
+     '("gpointer" "user_data")
+     '("GDestroyNotify" "notify")
+   )
+ )
+ 
+ (define-function g_object_bind_property_with_closures
+   (c-name "g_object_bind_property_with_closures")
+   (return-type "GBinding*")
+   (parameters
+     '("gpointer" "source")
+     '("const-gchar*" "source_property")
+     '("gpointer" "target")
+     '("const-gchar*" "target_property")
+     '("GBindingFlags" "flags")
+     '("GClosure*" "transform_to")
+     '("GClosure*" "transform_from")
+   )
+ )
+ 
+ 
+ 
+ ;; From gboxed.h
+ 
+ (define-function g_boxed_copy
+   (c-name "g_boxed_copy")
+   (return-type "gpointer")
+   (parameters
+     '("GType" "boxed_type")
+     '("gconstpointer" "src_boxed")
+   )
+ )
+ 
+ (define-function g_boxed_free
+   (c-name "g_boxed_free")
+   (return-type "none")
+   (parameters
+     '("GType" "boxed_type")
+     '("gpointer" "boxed")
+   )
+ )
+ 
+ (define-method set_boxed
+   (of-object "GValue")
+   (c-name "g_value_set_boxed")
+   (return-type "none")
+   (parameters
+     '("gconstpointer" "v_boxed")
+   )
+ )
+ 
+ (define-method set_static_boxed
+   (of-object "GValue")
+   (c-name "g_value_set_static_boxed")
+   (return-type "none")
+   (parameters
+     '("gconstpointer" "v_boxed")
+   )
+ )
+ 
+ (define-method take_boxed
+   (of-object "GValue")
+   (c-name "g_value_take_boxed")
+   (return-type "none")
+   (parameters
+     '("gconstpointer" "v_boxed")
+   )
+ )
+ 
+ (define-method set_boxed_take_ownership
+   (of-object "GValue")
+   (c-name "g_value_set_boxed_take_ownership")
+   (return-type "none")
+   (parameters
+     '("gconstpointer" "v_boxed")
+   )
+ )
+ 
+ (define-method get_boxed
+   (of-object "GValue")
+   (c-name "g_value_get_boxed")
+   (return-type "gpointer")
+ )
+ 
+ (define-method dup_boxed
+   (of-object "GValue")
+   (c-name "g_value_dup_boxed")
+   (return-type "gpointer")
+ )
+ 
+ (define-function g_boxed_type_register_static
+   (c-name "g_boxed_type_register_static")
+   (return-type "GType")
+   (parameters
+     '("const-gchar*" "name")
+     '("GBoxedCopyFunc" "boxed_copy")
+     '("GBoxedFreeFunc" "boxed_free")
+   )
+ )
+ 
+ (define-function g_closure_get_type
+   (c-name "g_closure_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_value_get_type
+   (c-name "g_value_get_type")
+   (return-type "GType")
+ )
+ 
+ 
+ 
+ ;; From gclosure.h
+ 
+ (define-function g_cclosure_new
+   (c-name "g_cclosure_new")
+   (is-constructor-of "GCclosure")
+   (return-type "GClosure*")
+   (parameters
+     '("GCallback" "callback_func")
+     '("gpointer" "user_data")
+     '("GClosureNotify" "destroy_data")
+   )
+ )
+ 
+ (define-function g_cclosure_new_swap
+   (c-name "g_cclosure_new_swap")
+   (return-type "GClosure*")
+   (parameters
+     '("GCallback" "callback_func")
+     '("gpointer" "user_data")
+     '("GClosureNotify" "destroy_data")
+   )
+ )
+ 
+ (define-function g_signal_type_cclosure_new
+   (c-name "g_signal_type_cclosure_new")
+   (is-constructor-of "GSignalTypeCclosure")
    (return-type "GClosure*")
    (parameters
 -    '("GType" "itype")
 -    '("guint" "struct_offset")
 +    '("guint" "sizeof_closure")
 +    '("GObject*" "object")
    )
  )
  
@@@ -36,33 -400,2954 +382,2960 @@@
    )
  )
  
+ (define-method remove_invalidate_notifier
+   (of-object "GClosure")
+   (c-name "g_closure_remove_invalidate_notifier")
+   (return-type "none")
+   (parameters
+     '("gpointer" "notify_data")
+     '("GClosureNotify" "notify_func")
+   )
+ )
+ 
+ (define-method add_marshal_guards
+   (of-object "GClosure")
+   (c-name "g_closure_add_marshal_guards")
+   (return-type "none")
+   (parameters
+     '("gpointer" "pre_marshal_data")
+     '("GClosureNotify" "pre_marshal_notify")
+     '("gpointer" "post_marshal_data")
+     '("GClosureNotify" "post_marshal_notify")
+   )
+ )
+ 
+ (define-method set_marshal
+   (of-object "GClosure")
+   (c-name "g_closure_set_marshal")
+   (return-type "none")
+   (parameters
+     '("GClosureMarshal" "marshal")
+   )
+ )
+ 
+ (define-method set_meta_marshal
+   (of-object "GClosure")
+   (c-name "g_closure_set_meta_marshal")
+   (return-type "none")
+   (parameters
+     '("gpointer" "marshal_data")
+     '("GClosureMarshal" "meta_marshal")
+   )
+ )
+ 
+ (define-method invalidate
+   (of-object "GClosure")
+   (c-name "g_closure_invalidate")
+   (return-type "none")
+ )
+ 
+ (define-method invoke
+   (of-object "GClosure")
+   (c-name "g_closure_invoke")
+   (return-type "none")
+   (parameters
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_generic
+   (c-name "g_cclosure_marshal_generic")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_gvalue")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_generic_va
+   (c-name "g_cclosure_marshal_generic_va")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args_list")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ 
+ 
+ ;; From genums.h
+ 
+ (define-function g_enum_get_value
+   (c-name "g_enum_get_value")
+   (return-type "GEnumValue*")
+   (parameters
+     '("GEnumClass*" "enum_class")
+     '("gint" "value")
+   )
+ )
+ 
+ (define-function g_enum_get_value_by_name
+   (c-name "g_enum_get_value_by_name")
+   (return-type "GEnumValue*")
+   (parameters
+     '("GEnumClass*" "enum_class")
+     '("const-gchar*" "name")
+   )
+ )
+ 
+ (define-function g_enum_get_value_by_nick
+   (c-name "g_enum_get_value_by_nick")
+   (return-type "GEnumValue*")
+   (parameters
+     '("GEnumClass*" "enum_class")
+     '("const-gchar*" "nick")
+   )
+ )
+ 
+ (define-function g_flags_get_first_value
+   (c-name "g_flags_get_first_value")
+   (return-type "GFlagsValue*")
+   (parameters
+     '("GFlagsClass*" "flags_class")
+     '("guint" "value")
+   )
+ )
+ 
+ (define-function g_flags_get_value_by_name
+   (c-name "g_flags_get_value_by_name")
+   (return-type "GFlagsValue*")
+   (parameters
+     '("GFlagsClass*" "flags_class")
+     '("const-gchar*" "name")
+   )
+ )
+ 
+ (define-function g_flags_get_value_by_nick
+   (c-name "g_flags_get_value_by_nick")
+   (return-type "GFlagsValue*")
+   (parameters
+     '("GFlagsClass*" "flags_class")
+     '("const-gchar*" "nick")
+   )
+ )
+ 
+ (define-method set_enum
+   (of-object "GValue")
+   (c-name "g_value_set_enum")
+   (return-type "none")
+   (parameters
+     '("gint" "v_enum")
+   )
+ )
+ 
+ (define-method get_enum
+   (of-object "GValue")
+   (c-name "g_value_get_enum")
+   (return-type "gint")
+ )
+ 
+ (define-method set_flags
+   (of-object "GValue")
+   (c-name "g_value_set_flags")
+   (return-type "none")
+   (parameters
+     '("guint" "v_flags")
+   )
+ )
+ 
+ (define-method get_flags
+   (of-object "GValue")
+   (c-name "g_value_get_flags")
+   (return-type "guint")
+ )
+ 
+ (define-function g_enum_register_static
+   (c-name "g_enum_register_static")
+   (return-type "GType")
+   (parameters
+     '("const-gchar*" "name")
+   )
+ )
+ 
+ (define-function g_flags_register_static
+   (c-name "g_flags_register_static")
+   (return-type "GType")
+   (parameters
+     '("const-gchar*" "name")
+   )
+ )
+ 
+ (define-function g_enum_complete_type_info
+   (c-name "g_enum_complete_type_info")
+   (return-type "none")
+   (parameters
+     '("GType" "g_enum_type")
+     '("GTypeInfo*" "info")
+   )
+ )
+ 
+ (define-function g_flags_complete_type_info
+   (c-name "g_flags_complete_type_info")
+   (return-type "none")
+   (parameters
+     '("GType" "g_flags_type")
+     '("GTypeInfo*" "info")
+   )
+ )
+ 
+ 
+ 
+ ;; From glib-types.h
+ 
+ (define-function g_date_get_type
+   (c-name "g_date_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_strv_get_type
+   (c-name "g_strv_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_gstring_get_type
+   (c-name "g_gstring_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_hash_table_get_type
+   (c-name "g_hash_table_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_array_get_type
+   (c-name "g_array_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_byte_array_get_type
+   (c-name "g_byte_array_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_ptr_array_get_type
+   (c-name "g_ptr_array_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_bytes_get_type
+   (c-name "g_bytes_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_variant_type_get_gtype
+   (c-name "g_variant_type_get_gtype")
+   (return-type "GType")
+ )
+ 
+ (define-function g_regex_get_type
+   (c-name "g_regex_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_match_info_get_type
+   (c-name "g_match_info_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_error_get_type
+   (c-name "g_error_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_date_time_get_type
+   (c-name "g_date_time_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_time_zone_get_type
+   (c-name "g_time_zone_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_io_channel_get_type
+   (c-name "g_io_channel_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_io_condition_get_type
+   (c-name "g_io_condition_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_variant_builder_get_type
+   (c-name "g_variant_builder_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_variant_dict_get_type
+   (c-name "g_variant_dict_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_key_file_get_type
+   (c-name "g_key_file_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_main_loop_get_type
+   (c-name "g_main_loop_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_main_context_get_type
+   (c-name "g_main_context_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_source_get_type
+   (c-name "g_source_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_pollfd_get_type
+   (c-name "g_pollfd_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_thread_get_type
+   (c-name "g_thread_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_checksum_get_type
+   (c-name "g_checksum_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_markup_parse_context_get_type
+   (c-name "g_markup_parse_context_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_mapped_file_get_type
+   (c-name "g_mapped_file_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_option_group_get_type
+   (c-name "g_option_group_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_variant_get_gtype
+   (c-name "g_variant_get_gtype")
+   (return-type "GType")
+ )
+ 
+ 
+ 
+ ;; From gmarshal.h
+ 
+ (define-function g_cclosure_marshal_VOID__VOID
+   (c-name "g_cclosure_marshal_VOID__VOID")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__VOIDv
+   (c-name "g_cclosure_marshal_VOID__VOIDv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__BOOLEAN
+   (c-name "g_cclosure_marshal_VOID__BOOLEAN")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__BOOLEANv
+   (c-name "g_cclosure_marshal_VOID__BOOLEANv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__CHAR
+   (c-name "g_cclosure_marshal_VOID__CHAR")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__CHARv
+   (c-name "g_cclosure_marshal_VOID__CHARv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__UCHAR
+   (c-name "g_cclosure_marshal_VOID__UCHAR")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__UCHARv
+   (c-name "g_cclosure_marshal_VOID__UCHARv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__INT
+   (c-name "g_cclosure_marshal_VOID__INT")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__INTv
+   (c-name "g_cclosure_marshal_VOID__INTv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__UINT
+   (c-name "g_cclosure_marshal_VOID__UINT")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__UINTv
+   (c-name "g_cclosure_marshal_VOID__UINTv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__LONG
+   (c-name "g_cclosure_marshal_VOID__LONG")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__LONGv
+   (c-name "g_cclosure_marshal_VOID__LONGv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__ULONG
+   (c-name "g_cclosure_marshal_VOID__ULONG")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__ULONGv
+   (c-name "g_cclosure_marshal_VOID__ULONGv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__ENUM
+   (c-name "g_cclosure_marshal_VOID__ENUM")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__ENUMv
+   (c-name "g_cclosure_marshal_VOID__ENUMv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__FLAGS
+   (c-name "g_cclosure_marshal_VOID__FLAGS")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__FLAGSv
+   (c-name "g_cclosure_marshal_VOID__FLAGSv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__FLOAT
+   (c-name "g_cclosure_marshal_VOID__FLOAT")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__FLOATv
+   (c-name "g_cclosure_marshal_VOID__FLOATv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__DOUBLE
+   (c-name "g_cclosure_marshal_VOID__DOUBLE")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__DOUBLEv
+   (c-name "g_cclosure_marshal_VOID__DOUBLEv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__STRING
+   (c-name "g_cclosure_marshal_VOID__STRING")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__STRINGv
+   (c-name "g_cclosure_marshal_VOID__STRINGv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__PARAM
+   (c-name "g_cclosure_marshal_VOID__PARAM")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__PARAMv
+   (c-name "g_cclosure_marshal_VOID__PARAMv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__BOXED
+   (c-name "g_cclosure_marshal_VOID__BOXED")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__BOXEDv
+   (c-name "g_cclosure_marshal_VOID__BOXEDv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__POINTER
+   (c-name "g_cclosure_marshal_VOID__POINTER")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__POINTERv
+   (c-name "g_cclosure_marshal_VOID__POINTERv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__OBJECT
+   (c-name "g_cclosure_marshal_VOID__OBJECT")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__OBJECTv
+   (c-name "g_cclosure_marshal_VOID__OBJECTv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__VARIANT
+   (c-name "g_cclosure_marshal_VOID__VARIANT")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__VARIANTv
+   (c-name "g_cclosure_marshal_VOID__VARIANTv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__UINT_POINTER
+   (c-name "g_cclosure_marshal_VOID__UINT_POINTER")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_VOID__UINT_POINTERv
+   (c-name "g_cclosure_marshal_VOID__UINT_POINTERv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_BOOLEAN__FLAGS
+   (c-name "g_cclosure_marshal_BOOLEAN__FLAGS")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_BOOLEAN__FLAGSv
+   (c-name "g_cclosure_marshal_BOOLEAN__FLAGSv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_STRING__OBJECT_POINTER
+   (c-name "g_cclosure_marshal_STRING__OBJECT_POINTER")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_STRING__OBJECT_POINTERv
+   (c-name "g_cclosure_marshal_STRING__OBJECT_POINTERv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_BOOLEAN__BOXED_BOXED
+   (c-name "g_cclosure_marshal_BOOLEAN__BOXED_BOXED")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("guint" "n_param_values")
+     '("const-GValue*" "param_values")
+     '("gpointer" "invocation_hint")
+     '("gpointer" "marshal_data")
+   )
+ )
+ 
+ (define-function g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv
+   (c-name "g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+     '("GValue*" "return_value")
+     '("gpointer" "instance")
+     '("va_list" "args")
+     '("gpointer" "marshal_data")
+     '("int" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ 
+ 
+ ;; From gobject-autocleanups.h
+ 
+ 
+ 
+ ;; From gobject.h
+ 
+ (define-function g_initially_unowned_get_type
+   (c-name "g_initially_unowned_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-method install_property
+   (of-object "GObjectClass")
+   (c-name "g_object_class_install_property")
+   (return-type "none")
+   (parameters
+     '("guint" "property_id")
+     '("GParamSpec*" "pspec")
+   )
+ )
+ 
+ (define-method find_property
+   (of-object "GObjectClass")
+   (c-name "g_object_class_find_property")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "property_name")
+   )
+ )
+ 
+ (define-method list_properties
+   (of-object "GObjectClass")
+   (c-name "g_object_class_list_properties")
+   (return-type "GParamSpec**")
+   (parameters
+     '("guint*" "n_properties")
+   )
+ )
+ 
+ (define-method override_property
+   (of-object "GObjectClass")
+   (c-name "g_object_class_override_property")
+   (return-type "none")
+   (parameters
+     '("guint" "property_id")
+     '("const-gchar*" "name")
+   )
+ )
+ 
+ (define-method install_properties
+   (of-object "GObjectClass")
+   (c-name "g_object_class_install_properties")
+   (return-type "none")
+   (parameters
+     '("guint" "n_pspecs")
+     '("GParamSpec**" "pspecs")
+   )
+ )
+ 
+ (define-function g_object_interface_install_property
+   (c-name "g_object_interface_install_property")
+   (return-type "none")
+   (parameters
+     '("gpointer" "g_iface")
+     '("GParamSpec*" "pspec")
+   )
+ )
+ 
+ (define-function g_object_interface_find_property
+   (c-name "g_object_interface_find_property")
+   (return-type "GParamSpec*")
+   (parameters
+     '("gpointer" "g_iface")
+     '("const-gchar*" "property_name")
+   )
+ )
+ 
+ (define-function g_object_interface_list_properties
+   (c-name "g_object_interface_list_properties")
+   (return-type "GParamSpec**")
+   (parameters
+     '("gpointer" "g_iface")
+     '("guint*" "n_properties_p")
+   )
+ )
+ 
+ (define-function g_object_get_type
+   (c-name "g_object_get_type")
+   (return-type "GType")
+ )
+ 
+ (define-function g_object_new
+   (c-name "g_object_new")
+   (return-type "gpointer")
+   (parameters
+     '("GType" "object_type")
+     '("const-gchar*" "first_property_name")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_object_newv
+   (c-name "g_object_newv")
+   (return-type "gpointer")
+   (parameters
+     '("GType" "object_type")
+     '("guint" "n_parameters")
+     '("GParameter*" "parameters")
+   )
+ )
+ 
+ (define-function g_object_new_valist
+   (c-name "g_object_new_valist")
+   (return-type "GObject*")
+   (parameters
+     '("GType" "object_type")
+     '("const-gchar*" "first_property_name")
+     '("va_list" "var_args")
+   )
+ )
+ 
+ (define-function g_object_set
+   (c-name "g_object_set")
+   (return-type "none")
+   (parameters
+     '("gpointer" "object")
+     '("const-gchar*" "first_property_name")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_object_get
+   (c-name "g_object_get")
+   (return-type "none")
+   (parameters
+     '("gpointer" "object")
+     '("const-gchar*" "first_property_name")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_object_connect
+   (c-name "g_object_connect")
+   (return-type "gpointer")
+   (parameters
+     '("gpointer" "object")
+     '("const-gchar*" "signal_spec")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_object_disconnect
+   (c-name "g_object_disconnect")
+   (return-type "none")
+   (parameters
+     '("gpointer" "object")
+     '("const-gchar*" "signal_spec")
+   )
+   (varargs #t)
+ )
+ 
+ (define-method set_valist
+   (of-object "GObject")
+   (c-name "g_object_set_valist")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "first_property_name")
+     '("va_list" "var_args")
+   )
+ )
+ 
+ (define-method get_valist
+   (of-object "GObject")
+   (c-name "g_object_get_valist")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "first_property_name")
+     '("va_list" "var_args")
+   )
+ )
+ 
+ (define-method set_property
+   (of-object "GObject")
+   (c-name "g_object_set_property")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "property_name")
+     '("const-GValue*" "value")
+   )
+ )
+ 
+ (define-method get_property
+   (of-object "GObject")
+   (c-name "g_object_get_property")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "property_name")
+     '("GValue*" "value")
+   )
+ )
+ 
+ (define-method freeze_notify
+   (of-object "GObject")
+   (c-name "g_object_freeze_notify")
+   (return-type "none")
+ )
+ 
+ (define-method notify
+   (of-object "GObject")
+   (c-name "g_object_notify")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "property_name")
+   )
+ )
+ 
+ (define-method notify_by_pspec
+   (of-object "GObject")
+   (c-name "g_object_notify_by_pspec")
+   (return-type "none")
+   (parameters
+     '("GParamSpec*" "pspec")
+   )
+ )
+ 
+ (define-method thaw_notify
+   (of-object "GObject")
+   (c-name "g_object_thaw_notify")
+   (return-type "none")
+ )
+ 
+ (define-function g_object_is_floating
+   (c-name "g_object_is_floating")
+   (return-type "gboolean")
+   (parameters
+     '("gpointer" "object")
+   )
+ )
+ 
+ (define-function g_object_ref_sink
+   (c-name "g_object_ref_sink")
+   (return-type "gpointer")
+   (parameters
+     '("gpointer" "object")
+   )
+ )
+ 
+ (define-function g_object_ref
+   (c-name "g_object_ref")
+   (return-type "gpointer")
+   (parameters
+     '("gpointer" "object")
+   )
+ )
+ 
+ (define-function g_object_unref
+   (c-name "g_object_unref")
+   (return-type "none")
+   (parameters
+     '("gpointer" "object")
+   )
+ )
+ 
+ (define-method weak_ref
+   (of-object "GObject")
+   (c-name "g_object_weak_ref")
+   (return-type "none")
+   (parameters
+     '("GWeakNotify" "notify")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method weak_unref
+   (of-object "GObject")
+   (c-name "g_object_weak_unref")
+   (return-type "none")
+   (parameters
+     '("GWeakNotify" "notify")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method add_weak_pointer
+   (of-object "GObject")
+   (c-name "g_object_add_weak_pointer")
+   (return-type "none")
+   (parameters
+     '("gpointer*" "weak_pointer_location")
+   )
+ )
+ 
+ (define-method remove_weak_pointer
+   (of-object "GObject")
+   (c-name "g_object_remove_weak_pointer")
+   (return-type "none")
+   (parameters
+     '("gpointer*" "weak_pointer_location")
+   )
+ )
+ 
+ (define-method add_toggle_ref
+   (of-object "GObject")
+   (c-name "g_object_add_toggle_ref")
+   (return-type "none")
+   (parameters
+     '("GToggleNotify" "notify")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method remove_toggle_ref
+   (of-object "GObject")
+   (c-name "g_object_remove_toggle_ref")
+   (return-type "none")
+   (parameters
+     '("GToggleNotify" "notify")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method get_qdata
+   (of-object "GObject")
+   (c-name "g_object_get_qdata")
+   (return-type "gpointer")
+   (parameters
+     '("GQuark" "quark")
+   )
+ )
+ 
+ (define-method set_qdata
+   (of-object "GObject")
+   (c-name "g_object_set_qdata")
+   (return-type "none")
+   (parameters
+     '("GQuark" "quark")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method set_qdata_full
+   (of-object "GObject")
+   (c-name "g_object_set_qdata_full")
+   (return-type "none")
+   (parameters
+     '("GQuark" "quark")
+     '("gpointer" "data")
+     '("GDestroyNotify" "destroy")
+   )
+ )
+ 
+ (define-method steal_qdata
+   (of-object "GObject")
+   (c-name "g_object_steal_qdata")
+   (return-type "gpointer")
+   (parameters
+     '("GQuark" "quark")
+   )
+ )
+ 
+ (define-method dup_qdata
+   (of-object "GObject")
+   (c-name "g_object_dup_qdata")
+   (return-type "gpointer")
+   (parameters
+     '("GQuark" "quark")
+     '("GDuplicateFunc" "dup_func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-method replace_qdata
+   (of-object "GObject")
+   (c-name "g_object_replace_qdata")
+   (return-type "gboolean")
+   (parameters
+     '("GQuark" "quark")
+     '("gpointer" "oldval")
+     '("gpointer" "newval")
+     '("GDestroyNotify" "destroy")
+     '("GDestroyNotify*" "old_destroy")
+   )
+ )
+ 
+ (define-method get_data
+   (of-object "GObject")
+   (c-name "g_object_get_data")
+   (return-type "gpointer")
+   (parameters
+     '("const-gchar*" "key")
+   )
+ )
+ 
+ (define-method set_data
+   (of-object "GObject")
+   (c-name "g_object_set_data")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "key")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method set_data_full
+   (of-object "GObject")
+   (c-name "g_object_set_data_full")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "key")
+     '("gpointer" "data")
+     '("GDestroyNotify" "destroy")
+   )
+ )
+ 
+ (define-method steal_data
+   (of-object "GObject")
+   (c-name "g_object_steal_data")
+   (return-type "gpointer")
+   (parameters
+     '("const-gchar*" "key")
+   )
+ )
+ 
+ (define-method dup_data
+   (of-object "GObject")
+   (c-name "g_object_dup_data")
+   (return-type "gpointer")
+   (parameters
+     '("const-gchar*" "key")
+     '("GDuplicateFunc" "dup_func")
+     '("gpointer" "user_data")
+   )
+ )
+ 
+ (define-method replace_data
+   (of-object "GObject")
+   (c-name "g_object_replace_data")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "key")
+     '("gpointer" "oldval")
+     '("gpointer" "newval")
+     '("GDestroyNotify" "destroy")
+     '("GDestroyNotify*" "old_destroy")
+   )
+ )
+ 
+ (define-method watch_closure
+   (of-object "GObject")
+   (c-name "g_object_watch_closure")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+   )
+ )
+ 
+ (define-function g_cclosure_new_object
+   (c-name "g_cclosure_new_object")
+   (return-type "GClosure*")
+   (parameters
+     '("GCallback" "callback_func")
+     '("GObject*" "object")
+   )
+ )
+ 
+ (define-function g_cclosure_new_object_swap
+   (c-name "g_cclosure_new_object_swap")
+   (return-type "GClosure*")
+   (parameters
+     '("GCallback" "callback_func")
+     '("GObject*" "object")
+   )
+ )
+ 
+ (define-function g_closure_new_object
+   (c-name "g_closure_new_object")
+   (return-type "GClosure*")
+   (parameters
+     '("guint" "sizeof_closure")
+     '("GObject*" "object")
+   )
+ )
+ 
+ (define-method set_object
+   (of-object "GValue")
+   (c-name "g_value_set_object")
+   (return-type "none")
+   (parameters
+     '("gpointer" "v_object")
+   )
+ )
+ 
+ (define-method get_object
+   (of-object "GValue")
+   (c-name "g_value_get_object")
+   (return-type "gpointer")
+ )
+ 
+ (define-method dup_object
+   (of-object "GValue")
+   (c-name "g_value_dup_object")
+   (return-type "gpointer")
+ )
+ 
+ (define-function g_signal_connect_object
+   (c-name "g_signal_connect_object")
+   (return-type "gulong")
+   (parameters
+     '("gpointer" "instance")
+     '("const-gchar*" "detailed_signal")
+     '("GCallback" "c_handler")
+     '("gpointer" "gobject")
+     '("GConnectFlags" "connect_flags")
+   )
+ )
+ 
+ (define-method force_floating
+   (of-object "GObject")
+   (c-name "g_object_force_floating")
+   (return-type "none")
+ )
+ 
+ (define-method run_dispose
+   (of-object "GObject")
+   (c-name "g_object_run_dispose")
+   (return-type "none")
+ )
+ 
+ (define-method take_object
+   (of-object "GValue")
+   (c-name "g_value_take_object")
+   (return-type "none")
+   (parameters
+     '("gpointer" "v_object")
+   )
+ )
+ 
+ (define-method set_object_take_ownership
+   (of-object "GValue")
+   (c-name "g_value_set_object_take_ownership")
+   (return-type "none")
+   (parameters
+     '("gpointer" "v_object")
+   )
+ )
+ 
+ (define-function g_object_compat_control
+   (c-name "g_object_compat_control")
+   (return-type "gsize")
+   (parameters
+     '("gsize" "what")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-function g_clear_object
+   (c-name "g_clear_object")
+   (return-type "none")
+   (parameters
+     '("volatile-GObject**" "object_ptr")
+   )
+ )
+ 
+ (define-method init
+   (of-object "GWeakRef")
+   (c-name "g_weak_ref_init")
+   (return-type "none")
+   (parameters
+     '("gpointer" "object")
+   )
+ )
+ 
+ (define-method clear
+   (of-object "GWeakRef")
+   (c-name "g_weak_ref_clear")
+   (return-type "none")
+ )
+ 
+ (define-method get
+   (of-object "GWeakRef")
+   (c-name "g_weak_ref_get")
+   (return-type "gpointer")
+ )
+ 
+ (define-method set
+   (of-object "GWeakRef")
+   (c-name "g_weak_ref_set")
+   (return-type "none")
+   (parameters
+     '("gpointer" "object")
+   )
+ )
+ 
+ 
+ 
+ ;; From gobject_trace.h
+ 
+ 
+ 
+ ;; From gparam.h
+ 
+ (define-method ref
+   (of-object "GParamSpec")
+   (c-name "g_param_spec_ref")
+   (return-type "GParamSpec*")
+ )
+ 
+ (define-method unref
+   (of-object "GParamSpec")
+   (c-name "g_param_spec_unref")
+   (return-type "none")
+ )
+ 
+ (define-method sink
+   (of-object "GParamSpec")
+   (c-name "g_param_spec_sink")
+   (return-type "none")
+ )
+ 
+ (define-method ref_sink
+   (of-object "GParamSpec")
+   (c-name "g_param_spec_ref_sink")
+   (return-type "GParamSpec*")
+ )
+ 
+ (define-method get_qdata
+   (of-object "GParamSpec")
+   (c-name "g_param_spec_get_qdata")
+   (return-type "gpointer")
+   (parameters
+     '("GQuark" "quark")
+   )
+ )
+ 
+ (define-method set_qdata
+   (of-object "GParamSpec")
+   (c-name "g_param_spec_set_qdata")
+   (return-type "none")
+   (parameters
+     '("GQuark" "quark")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method set_qdata_full
+   (of-object "GParamSpec")
+   (c-name "g_param_spec_set_qdata_full")
+   (return-type "none")
+   (parameters
+     '("GQuark" "quark")
+     '("gpointer" "data")
+     '("GDestroyNotify" "destroy")
+   )
+ )
+ 
+ (define-method steal_qdata
+   (of-object "GParamSpec")
+   (c-name "g_param_spec_steal_qdata")
+   (return-type "gpointer")
+   (parameters
+     '("GQuark" "quark")
+   )
+ )
+ 
+ (define-method get_redirect_target
+   (of-object "GParamSpec")
+   (c-name "g_param_spec_get_redirect_target")
+   (return-type "GParamSpec*")
+ )
+ 
+ (define-function g_param_value_set_default
+   (c-name "g_param_value_set_default")
+   (return-type "none")
+   (parameters
+     '("GParamSpec*" "pspec")
+     '("GValue*" "value")
+   )
+ )
+ 
+ (define-function g_param_value_defaults
+   (c-name "g_param_value_defaults")
+   (return-type "gboolean")
+   (parameters
+     '("GParamSpec*" "pspec")
+     '("GValue*" "value")
+   )
+ )
+ 
+ (define-function g_param_value_validate
+   (c-name "g_param_value_validate")
+   (return-type "gboolean")
+   (parameters
+     '("GParamSpec*" "pspec")
+     '("GValue*" "value")
+   )
+ )
+ 
+ (define-function g_param_value_convert
+   (c-name "g_param_value_convert")
+   (return-type "gboolean")
+   (parameters
+     '("GParamSpec*" "pspec")
+     '("const-GValue*" "src_value")
+     '("GValue*" "dest_value")
+     '("gboolean" "strict_validation")
+   )
+ )
+ 
+ (define-function g_param_values_cmp
+   (c-name "g_param_values_cmp")
+   (return-type "gint")
+   (parameters
+     '("GParamSpec*" "pspec")
+     '("const-GValue*" "value1")
+     '("const-GValue*" "value2")
+   )
+ )
+ 
+ (define-method get_name
+   (of-object "GParamSpec")
+   (c-name "g_param_spec_get_name")
+   (return-type "const-gchar*")
+ )
+ 
+ (define-method get_nick
+   (of-object "GParamSpec")
+   (c-name "g_param_spec_get_nick")
+   (return-type "const-gchar*")
+ )
+ 
+ (define-method get_blurb
+   (of-object "GParamSpec")
+   (c-name "g_param_spec_get_blurb")
+   (return-type "const-gchar*")
+ )
+ 
+ (define-method set_param
+   (of-object "GValue")
+   (c-name "g_value_set_param")
+   (return-type "none")
+   (parameters
+     '("GParamSpec*" "param")
+   )
+ )
+ 
+ (define-method get_param
+   (of-object "GValue")
+   (c-name "g_value_get_param")
+   (return-type "GParamSpec*")
+ )
+ 
+ (define-method dup_param
+   (of-object "GValue")
+   (c-name "g_value_dup_param")
+   (return-type "GParamSpec*")
+ )
+ 
+ (define-method take_param
+   (of-object "GValue")
+   (c-name "g_value_take_param")
+   (return-type "none")
+   (parameters
+     '("GParamSpec*" "param")
+   )
+ )
+ 
+ (define-method set_param_take_ownership
+   (of-object "GValue")
+   (c-name "g_value_set_param_take_ownership")
+   (return-type "none")
+   (parameters
+     '("GParamSpec*" "param")
+   )
+ )
+ 
+ (define-method get_default_value
+   (of-object "GParamSpec")
+   (c-name "g_param_spec_get_default_value")
+   (return-type "const-GValue*")
+ )
+ 
+ (define-function g_param_type_register_static
+   (c-name "g_param_type_register_static")
+   (return-type "GType")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-GParamSpecTypeInfo*" "pspec_info")
+   )
+ )
+ 
+ (define-function g_param_spec_internal
+   (c-name "g_param_spec_internal")
+   (return-type "gpointer")
+   (parameters
+     '("GType" "param_type")
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_pool_new
+   (c-name "g_param_spec_pool_new")
+   (is-constructor-of "GParamSpecPool")
+   (return-type "GParamSpecPool*")
+   (parameters
+     '("gboolean" "type_prefixing")
+   )
+ )
+ 
+ (define-method insert
+   (of-object "GParamSpecPool")
+   (c-name "g_param_spec_pool_insert")
+   (return-type "none")
+   (parameters
+     '("GParamSpec*" "pspec")
+     '("GType" "owner_type")
+   )
+ )
+ 
+ (define-method remove
+   (of-object "GParamSpecPool")
+   (c-name "g_param_spec_pool_remove")
+   (return-type "none")
+   (parameters
+     '("GParamSpec*" "pspec")
+   )
+ )
+ 
+ (define-method lookup
+   (of-object "GParamSpecPool")
+   (c-name "g_param_spec_pool_lookup")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "param_name")
+     '("GType" "owner_type")
+     '("gboolean" "walk_ancestors")
+   )
+ )
+ 
+ (define-method list_owned
+   (of-object "GParamSpecPool")
+   (c-name "g_param_spec_pool_list_owned")
+   (return-type "GList*")
+   (parameters
+     '("GType" "owner_type")
+   )
+ )
+ 
+ (define-method list
+   (of-object "GParamSpecPool")
+   (c-name "g_param_spec_pool_list")
+   (return-type "GParamSpec**")
+   (parameters
+     '("GType" "owner_type")
+     '("guint*" "n_pspecs_p")
+   )
+ )
+ 
+ 
+ 
+ ;; From gparamspecs.h
+ 
+ (define-function g_param_spec_char
+   (c-name "g_param_spec_char")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("gint8" "minimum")
+     '("gint8" "maximum")
+     '("gint8" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_uchar
+   (c-name "g_param_spec_uchar")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("guint8" "minimum")
+     '("guint8" "maximum")
+     '("guint8" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_boolean
+   (c-name "g_param_spec_boolean")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("gboolean" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_int
+   (c-name "g_param_spec_int")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("gint" "minimum")
+     '("gint" "maximum")
+     '("gint" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_uint
+   (c-name "g_param_spec_uint")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("guint" "minimum")
+     '("guint" "maximum")
+     '("guint" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_long
+   (c-name "g_param_spec_long")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("glong" "minimum")
+     '("glong" "maximum")
+     '("glong" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_ulong
+   (c-name "g_param_spec_ulong")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("gulong" "minimum")
+     '("gulong" "maximum")
+     '("gulong" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_int64
+   (c-name "g_param_spec_int64")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("gint64" "minimum")
+     '("gint64" "maximum")
+     '("gint64" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_uint64
+   (c-name "g_param_spec_uint64")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("guint64" "minimum")
+     '("guint64" "maximum")
+     '("guint64" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_unichar
+   (c-name "g_param_spec_unichar")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("gunichar" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_enum
+   (c-name "g_param_spec_enum")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("GType" "enum_type")
+     '("gint" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_flags
+   (c-name "g_param_spec_flags")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("GType" "flags_type")
+     '("guint" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_float
+   (c-name "g_param_spec_float")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("gfloat" "minimum")
+     '("gfloat" "maximum")
+     '("gfloat" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_double
+   (c-name "g_param_spec_double")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("gdouble" "minimum")
+     '("gdouble" "maximum")
+     '("gdouble" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_string
+   (c-name "g_param_spec_string")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("const-gchar*" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_param
+   (c-name "g_param_spec_param")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("GType" "param_type")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_boxed
+   (c-name "g_param_spec_boxed")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("GType" "boxed_type")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_pointer
+   (c-name "g_param_spec_pointer")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_value_array
+   (c-name "g_param_spec_value_array")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("GParamSpec*" "element_spec")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_object
+   (c-name "g_param_spec_object")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("GType" "object_type")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_override
+   (c-name "g_param_spec_override")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("GParamSpec*" "overridden")
+   )
+ )
+ 
+ (define-function g_param_spec_gtype
+   (c-name "g_param_spec_gtype")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("GType" "is_a_type")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ (define-function g_param_spec_variant
+   (c-name "g_param_spec_variant")
+   (return-type "GParamSpec*")
+   (parameters
+     '("const-gchar*" "name")
+     '("const-gchar*" "nick")
+     '("const-gchar*" "blurb")
+     '("const-GVariantType*" "type")
+     '("GVariant*" "default_value")
+     '("GParamFlags" "flags")
+   )
+ )
+ 
+ 
+ 
+ ;; From gsignal.h
+ 
+ (define-function g_signal_newv
+   (c-name "g_signal_newv")
+   (return-type "guint")
+   (parameters
+     '("const-gchar*" "signal_name")
+     '("GType" "itype")
+     '("GSignalFlags" "signal_flags")
+     '("GClosure*" "class_closure")
+     '("GSignalAccumulator" "accumulator")
+     '("gpointer" "accu_data")
+     '("GSignalCMarshaller" "c_marshaller")
+     '("GType" "return_type")
+     '("guint" "n_params")
+     '("GType*" "param_types")
+   )
+ )
+ 
+ (define-function g_signal_new_valist
+   (c-name "g_signal_new_valist")
+   (return-type "guint")
+   (parameters
+     '("const-gchar*" "signal_name")
+     '("GType" "itype")
+     '("GSignalFlags" "signal_flags")
+     '("GClosure*" "class_closure")
+     '("GSignalAccumulator" "accumulator")
+     '("gpointer" "accu_data")
+     '("GSignalCMarshaller" "c_marshaller")
+     '("GType" "return_type")
+     '("guint" "n_params")
+     '("va_list" "args")
+   )
+ )
+ 
+ (define-function g_signal_new
+   (c-name "g_signal_new")
+   (return-type "guint")
+   (parameters
+     '("const-gchar*" "signal_name")
+     '("GType" "itype")
+     '("GSignalFlags" "signal_flags")
+     '("guint" "class_offset")
+     '("GSignalAccumulator" "accumulator")
+     '("gpointer" "accu_data")
+     '("GSignalCMarshaller" "c_marshaller")
+     '("GType" "return_type")
+     '("guint" "n_params")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_signal_new_class_handler
+   (c-name "g_signal_new_class_handler")
+   (return-type "guint")
+   (parameters
+     '("const-gchar*" "signal_name")
+     '("GType" "itype")
+     '("GSignalFlags" "signal_flags")
+     '("GCallback" "class_handler")
+     '("GSignalAccumulator" "accumulator")
+     '("gpointer" "accu_data")
+     '("GSignalCMarshaller" "c_marshaller")
+     '("GType" "return_type")
+     '("guint" "n_params")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_signal_set_va_marshaller
+   (c-name "g_signal_set_va_marshaller")
+   (return-type "none")
+   (parameters
+     '("guint" "signal_id")
+     '("GType" "instance_type")
+     '("GSignalCVaMarshaller" "va_marshaller")
+   )
+ )
+ 
+ (define-function g_signal_emitv
+   (c-name "g_signal_emitv")
+   (return-type "none")
+   (parameters
+     '("const-GValue*" "instance_and_params")
+     '("guint" "signal_id")
+     '("GQuark" "detail")
+     '("GValue*" "return_value")
+   )
+ )
+ 
+ (define-function g_signal_emit_valist
+   (c-name "g_signal_emit_valist")
+   (return-type "none")
+   (parameters
+     '("gpointer" "instance")
+     '("guint" "signal_id")
+     '("GQuark" "detail")
+     '("va_list" "var_args")
+   )
+ )
+ 
+ (define-function g_signal_emit
+   (c-name "g_signal_emit")
+   (return-type "none")
+   (parameters
+     '("gpointer" "instance")
+     '("guint" "signal_id")
+     '("GQuark" "detail")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_signal_emit_by_name
+   (c-name "g_signal_emit_by_name")
+   (return-type "none")
+   (parameters
+     '("gpointer" "instance")
+     '("const-gchar*" "detailed_signal")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_signal_lookup
+   (c-name "g_signal_lookup")
+   (return-type "guint")
+   (parameters
+     '("const-gchar*" "name")
+     '("GType" "itype")
+   )
+ )
+ 
+ (define-function g_signal_name
+   (c-name "g_signal_name")
+   (return-type "const-gchar*")
+   (parameters
+     '("guint" "signal_id")
+   )
+ )
+ 
+ (define-function g_signal_query
+   (c-name "g_signal_query")
+   (return-type "none")
+   (parameters
+     '("guint" "signal_id")
+     '("GSignalQuery*" "query")
+   )
+ )
+ 
+ (define-function g_signal_list_ids
+   (c-name "g_signal_list_ids")
+   (return-type "guint*")
+   (parameters
+     '("GType" "itype")
+     '("guint*" "n_ids")
+   )
+ )
+ 
+ (define-function g_signal_parse_name
+   (c-name "g_signal_parse_name")
+   (return-type "gboolean")
+   (parameters
+     '("const-gchar*" "detailed_signal")
+     '("GType" "itype")
+     '("guint*" "signal_id_p")
+     '("GQuark*" "detail_p")
+     '("gboolean" "force_detail_quark")
+   )
+ )
+ 
+ (define-function g_signal_get_invocation_hint
+   (c-name "g_signal_get_invocation_hint")
+   (return-type "GSignalInvocationHint*")
+   (parameters
+     '("gpointer" "instance")
+   )
+ )
+ 
+ (define-function g_signal_stop_emission
+   (c-name "g_signal_stop_emission")
+   (return-type "none")
+   (parameters
+     '("gpointer" "instance")
+     '("guint" "signal_id")
+     '("GQuark" "detail")
+   )
+ )
+ 
+ (define-function g_signal_stop_emission_by_name
+   (c-name "g_signal_stop_emission_by_name")
+   (return-type "none")
+   (parameters
+     '("gpointer" "instance")
+     '("const-gchar*" "detailed_signal")
+   )
+ )
+ 
+ (define-function g_signal_add_emission_hook
+   (c-name "g_signal_add_emission_hook")
+   (return-type "gulong")
+   (parameters
+     '("guint" "signal_id")
+     '("GQuark" "detail")
+     '("GSignalEmissionHook" "hook_func")
+     '("gpointer" "hook_data")
+     '("GDestroyNotify" "data_destroy")
+   )
+ )
+ 
+ (define-function g_signal_remove_emission_hook
+   (c-name "g_signal_remove_emission_hook")
+   (return-type "none")
+   (parameters
+     '("guint" "signal_id")
+     '("gulong" "hook_id")
+   )
+ )
+ 
+ (define-function g_signal_has_handler_pending
+   (c-name "g_signal_has_handler_pending")
+   (return-type "gboolean")
+   (parameters
+     '("gpointer" "instance")
+     '("guint" "signal_id")
+     '("GQuark" "detail")
+     '("gboolean" "may_be_blocked")
+   )
+ )
+ 
+ (define-function g_signal_connect_closure_by_id
+   (c-name "g_signal_connect_closure_by_id")
+   (return-type "gulong")
+   (parameters
+     '("gpointer" "instance")
+     '("guint" "signal_id")
+     '("GQuark" "detail")
+     '("GClosure*" "closure")
+     '("gboolean" "after")
+   )
+ )
+ 
+ (define-function g_signal_connect_closure
+   (c-name "g_signal_connect_closure")
+   (return-type "gulong")
+   (parameters
+     '("gpointer" "instance")
+     '("const-gchar*" "detailed_signal")
+     '("GClosure*" "closure")
+     '("gboolean" "after")
+   )
+ )
+ 
+ (define-function g_signal_connect_data
+   (c-name "g_signal_connect_data")
+   (return-type "gulong")
+   (parameters
+     '("gpointer" "instance")
+     '("const-gchar*" "detailed_signal")
+     '("GCallback" "c_handler")
+     '("gpointer" "data")
+     '("GClosureNotify" "destroy_data")
+     '("GConnectFlags" "connect_flags")
+   )
+ )
+ 
+ (define-function g_signal_handler_block
+   (c-name "g_signal_handler_block")
+   (return-type "none")
+   (parameters
+     '("gpointer" "instance")
+     '("gulong" "handler_id")
+   )
+ )
+ 
+ (define-function g_signal_handler_unblock
+   (c-name "g_signal_handler_unblock")
+   (return-type "none")
+   (parameters
+     '("gpointer" "instance")
+     '("gulong" "handler_id")
+   )
+ )
+ 
+ (define-function g_signal_handler_disconnect
+   (c-name "g_signal_handler_disconnect")
+   (return-type "none")
+   (parameters
+     '("gpointer" "instance")
+     '("gulong" "handler_id")
+   )
+ )
+ 
+ (define-function g_signal_handler_is_connected
+   (c-name "g_signal_handler_is_connected")
+   (return-type "gboolean")
+   (parameters
+     '("gpointer" "instance")
+     '("gulong" "handler_id")
+   )
+ )
+ 
+ (define-function g_signal_handler_find
+   (c-name "g_signal_handler_find")
+   (return-type "gulong")
+   (parameters
+     '("gpointer" "instance")
+     '("GSignalMatchType" "mask")
+     '("guint" "signal_id")
+     '("GQuark" "detail")
+     '("GClosure*" "closure")
+     '("gpointer" "func")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-function g_signal_handlers_block_matched
+   (c-name "g_signal_handlers_block_matched")
+   (return-type "guint")
+   (parameters
+     '("gpointer" "instance")
+     '("GSignalMatchType" "mask")
+     '("guint" "signal_id")
+     '("GQuark" "detail")
+     '("GClosure*" "closure")
+     '("gpointer" "func")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-function g_signal_handlers_unblock_matched
+   (c-name "g_signal_handlers_unblock_matched")
+   (return-type "guint")
+   (parameters
+     '("gpointer" "instance")
+     '("GSignalMatchType" "mask")
+     '("guint" "signal_id")
+     '("GQuark" "detail")
+     '("GClosure*" "closure")
+     '("gpointer" "func")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-function g_signal_handlers_disconnect_matched
+   (c-name "g_signal_handlers_disconnect_matched")
+   (return-type "guint")
+   (parameters
+     '("gpointer" "instance")
+     '("GSignalMatchType" "mask")
+     '("guint" "signal_id")
+     '("GQuark" "detail")
+     '("GClosure*" "closure")
+     '("gpointer" "func")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-function g_signal_override_class_closure
+   (c-name "g_signal_override_class_closure")
+   (return-type "none")
+   (parameters
+     '("guint" "signal_id")
+     '("GType" "instance_type")
+     '("GClosure*" "class_closure")
+   )
+ )
+ 
+ (define-function g_signal_override_class_handler
+   (c-name "g_signal_override_class_handler")
+   (return-type "none")
+   (parameters
+     '("const-gchar*" "signal_name")
+     '("GType" "instance_type")
+     '("GCallback" "class_handler")
+   )
+ )
+ 
+ (define-function g_signal_chain_from_overridden
+   (c-name "g_signal_chain_from_overridden")
+   (return-type "none")
+   (parameters
+     '("const-GValue*" "instance_and_params")
+     '("GValue*" "return_value")
+   )
+ )
+ 
+ (define-function g_signal_chain_from_overridden_handler
+   (c-name "g_signal_chain_from_overridden_handler")
+   (return-type "none")
+   (parameters
+     '("gpointer" "instance")
+   )
+   (varargs #t)
+ )
+ 
+ (define-function g_signal_accumulator_true_handled
+   (c-name "g_signal_accumulator_true_handled")
+   (return-type "gboolean")
+   (parameters
+     '("GSignalInvocationHint*" "ihint")
+     '("GValue*" "return_accu")
+     '("const-GValue*" "handler_return")
+     '("gpointer" "dummy")
+   )
+ )
+ 
+ (define-function g_signal_accumulator_first_wins
+   (c-name "g_signal_accumulator_first_wins")
+   (return-type "gboolean")
+   (parameters
+     '("GSignalInvocationHint*" "ihint")
+     '("GValue*" "return_accu")
+     '("const-GValue*" "handler_return")
+     '("gpointer" "dummy")
+   )
+ )
+ 
+ (define-function g_signal_handlers_destroy
+   (c-name "g_signal_handlers_destroy")
+   (return-type "none")
+   (parameters
+     '("gpointer" "instance")
+   )
+ )
+ 
+ 
+ 
+ ;; From gsourceclosure.h
+ 
+ (define-method set_closure
+   (of-object "GSource")
+   (c-name "g_source_set_closure")
+   (return-type "none")
+   (parameters
+     '("GClosure*" "closure")
+   )
+ )
+ 
+ (define-method set_dummy_callback
+   (of-object "GSource")
+   (c-name "g_source_set_dummy_callback")
+   (return-type "none")
+ )
+ 
+ 
+ 
+ ;; From gtype.h
+ 
+ (define-function g_type_init
+   (c-name "g_type_init")
+   (return-type "none")
+ )
+ 
+ (define-function g_type_init_with_debug_flags
+   (c-name "g_type_init_with_debug_flags")
+   (return-type "none")
+   (parameters
+     '("GTypeDebugFlags" "debug_flags")
+   )
+ )
+ 
+ (define-method name
+   (of-object "GType")
+   (c-name "g_type_name")
+   (return-type "const-gchar*")
+ )
+ 
+ (define-method qname
+   (of-object "GType")
+   (c-name "g_type_qname")
+   (return-type "GQuark")
+ )
+ 
+ (define-function g_type_from_name
+   (c-name "g_type_from_name")
+   (return-type "GType")
+   (parameters
+     '("const-gchar*" "name")
+   )
+ )
+ 
+ (define-method parent
+   (of-object "GType")
+   (c-name "g_type_parent")
+   (return-type "GType")
+ )
+ 
+ (define-method depth
+   (of-object "GType")
+   (c-name "g_type_depth")
+   (return-type "guint")
+ )
+ 
+ (define-method next_base
+   (of-object "GType")
+   (c-name "g_type_next_base")
+   (return-type "GType")
+   (parameters
+     '("GType" "root_type")
+   )
+ )
+ 
+ (define-method is_a
+   (of-object "GType")
+   (c-name "g_type_is_a")
+   (return-type "gboolean")
+   (parameters
+     '("GType" "is_a_type")
+   )
+ )
+ 
+ (define-method class_ref
+   (of-object "GType")
+   (c-name "g_type_class_ref")
+   (return-type "gpointer")
+ )
+ 
+ (define-method class_peek
+   (of-object "GType")
+   (c-name "g_type_class_peek")
+   (return-type "gpointer")
+ )
+ 
+ (define-method class_peek_static
+   (of-object "GType")
+   (c-name "g_type_class_peek_static")
+   (return-type "gpointer")
+ )
+ 
+ (define-function g_type_class_unref
+   (c-name "g_type_class_unref")
+   (return-type "none")
+   (parameters
+     '("gpointer" "g_class")
+   )
+ )
+ 
+ (define-function g_type_class_peek_parent
+   (c-name "g_type_class_peek_parent")
+   (return-type "gpointer")
+   (parameters
+     '("gpointer" "g_class")
+   )
+ )
+ 
+ (define-function g_type_interface_peek
+   (c-name "g_type_interface_peek")
+   (return-type "gpointer")
+   (parameters
+     '("gpointer" "instance_class")
+     '("GType" "iface_type")
+   )
+ )
+ 
+ (define-function g_type_interface_peek_parent
+   (c-name "g_type_interface_peek_parent")
+   (return-type "gpointer")
+   (parameters
+     '("gpointer" "g_iface")
+   )
+ )
+ 
+ (define-method default_interface_ref
+   (of-object "GType")
+   (c-name "g_type_default_interface_ref")
+   (return-type "gpointer")
+ )
+ 
+ (define-method default_interface_peek
+   (of-object "GType")
+   (c-name "g_type_default_interface_peek")
+   (return-type "gpointer")
+ )
+ 
+ (define-function g_type_default_interface_unref
+   (c-name "g_type_default_interface_unref")
+   (return-type "none")
+   (parameters
+     '("gpointer" "g_iface")
+   )
+ )
+ 
+ (define-method children
+   (of-object "GType")
+   (c-name "g_type_children")
+   (return-type "GType*")
+   (parameters
+     '("guint*" "n_children")
+   )
+ )
+ 
+ (define-method interfaces
+   (of-object "GType")
+   (c-name "g_type_interfaces")
+   (return-type "GType*")
+   (parameters
+     '("guint*" "n_interfaces")
+   )
+ )
+ 
+ (define-method set_qdata
+   (of-object "GType")
+   (c-name "g_type_set_qdata")
+   (return-type "none")
+   (parameters
+     '("GQuark" "quark")
+     '("gpointer" "data")
+   )
+ )
+ 
+ (define-method get_qdata
+   (of-object "GType")
+   (c-name "g_type_get_qdata")
+   (return-type "gpointer")
+   (parameters
+     '("GQuark" "quark")
+   )
+ )
+ 
+ (define-method query
+   (of-object "GType")
+   (c-name "g_type_query")
+   (return-type "none")
+   (parameters
+     '("GTypeQuery*" "query")
+   )
+ )
+ 
+ (define-method get_instance_count
+   (of-object "GType")
+   (c-name "g_type_get_instance_count")
+   (return-type "int")
+ )
+ 
+ (define-method register_static
+   (of-object "GType")
+   (c-name "g_type_register_static")
+   (return-type "GType")
+   (parameters
+     '("const-gchar*" "type_name")
+     '("const-GTypeInfo*" "info")
+     '("GTypeFlags" "flags")
+   )
+ )
+ 
+ (define-method register_static_simple
+   (of-object "GType")
+   (c-name "g_type_register_static_simple")
+   (return-type "GType")
+   (parameters
+     '("const-gchar*" "type_name")
+     '("guint" "class_size")
+     '("GClassInitFunc" "class_init")
+     '("guint" "instance_size")
+     '("GInstanceInitFunc" "instance_init")
+     '("GTypeFlags" "flags")
+   )
+ )
+ 
+ (define-method register_dynamic
+   (of-object "GType")
+   (c-name "g_type_register_dynamic")
+   (return-type "GType")
+   (parameters
+     '("const-gchar*" "type_name")
+     '("GTypePlugin*" "plugin")
+     '("GTypeFlags" "flags")
+   )
+ )
+ 
+ (define-method register_fundamental
+   (of-object "GType")
+   (c-name "g_type_register_fundamental")
+   (return-type "GType")
+   (parameters
+     '("const-gchar*" "type_name")
+     '("const-GTypeInfo*" "info")
+     '("const-GTypeFundamentalInfo*" "finfo")
+     '("GTypeFlags" "flags")
+   )
+ )
+ 
+ (define-method add_interface_static
+   (of-object "GType")
+   (c-name "g_type_add_interface_static")
+   (return-type "none")
+   (parameters
+     '("GType" "interface_type")
+     '("const-GInterfaceInfo*" "info")
+   )
+ )
+ 
+ (define-method add_interface_dynamic
+   (of-object "GType")
+   (c-name "g_type_add_interface_dynamic")
+   (return-type "none")
+   (parameters
+     '("GType" "interface_type")
+     '("GTypePlugin*" "plugin")
+   )
+ )
+ 
+ (define-method interface_add_prerequisite
+   (of-object "GType")
+   (c-name "g_type_interface_add_prerequisite")
+   (return-type "none")
+   (parameters
+     '("GType" "prerequisite_type")
+   )
+ )
+ 
+ (define-method interface_prerequisites
+   (of-object "GType")
+   (c-name "g_type_interface_prerequisites")
+   (return-type "GType*")
+   (parameters
+     '("guint*" "n_prerequisites")
+   )
+ )
+ 
+ (define-function g_type_class_add_private
+   (c-name "g_type_class_add_private")
+   (return-type "none")
+   (parameters
+     '("gpointer" "g_class")
+     '("gsize" "private_size")
+   )
+ )
+ 
+ (define-method add_instance_private
+   (of-object "GType")
+   (c-name "g_type_add_instance_private")
+   (return-type "gint")
+   (parameters
+     '("gsize" "private_size")
+   )
+ )
+ 
+ (define-method get_private
+   (of-object "GTypeInstance")
+   (c-name "g_type_instance_get_private")
+   (return-type "gpointer")
+   (parameters
+     '("GType" "private_type")
+   )
+ )
+ 
+ (define-function g_type_class_adjust_private_offset
+   (c-name "g_type_class_adjust_private_offset")
+   (return-type "none")
+   (parameters
+     '("gpointer" "g_class")
+     '("gint*" "private_size_or_offset")
+   )
+ )
+ 
+ (define-method add_class_private
+   (of-object "GType")
+   (c-name "g_type_add_class_private")
+   (return-type "none")
+   (parameters
+     '("gsize" "private_size")
+   )
+ )
+ 
+ (define-method get_private
+   (of-object "GTypeClass")
+   (c-name "g_type_class_get_private")
+   (return-type "gpointer")
+   (parameters
+     '("GType" "private_type")
+   )
+ )
+ 
+ (define-function g_type_class_get_instance_private_offset
+   (c-name "g_type_class_get_instance_private_offset")
+   (return-type "gint")
+   (parameters
+     '("gpointer" "g_class")
+   )
+ )
+ 
+ (define-method ensure
+   (of-object "GType")
+   (c-name "g_type_ensure")
+   (return-type "none")
+ )
+ 
+ (define-function g_type_get_type_registration_serial
+   (c-name "g_type_get_type_registration_serial")
+   (return-type "guint")
+ )
+ 
+ (define-method get_plugin
+   (of-object "GType")
+   (c-name "g_type_get_plugin")
+   (return-type "GTypePlugin*")
+ )
+ 
+ (define-method interface_get_plugin
+   (of-object "GType")
+   (c-name "g_type_interface_get_plugin")
+   (return-type "GTypePlugin*")
+   (parameters
 -    '("GType" "interface_type")
++    '("gpointer" "notify_data")
++    '("GClosureNotify" "notify_func")
+   )
+ )
+ 
 -(define-function g_type_fundamental_next
 -  (c-name "g_type_fundamental_next")
 -  (return-type "GType")
 -)
 -
 -(define-method fundamental
 -  (of-object "GType")
 -  (c-name "g_type_fundamental")
 -  (return-type "GType")
 +(define-method add_marshal_guards
 +  (of-object "GClosure")
 +  (c-name "g_closure_add_marshal_guards")
 +  (return-type "none")
 +  (parameters
 +    '("gpointer" "pre_marshal_data")
 +    '("GClosureNotify" "pre_marshal_notify")
 +    '("gpointer" "post_marshal_data")
 +    '("GClosureNotify" "post_marshal_notify")
 +  )
  )
  
 -(define-method create_instance
 -  (of-object "GType")
 -  (c-name "g_type_create_instance")
 -  (return-type "GTypeInstance*")
 +(define-method invalidate
 +  (of-object "GClosure")
 +  (c-name "g_closure_invalidate")
 +  (return-type "none")
  )
  
 -(define-function g_type_free_instance
 -  (c-name "g_type_free_instance")
 +(define-method invoke
 +  (of-object "GClosure")
 +  (c-name "g_closure_invoke")
    (return-type "none")
    (parameters
 -    '("GTypeInstance*" "instance")
 +    '("GValue*" "return_value")
 +    '("guint" "n_param_values")
 +    '("const-GValue*" "param_values")
 +    '("gpointer" "invocation_hint")
    )
  )
  
@@@ -271,174 -3555,206 +3544,170 @@@
    )
  )
  
 -(define-method register_enum
 -  (of-object "GTypeModule")
 -  (c-name "g_type_module_register_enum")
 -  (return-type "GType")
 -  (parameters
 -    '("const-gchar*" "name")
 -  )
 +(define-method dup_boxed
 +  (of-object "GValue")
 +  (c-name "g_value_dup_boxed")
 +  (return-type "gpointer")
  )
  
 -(define-method register_flags
 -  (of-object "GTypeModule")
 -  (c-name "g_type_module_register_flags")
 -  (return-type "GType")
 -  (parameters
 -    '("const-gchar*" "name")
 -  )
 +(define-method dup_object
 +  (of-object "GValue")
 +  (c-name "g_value_dup_object")
 +  (return-type "gpointer")
  )
  
 -
 -
 -;; From gtypeplugin.h
 -
 -(define-function g_type_plugin_get_type
 -  (c-name "g_type_plugin_get_type")
 -  (return-type "GType")
 +(define-method dup_param
 +  (of-object "GValue")
 +  (c-name "g_value_dup_param")
 +  (return-type "GParamSpec*")
  )
  
 -(define-method use
 -  (of-object "GTypePlugin")
 -  (c-name "g_type_plugin_use")
 -  (return-type "none")
 +(define-method dup_string
 +  (of-object "GValue")
 +  (c-name "g_value_dup_string")
 +  (return-type "gchar*")
  )
  
 -(define-method unuse
 -  (of-object "GTypePlugin")
 -  (c-name "g_type_plugin_unuse")
 -  (return-type "none")
 +(define-method dup_variant
 +  (of-object "GValue")
 +  (c-name "g_value_dup_variant")
 +  (return-type "GVariant*")
  )
  
 -(define-method complete_type_info
 -  (of-object "GTypePlugin")
 -  (c-name "g_type_plugin_complete_type_info")
 -  (return-type "none")
 -  (parameters
 -    '("GType" "g_type")
 -    '("GTypeInfo*" "info")
 -    '("GTypeValueTable*" "value_table")
 -  )
 +(define-method fits_pointer
 +  (of-object "GValue")
 +  (c-name "g_value_fits_pointer")
 +  (return-type "gboolean")
  )
  
 -(define-method complete_interface_info
 -  (of-object "GTypePlugin")
 -  (c-name "g_type_plugin_complete_interface_info")
 -  (return-type "none")
 -  (parameters
 -    '("GType" "instance_type")
 -    '("GType" "interface_type")
 -    '("GInterfaceInfo*" "info")
 -  )
 +(define-method get_boolean
 +  (of-object "GValue")
 +  (c-name "g_value_get_boolean")
 +  (return-type "gboolean")
  )
  
 +(define-method get_boxed
 +  (of-object "GValue")
 +  (c-name "g_value_get_boxed")
 +  (return-type "gpointer")
 +)
  
 +(define-method get_char
 +  (of-object "GValue")
 +  (c-name "g_value_get_char")
 +  (return-type "gchar")
 +)
  
- (define-method get_double
-   (of-object "GValue")
-   (c-name "g_value_get_double")
-   (return-type "gdouble")
- )
+ ;; From gvaluearray.h
  
 -(define-function g_value_array_get_type
 -  (c-name "g_value_array_get_type")
 -  (return-type "GType")
 +(define-method get_enum
 +  (of-object "GValue")
 +  (c-name "g_value_get_enum")
 +  (return-type "gint")
  )
  
 -(define-method get_nth
 -  (of-object "GValueArray")
 -  (c-name "g_value_array_get_nth")
 -  (return-type "GValue*")
 -  (parameters
 -    '("guint" "index_")
 -  )
 +(define-method get_flags
 +  (of-object "GValue")
 +  (c-name "g_value_get_flags")
 +  (return-type "guint")
  )
  
 -(define-function g_value_array_new
 -  (c-name "g_value_array_new")
 -  (is-constructor-of "GValueArray")
 -  (return-type "GValueArray*")
 -  (parameters
 -    '("guint" "n_prealloced")
 -  )
 +(define-method get_float
 +  (of-object "GValue")
 +  (c-name "g_value_get_float")
 +  (return-type "gfloat")
  )
  
 -(define-method free
 -  (of-object "GValueArray")
 -  (c-name "g_value_array_free")
 -  (return-type "none")
 +(define-method get_gtype
 +  (of-object "GValue")
 +  (c-name "g_value_get_gtype")
 +  (return-type "GType")
  )
  
 -(define-method copy
 -  (of-object "GValueArray")
 -  (c-name "g_value_array_copy")
 -  (return-type "GValueArray*")
 +(define-method get_int
 +  (of-object "GValue")
 +  (c-name "g_value_get_int")
 +  (return-type "gint")
  )
  
 -(define-method prepend
 -  (of-object "GValueArray")
 -  (c-name "g_value_array_prepend")
 -  (return-type "GValueArray*")
 -  (parameters
 -    '("const-GValue*" "value")
 -  )
 +(define-method get_int64
 +  (of-object "GValue")
 +  (c-name "g_value_get_int64")
 +  (return-type "gint64")
  )
  
 -(define-method append
 -  (of-object "GValueArray")
 -  (c-name "g_value_array_append")
 -  (return-type "GValueArray*")
 -  (parameters
 -    '("const-GValue*" "value")
 -  )
 +(define-method get_long
 +  (of-object "GValue")
 +  (c-name "g_value_get_long")
 +  (return-type "glong")
  )
  
 -(define-method insert
 -  (of-object "GValueArray")
 -  (c-name "g_value_array_insert")
 -  (return-type "GValueArray*")
 -  (parameters
 -    '("guint" "index_")
 -    '("const-GValue*" "value")
 -  )
 +(define-method get_object
 +  (of-object "GValue")
 +  (c-name "g_value_get_object")
 +  (return-type "gpointer")
  )
  
 -(define-method remove
 -  (of-object "GValueArray")
 -  (c-name "g_value_array_remove")
 -  (return-type "GValueArray*")
 -  (parameters
 -    '("guint" "index_")
 -  )
 +(define-method get_param
 +  (of-object "GValue")
 +  (c-name "g_value_get_param")
 +  (return-type "GParamSpec*")
  )
  
 -(define-method sort
 -  (of-object "GValueArray")
 -  (c-name "g_value_array_sort")
 -  (return-type "GValueArray*")
 -  (parameters
 -    '("GCompareFunc" "compare_func")
 -  )
 +(define-method get_pointer
 +  (of-object "GValue")
 +  (c-name "g_value_get_pointer")
 +  (return-type "gpointer")
  )
  
 -(define-method sort_with_data
 -  (of-object "GValueArray")
 -  (c-name "g_value_array_sort_with_data")
 -  (return-type "GValueArray*")
 -  (parameters
 -    '("GCompareDataFunc" "compare_func")
 -    '("gpointer" "user_data")
 -  )
 +(define-method get_schar
 +  (of-object "GValue")
 +  (c-name "g_value_get_schar")
 +  (return-type "gint8")
  )
  
 +(define-method get_string
 +  (of-object "GValue")
 +  (c-name "g_value_get_string")
 +  (return-type "const-gchar*")
 +)
  
 +(define-method get_uchar
 +  (of-object "GValue")
 +  (c-name "g_value_get_uchar")
 +  (return-type "guchar")
 +)
  
 -;; From gvaluecollector.h
 -
 -
 -
 -;; From gvalue.h
 -
 -(define-method init
 +(define-method get_uint
    (of-object "GValue")
 -  (c-name "g_value_init")
 -  (return-type "GValue*")
 -  (parameters
 -    '("GType" "g_type")
 -  )
 +  (c-name "g_value_get_uint")
 +  (return-type "guint")
  )
  
 -(define-method copy
 +(define-method get_uint64
    (of-object "GValue")
 -  (c-name "g_value_copy")
 -  (return-type "none")
 -  (parameters
 -    '("GValue*" "dest_value")
 -  )
 +  (c-name "g_value_get_uint64")
 +  (return-type "guint64")
  )
  
 -(define-method reset
 +(define-method get_ulong
    (of-object "GValue")
 -  (c-name "g_value_reset")
 -  (return-type "GValue*")
 +  (c-name "g_value_get_ulong")
 +  (return-type "gulong")
  )
  
 -(define-method unset
 +(define-method get_variant
    (of-object "GValue")
 -  (c-name "g_value_unset")
 -  (return-type "none")
 +  (c-name "g_value_get_variant")
 +  (return-type "GVariant*")
  )
  
 -(define-method set_instance
 +(define-method init
    (of-object "GValue")
 -  (c-name "g_value_set_instance")
 -  (return-type "none")
 +  (c-name "g_value_init")
 +  (return-type "GValue*")
    (parameters
 -    '("gpointer" "instance")
 +    '("GType" "g_type")
    )
  )
  



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]