
;; Objects for namespace GLib

(define-object Allocator
  (in-module "GLib")
  (c-name "GAllocator")
  (gtype-id "G_TYPE_ALLOCATOR")
)

(define-object Array
  (in-module "GLib")
  (c-name "GArray")
  (gtype-id "G_TYPE_ARRAY")
)

(define-object AsyncQueue
  (in-module "GLib")
  (c-name "GAsyncQueue")
  (gtype-id "G_TYPE_ASYNC_QUEUE")
)

(define-object BookmarkFile
  (in-module "GLib")
  (c-name "GBookmarkFile")
  (gtype-id "G_TYPE_BOOKMARK_FILE")
)

(define-object ByteArray
  (in-module "GLib")
  (c-name "GByteArray")
  (gtype-id "G_TYPE_BYTE_ARRAY")
)

(define-object Bytes
  (in-module "GLib")
  (c-name "GBytes")
  (gtype-id "G_TYPE_BYTES")
)

(define-object Cache
  (in-module "GLib")
  (c-name "GCache")
  (gtype-id "G_TYPE_CACHE")
)

(define-object Checksum
  (in-module "GLib")
  (c-name "GChecksum")
  (gtype-id "G_TYPE_CHECKSUM")
)

(define-object Completion
  (in-module "GLib")
  (c-name "GCompletion")
  (gtype-id "G_TYPE_COMPLETION")
)

(define-object Cond
  (in-module "GLib")
  (c-name "GCond")
  (gtype-id "G_TYPE_COND")
)

(define-object Data
  (in-module "GLib")
  (c-name "GData")
  (gtype-id "G_TYPE_DATA")
)

(define-object Date
  (in-module "GLib")
  (c-name "GDate")
  (gtype-id "G_TYPE_DATE")
)

(define-object DateTime
  (in-module "GLib")
  (c-name "GDateTime")
  (gtype-id "G_TYPE_DATE_TIME")
)

(define-object DebugKey
  (in-module "GLib")
  (c-name "GDebugKey")
  (gtype-id "G_TYPE_DEBUG_KEY")
)

(define-object Dir
  (in-module "GLib")
  (c-name "GDir")
  (gtype-id "G_TYPE_DIR")
)

(define-object Error
  (in-module "GLib")
  (c-name "GError")
  (gtype-id "G_TYPE_ERROR")
)

(define-object HashTable
  (in-module "GLib")
  (c-name "GHashTable")
  (gtype-id "G_TYPE_HASH_TABLE")
)

(define-object HashTableIter
  (in-module "GLib")
  (c-name "GHashTableIter")
  (gtype-id "G_TYPE_HASH_TABLE_ITER")
)

(define-object Hmac
  (in-module "GLib")
  (c-name "GHmac")
  (gtype-id "G_TYPE_HMAC")
)

(define-object Hook
  (in-module "GLib")
  (c-name "GHook")
  (gtype-id "G_TYPE_HOOK")
)

(define-object HookList
  (in-module "GLib")
  (c-name "GHookList")
  (gtype-id "G_TYPE_HOOK_LIST")
)

(define-object IConv
  (in-module "GLib")
  (c-name "GIConv")
  (gtype-id "G_TYPE_ICONV")
)

(define-object IOChannel
  (in-module "GLib")
  (c-name "GIOChannel")
  (gtype-id "G_TYPE_IO_CHANNEL")
)

(define-object IOFuncs
  (in-module "GLib")
  (c-name "GIOFuncs")
  (gtype-id "G_TYPE_IO_FUNCS")
)

(define-object KeyFile
  (in-module "GLib")
  (c-name "GKeyFile")
  (gtype-id "G_TYPE_KEY_FILE")
)

(define-object List
  (in-module "GLib")
  (c-name "GList")
  (gtype-id "G_TYPE_LIST")
)

(define-object LogField
  (in-module "GLib")
  (c-name "GLogField")
  (gtype-id "G_TYPE_LOG_FIELD")
)

(define-object MainContext
  (in-module "GLib")
  (c-name "GMainContext")
  (gtype-id "G_TYPE_MAIN_CONTEXT")
)

(define-object MainLoop
  (in-module "GLib")
  (c-name "GMainLoop")
  (gtype-id "G_TYPE_MAIN_LOOP")
)

(define-object MappedFile
  (in-module "GLib")
  (c-name "GMappedFile")
  (gtype-id "G_TYPE_MAPPED_FILE")
)

(define-object MarkupParseContext
  (in-module "GLib")
  (c-name "GMarkupParseContext")
  (gtype-id "G_TYPE_MARKUP_PARSE_CONTEXT")
)

(define-object MarkupParser
  (in-module "GLib")
  (c-name "GMarkupParser")
  (gtype-id "G_TYPE_MARKUP_PARSER")
)

(define-object MatchInfo
  (in-module "GLib")
  (c-name "GMatchInfo")
  (gtype-id "G_TYPE_MATCH_INFO")
)

(define-object MemChunk
  (in-module "GLib")
  (c-name "GMemChunk")
  (gtype-id "G_TYPE_MEM_CHUNK")
)

(define-object MemVTable
  (in-module "GLib")
  (c-name "GMemVTable")
  (gtype-id "G_TYPE_MEM_VTABLE")
)

(define-object Node
  (in-module "GLib")
  (c-name "GNode")
  (gtype-id "G_TYPE_NODE")
)

(define-object Once
  (in-module "GLib")
  (c-name "GOnce")
  (gtype-id "G_TYPE_ONCE")
)

(define-object OptionContext
  (in-module "GLib")
  (c-name "GOptionContext")
  (gtype-id "G_TYPE_OPTION_CONTEXT")
)

(define-object OptionEntry
  (in-module "GLib")
  (c-name "GOptionEntry")
  (gtype-id "G_TYPE_OPTION_ENTRY")
)

(define-object OptionGroup
  (in-module "GLib")
  (c-name "GOptionGroup")
  (gtype-id "G_TYPE_OPTION_GROUP")
)

(define-object PathBuf
  (in-module "GLib")
  (c-name "GPathBuf")
  (gtype-id "G_TYPE_PATH_BUF")
)

(define-object PatternSpec
  (in-module "GLib")
  (c-name "GPatternSpec")
  (gtype-id "G_TYPE_PATTERN_SPEC")
)

(define-object PollFD
  (in-module "GLib")
  (c-name "GPollFD")
  (gtype-id "G_TYPE_POLL_FD")
)

(define-object Private
  (in-module "GLib")
  (c-name "GPrivate")
  (gtype-id "G_TYPE_PRIVATE")
)

(define-object PtrArray
  (in-module "GLib")
  (c-name "GPtrArray")
  (gtype-id "G_TYPE_PTR_ARRAY")
)

(define-object Queue
  (in-module "GLib")
  (c-name "GQueue")
  (gtype-id "G_TYPE_QUEUE")
)

(define-object RWLock
  (in-module "GLib")
  (c-name "GRWLock")
  (gtype-id "G_TYPE_RW_LOCK")
)

(define-object Rand
  (in-module "GLib")
  (c-name "GRand")
  (gtype-id "G_TYPE_RAND")
)

(define-object RecMutex
  (in-module "GLib")
  (c-name "GRecMutex")
  (gtype-id "G_TYPE_REC_MUTEX")
)

(define-object Regex
  (in-module "GLib")
  (c-name "GRegex")
  (gtype-id "G_TYPE_REGEX")
)

(define-object Relation
  (in-module "GLib")
  (c-name "GRelation")
  (gtype-id "G_TYPE_RELATION")
)

(define-object SList
  (in-module "GLib")
  (c-name "GSList")
  (gtype-id "G_TYPE_SLIST")
)

(define-object Scanner
  (in-module "GLib")
  (c-name "GScanner")
  (gtype-id "G_TYPE_SCANNER")
)

(define-object ScannerConfig
  (in-module "GLib")
  (c-name "GScannerConfig")
  (gtype-id "G_TYPE_SCANNER_CONFIG")
)

(define-object Sequence
  (in-module "GLib")
  (c-name "GSequence")
  (gtype-id "G_TYPE_SEQUENCE")
)

(define-object SequenceIter
  (in-module "GLib")
  (c-name "GSequenceIter")
  (gtype-id "G_TYPE_SEQUENCE_ITER")
)

(define-object Source
  (in-module "GLib")
  (c-name "GSource")
  (gtype-id "G_TYPE_SOURCE")
)

(define-object SourceCallbackFuncs
  (in-module "GLib")
  (c-name "GSourceCallbackFuncs")
  (gtype-id "G_TYPE_SOURCE_CALLBACK_FUNCS")
)

(define-object SourceFuncs
  (in-module "GLib")
  (c-name "GSourceFuncs")
  (gtype-id "G_TYPE_SOURCE_FUNCS")
)

(define-object SourcePrivate
  (in-module "GLib")
  (c-name "GSourcePrivate")
  (gtype-id "G_TYPE_SOURCE_PRIVATE")
)

(define-object StatBuf
  (in-module "GLib")
  (c-name "GStatBuf")
  (gtype-id "G_TYPE_STAT_BUF")
)

(define-object StaticMutex
  (in-module "GLib")
  (c-name "GStaticMutex")
  (gtype-id "G_TYPE_STATIC_MUTEX")
)

(define-object StaticPrivate
  (in-module "GLib")
  (c-name "GStaticPrivate")
  (gtype-id "G_TYPE_STATIC_PRIVATE")
)

(define-object StaticRWLock
  (in-module "GLib")
  (c-name "GStaticRWLock")
  (gtype-id "G_TYPE_STATIC_RW_LOCK")
)

(define-object StaticRecMutex
  (in-module "GLib")
  (c-name "GStaticRecMutex")
  (gtype-id "G_TYPE_STATIC_REC_MUTEX")
)

(define-object String
  (in-module "GLib")
  (c-name "GString")
  (gtype-id "G_TYPE_STRING")
)

(define-object StringChunk
  (in-module "GLib")
  (c-name "GStringChunk")
  (gtype-id "G_TYPE_STRING_CHUNK")
)

(define-object StrvBuilder
  (in-module "GLib")
  (c-name "GStrvBuilder")
  (gtype-id "G_TYPE_STRV_BUILDER")
)

(define-object TestCase
  (in-module "GLib")
  (c-name "GTestCase")
  (gtype-id "G_TYPE_TEST_CASE")
)

(define-object TestConfig
  (in-module "GLib")
  (c-name "GTestConfig")
  (gtype-id "G_TYPE_TEST_CONFIG")
)

(define-object TestLogBuffer
  (in-module "GLib")
  (c-name "GTestLogBuffer")
  (gtype-id "G_TYPE_TEST_LOG_BUFFER")
)

(define-object TestLogMsg
  (in-module "GLib")
  (c-name "GTestLogMsg")
  (gtype-id "G_TYPE_TEST_LOG_MSG")
)

(define-object TestSuite
  (in-module "GLib")
  (c-name "GTestSuite")
  (gtype-id "G_TYPE_TEST_SUITE")
)

(define-object Thread
  (in-module "GLib")
  (c-name "GThread")
  (gtype-id "G_TYPE_THREAD")
)

(define-object ThreadFunctions
  (in-module "GLib")
  (c-name "GThreadFunctions")
  (gtype-id "G_TYPE_THREAD_FUNCTIONS")
)

(define-object ThreadPool
  (in-module "GLib")
  (c-name "GThreadPool")
  (gtype-id "G_TYPE_THREAD_POOL")
)

(define-object TimeVal
  (in-module "GLib")
  (c-name "GTimeVal")
  (gtype-id "G_TYPE_TIME_VAL")
)

(define-object TimeZone
  (in-module "GLib")
  (c-name "GTimeZone")
  (gtype-id "G_TYPE_TIME_ZONE")
)

(define-object Timer
  (in-module "GLib")
  (c-name "GTimer")
  (gtype-id "G_TYPE_TIMER")
)

(define-object TrashStack
  (in-module "GLib")
  (c-name "GTrashStack")
  (gtype-id "G_TYPE_TRASH_STACK")
)

(define-object Tree
  (in-module "GLib")
  (c-name "GTree")
  (gtype-id "G_TYPE_TREE")
)

(define-object TreeNode
  (in-module "GLib")
  (c-name "GTreeNode")
  (gtype-id "G_TYPE_TREE_NODE")
)

(define-object Tuples
  (in-module "GLib")
  (c-name "GTuples")
  (gtype-id "G_TYPE_TUPLES")
)

(define-object Uri
  (in-module "GLib")
  (c-name "GUri")
  (gtype-id "G_TYPE_URI")
)

(define-object UriParamsIter
  (in-module "GLib")
  (c-name "GUriParamsIter")
  (gtype-id "G_TYPE_URI_PARAMS_ITER")
)

(define-object Variant
  (in-module "GLib")
  (c-name "GVariant")
  (gtype-id "G_TYPE_VARIANT")
)

(define-object VariantBuilder
  (in-module "GLib")
  (c-name "GVariantBuilder")
  (gtype-id "G_TYPE_VARIANT_BUILDER")
)

(define-object VariantDict
  (in-module "GLib")
  (c-name "GVariantDict")
  (gtype-id "G_TYPE_VARIANT_DICT")
)

(define-object VariantIter
  (in-module "GLib")
  (c-name "GVariantIter")
  (gtype-id "G_TYPE_VARIANT_ITER")
)

(define-object VariantType
  (in-module "GLib")
  (c-name "GVariantType")
  (gtype-id "G_TYPE_VARIANT_TYPE")
)


;; Functions for namespace GLib

(define-function g_clear_fd
  (c-name "g_clear_fd")
  (return-type "gboolean")
  (parameters
    '("int*" "fd_ptr")
    '("GError**" "error")
  )
)

(define-function g_set_str
  (c-name "g_set_str")
  (return-type "gboolean")
  (parameters
    '("char**" "str_pointer")
    '("const-char*" "new_str")
  )
)

(define-function g_set_str_take
  (c-name "g_set_str_take")
  (return-type "gboolean")
  (parameters
    '("char**" "str_pointer")
    '("char*" "new_str")
  )
)

(define-function g_set_strv
  (c-name "g_set_strv")
  (return-type "gboolean")
  (parameters
    '("char***" "strv_pointer")
    '("const-char*-const*" "new_strv")
  )
)

(define-function g_set_strv_take
  (c-name "g_set_strv_take")
  (return-type "gboolean")
  (parameters
    '("char***" "strv_pointer")
    '("char**" "new_strv")
  )
)

(define-function g_steal_fd
  (c-name "g_steal_fd")
  (return-type "int")
  (parameters
    '("int*" "fd_ptr")
  )
)

(define-function g_steal_handle_id
  (c-name "g_steal_handle_id")
  (return-type "unsigned-int")
  (parameters
    '("unsigned-int*" "handle_pointer")
  )
)

(define-function g_steal_pointer
  (c-name "g_steal_pointer")
  (return-type "gpointer")
  (parameters
    '("gpointer" "pp")
  )
)

(define-function g_access
  (c-name "g_access")
  (return-type "int")
  (parameters
    '("const-gchar*" "filename")
    '("int" "mode")
  )
)

(define-function g_aligned_alloc
  (c-name "g_aligned_alloc")
  (return-type "gpointer")
  (parameters
    '("gsize" "n_blocks")
    '("gsize" "n_block_bytes")
    '("gsize" "alignment")
  )
)

(define-function g_aligned_alloc0
  (c-name "g_aligned_alloc0")
  (return-type "gpointer")
  (parameters
    '("gsize" "n_blocks")
    '("gsize" "n_block_bytes")
    '("gsize" "alignment")
  )
)

(define-function g_aligned_free
  (c-name "g_aligned_free")
  (return-type "none")
  (parameters
    '("gpointer" "mem")
  )
)

(define-function g_aligned_free_sized
  (c-name "g_aligned_free_sized")
  (return-type "none")
  (parameters
    '("gpointer" "mem")
    '("size_t" "alignment")
    '("size_t" "size")
  )
)

(define-function g_array_new_take
  (c-name "g_array_new_take")
  (return-type "GArray*")
  (parameters
    '("gpointer" "data")
    '("gsize" "len")
    '("gboolean" "clear")
    '("gsize" "element_size")
  )
)

(define-function g_array_new_take_zero_terminated
  (c-name "g_array_new_take_zero_terminated")
  (return-type "GArray*")
  (parameters
    '("gpointer" "data")
    '("gboolean" "clear")
    '("gsize" "element_size")
  )
)

(define-function g_ascii_digit_value
  (c-name "g_ascii_digit_value")
  (return-type "gint")
  (parameters
    '("gchar" "c")
  )
)

(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_ascii_strcasecmp
  (c-name "g_ascii_strcasecmp")
  (return-type "gint")
  (parameters
    '("const-gchar*" "s1")
    '("const-gchar*" "s2")
  )
)

(define-function g_ascii_strdown
  (c-name "g_ascii_strdown")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("gssize" "len")
  )
)

(define-function g_ascii_string_to_signed
  (c-name "g_ascii_string_to_signed")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "str")
    '("guint" "base")
    '("gint64" "min")
    '("gint64" "max")
    '("gint64*" "out_num")
    '("GError**" "error")
  )
)

(define-function g_ascii_string_to_unsigned
  (c-name "g_ascii_string_to_unsigned")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "str")
    '("guint" "base")
    '("guint64" "min")
    '("guint64" "max")
    '("guint64*" "out_num")
    '("GError**" "error")
  )
)

(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_strtod
  (c-name "g_ascii_strtod")
  (return-type "gdouble")
  (parameters
    '("const-gchar*" "nptr")
    '("gchar**" "endptr")
  )
)

(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_strtoull
  (c-name "g_ascii_strtoull")
  (return-type "guint64")
  (parameters
    '("const-gchar*" "nptr")
    '("gchar**" "endptr")
    '("guint" "base")
  )
)

(define-function g_ascii_strup
  (c-name "g_ascii_strup")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("gssize" "len")
  )
)

(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_xdigit_value
  (c-name "g_ascii_xdigit_value")
  (return-type "gint")
  (parameters
    '("gchar" "c")
  )
)

(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_assertion_message
  (c-name "g_assertion_message")
  (return-type "none")
  (parameters
    '("const-char*" "domain")
    '("const-char*" "file")
    '("int" "line")
    '("const-char*" "func")
    '("const-char*" "message")
  )
)

(define-function g_assertion_message_cmpint
  (c-name "g_assertion_message_cmpint")
  (return-type "none")
  (parameters
    '("const-char*" "domain")
    '("const-char*" "file")
    '("int" "line")
    '("const-char*" "func")
    '("const-char*" "expr")
    '("guint64" "arg1")
    '("const-char*" "cmp")
    '("guint64" "arg2")
    '("char" "numtype")
  )
)

(define-function g_assertion_message_cmpnum
  (c-name "g_assertion_message_cmpnum")
  (return-type "none")
  (parameters
    '("const-char*" "domain")
    '("const-char*" "file")
    '("int" "line")
    '("const-char*" "func")
    '("const-char*" "expr")
    '("long-double" "arg1")
    '("const-char*" "cmp")
    '("long-double" "arg2")
    '("char" "numtype")
  )
)

(define-function g_assertion_message_cmpstr
  (c-name "g_assertion_message_cmpstr")
  (return-type "none")
  (parameters
    '("const-char*" "domain")
    '("const-char*" "file")
    '("int" "line")
    '("const-char*" "func")
    '("const-char*" "expr")
    '("const-char*" "arg1")
    '("const-char*" "cmp")
    '("const-char*" "arg2")
  )
)

(define-function g_assertion_message_cmpstrv
  (c-name "g_assertion_message_cmpstrv")
  (return-type "none")
  (parameters
    '("const-char*" "domain")
    '("const-char*" "file")
    '("int" "line")
    '("const-char*" "func")
    '("const-char*" "expr")
    '("const-char*-const*" "arg1")
    '("const-char*-const*" "arg2")
    '("gsize" "first_wrong_idx")
  )
)

(define-function g_assertion_message_error
  (c-name "g_assertion_message_error")
  (return-type "none")
  (parameters
    '("const-char*" "domain")
    '("const-char*" "file")
    '("int" "line")
    '("const-char*" "func")
    '("const-char*" "expr")
    '("const-GError*" "error")
    '("GQuark" "error_domain")
    '("int" "error_code")
  )
)

(define-function g_assertion_message_expr
  (c-name "g_assertion_message_expr")
  (return-type "none")
  (parameters
    '("const-char*" "domain")
    '("const-char*" "file")
    '("int" "line")
    '("const-char*" "func")
    '("const-char*" "expr")
  )
)

(define-function g_async_queue_new
  (c-name "g_async_queue_new")
  (return-type "GAsyncQueue*")
)

(define-function g_async_queue_new_full
  (c-name "g_async_queue_new_full")
  (return-type "GAsyncQueue*")
  (parameters
    '("GDestroyNotify" "item_free_func")
  )
)

(define-function g_atexit
  (c-name "g_atexit")
  (return-type "none")
  (parameters
    '("GVoidFunc" "func")
  )
)

(define-function g_atomic_int_add
  (c-name "g_atomic_int_add")
  (return-type "gint")
  (parameters
    '("volatile-gint*" "atomic")
    '("gint" "val")
  )
)

(define-function g_atomic_int_and
  (c-name "g_atomic_int_and")
  (return-type "guint")
  (parameters
    '("volatile-guint*" "atomic")
    '("guint" "val")
  )
)

(define-function g_atomic_int_compare_and_exchange
  (c-name "g_atomic_int_compare_and_exchange")
  (return-type "gboolean")
  (parameters
    '("volatile-gint*" "atomic")
    '("gint" "oldval")
    '("gint" "newval")
  )
)

(define-function g_atomic_int_compare_and_exchange_full
  (c-name "g_atomic_int_compare_and_exchange_full")
  (return-type "gboolean")
  (parameters
    '("gint*" "atomic")
    '("gint" "oldval")
    '("gint" "newval")
    '("gint*" "preval")
  )
)

(define-function g_atomic_int_dec_and_test
  (c-name "g_atomic_int_dec_and_test")
  (return-type "gboolean")
  (parameters
    '("volatile-gint*" "atomic")
  )
)

(define-function g_atomic_int_exchange
  (c-name "g_atomic_int_exchange")
  (return-type "gint")
  (parameters
    '("gint*" "atomic")
    '("gint" "newval")
  )
)

(define-function g_atomic_int_exchange_and_add
  (c-name "g_atomic_int_exchange_and_add")
  (return-type "gint")
  (parameters
    '("volatile-gint*" "atomic")
    '("gint" "val")
  )
)

(define-function g_atomic_int_get
  (c-name "g_atomic_int_get")
  (return-type "gint")
  (parameters
    '("volatile-const-gint*" "atomic")
  )
)

(define-function g_atomic_int_inc
  (c-name "g_atomic_int_inc")
  (return-type "none")
  (parameters
    '("volatile-gint*" "atomic")
  )
)

(define-function g_atomic_int_or
  (c-name "g_atomic_int_or")
  (return-type "guint")
  (parameters
    '("volatile-guint*" "atomic")
    '("guint" "val")
  )
)

(define-function g_atomic_int_set
  (c-name "g_atomic_int_set")
  (return-type "none")
  (parameters
    '("volatile-gint*" "atomic")
    '("gint" "newval")
  )
)

(define-function g_atomic_int_xor
  (c-name "g_atomic_int_xor")
  (return-type "guint")
  (parameters
    '("volatile-guint*" "atomic")
    '("guint" "val")
  )
)

(define-function g_atomic_pointer_add
  (c-name "g_atomic_pointer_add")
  (return-type "gintptr")
  (parameters
    '("void*" "atomic")
    '("gssize" "val")
  )
)

(define-function g_atomic_pointer_and
  (c-name "g_atomic_pointer_and")
  (return-type "guintptr")
  (parameters
    '("void*" "atomic")
    '("gsize" "val")
  )
)

(define-function g_atomic_pointer_compare_and_exchange
  (c-name "g_atomic_pointer_compare_and_exchange")
  (return-type "gboolean")
  (parameters
    '("void*" "atomic")
    '("gpointer" "oldval")
    '("gpointer" "newval")
  )
)

(define-function g_atomic_pointer_compare_and_exchange_full
  (c-name "g_atomic_pointer_compare_and_exchange_full")
  (return-type "gboolean")
  (parameters
    '("void*" "atomic")
    '("gpointer" "oldval")
    '("gpointer" "newval")
    '("void*" "preval")
  )
)

(define-function g_atomic_pointer_exchange
  (c-name "g_atomic_pointer_exchange")
  (return-type "gpointer")
  (parameters
    '("void*" "atomic")
    '("gpointer" "newval")
  )
)

(define-function g_atomic_pointer_get
  (c-name "g_atomic_pointer_get")
  (return-type "gpointer")
  (parameters
    '("void*" "atomic")
  )
)

(define-function g_atomic_pointer_or
  (c-name "g_atomic_pointer_or")
  (return-type "guintptr")
  (parameters
    '("void*" "atomic")
    '("gsize" "val")
  )
)

(define-function g_atomic_pointer_set
  (c-name "g_atomic_pointer_set")
  (return-type "none")
  (parameters
    '("void*" "atomic")
    '("gpointer" "newval")
  )
)

(define-function g_atomic_pointer_xor
  (c-name "g_atomic_pointer_xor")
  (return-type "guintptr")
  (parameters
    '("void*" "atomic")
    '("gsize" "val")
  )
)

(define-function g_atomic_rc_box_acquire
  (c-name "g_atomic_rc_box_acquire")
  (return-type "gpointer")
  (parameters
    '("gpointer" "mem_block")
  )
)

(define-function g_atomic_rc_box_alloc
  (c-name "g_atomic_rc_box_alloc")
  (return-type "gpointer")
  (parameters
    '("gsize" "block_size")
  )
)

(define-function g_atomic_rc_box_alloc0
  (c-name "g_atomic_rc_box_alloc0")
  (return-type "gpointer")
  (parameters
    '("gsize" "block_size")
  )
)

(define-function g_atomic_rc_box_dup
  (c-name "g_atomic_rc_box_dup")
  (return-type "gpointer")
  (parameters
    '("gsize" "block_size")
    '("gconstpointer" "mem_block")
  )
)

(define-function g_atomic_rc_box_get_size
  (c-name "g_atomic_rc_box_get_size")
  (return-type "gsize")
  (parameters
    '("gpointer" "mem_block")
  )
)

(define-function g_atomic_rc_box_release
  (c-name "g_atomic_rc_box_release")
  (return-type "none")
  (parameters
    '("gpointer" "mem_block")
  )
)

(define-function g_atomic_rc_box_release_full
  (c-name "g_atomic_rc_box_release_full")
  (return-type "none")
  (parameters
    '("gpointer" "mem_block")
    '("GDestroyNotify" "clear_func")
  )
)

(define-function g_atomic_ref_count_compare
  (c-name "g_atomic_ref_count_compare")
  (return-type "gboolean")
  (parameters
    '("gatomicrefcount*" "arc")
    '("gint" "val")
  )
)

(define-function g_atomic_ref_count_dec
  (c-name "g_atomic_ref_count_dec")
  (return-type "gboolean")
  (parameters
    '("gatomicrefcount*" "arc")
  )
)

(define-function g_atomic_ref_count_inc
  (c-name "g_atomic_ref_count_inc")
  (return-type "none")
  (parameters
    '("gatomicrefcount*" "arc")
  )
)

(define-function g_atomic_ref_count_init
  (c-name "g_atomic_ref_count_init")
  (return-type "none")
  (parameters
    '("gatomicrefcount*" "arc")
  )
)

(define-function g_base64_decode
  (c-name "g_base64_decode")
  (return-type "guchar*")
  (parameters
    '("const-gchar*" "text")
    '("gsize*" "out_len")
  )
)

(define-function g_base64_decode_inplace
  (c-name "g_base64_decode_inplace")
  (return-type "guchar*")
  (parameters
    '("gchar*" "text")
    '("gsize*" "out_len")
  )
)

(define-function g_base64_decode_step
  (c-name "g_base64_decode_step")
  (return-type "gsize")
  (parameters
    '("const-gchar*" "in")
    '("gsize" "len")
    '("guchar*" "out")
    '("gint*" "state")
    '("guint*" "save")
  )
)

(define-function g_base64_encode
  (c-name "g_base64_encode")
  (return-type "gchar*")
  (parameters
    '("const-guchar*" "data")
    '("gsize" "len")
  )
)

(define-function g_base64_encode_close
  (c-name "g_base64_encode_close")
  (return-type "gsize")
  (parameters
    '("gboolean" "break_lines")
    '("gchar*" "out")
    '("gint*" "state")
    '("gint*" "save")
  )
)

(define-function g_base64_encode_step
  (c-name "g_base64_encode_step")
  (return-type "gsize")
  (parameters
    '("const-guchar*" "in")
    '("gsize" "len")
    '("gboolean" "break_lines")
    '("gchar*" "out")
    '("gint*" "state")
    '("gint*" "save")
  )
)

(define-function g_basename
  (c-name "g_basename")
  (return-type "const-gchar*")
  (parameters
    '("const-gchar*" "file_name")
  )
)

(define-function g_bit_lock
  (c-name "g_bit_lock")
  (return-type "none")
  (parameters
    '("volatile-gint*" "address")
    '("gint" "lock_bit")
  )
)

(define-function g_bit_lock_and_get
  (c-name "g_bit_lock_and_get")
  (return-type "none")
  (parameters
    '("gint*" "address")
    '("guint" "lock_bit")
    '("gint*" "out_val")
  )
)

(define-function g_bit_nth_lsf
  (c-name "g_bit_nth_lsf")
  (return-type "gint")
  (parameters
    '("gulong" "mask")
    '("gint" "nth_bit")
  )
)

(define-function g_bit_nth_msf
  (c-name "g_bit_nth_msf")
  (return-type "gint")
  (parameters
    '("gulong" "mask")
    '("gint" "nth_bit")
  )
)

(define-function g_bit_storage
  (c-name "g_bit_storage")
  (return-type "guint")
  (parameters
    '("gulong" "number")
  )
)

(define-function g_bit_trylock
  (c-name "g_bit_trylock")
  (return-type "gboolean")
  (parameters
    '("volatile-gint*" "address")
    '("gint" "lock_bit")
  )
)

(define-function g_bit_unlock
  (c-name "g_bit_unlock")
  (return-type "none")
  (parameters
    '("volatile-gint*" "address")
    '("gint" "lock_bit")
  )
)

(define-function g_bit_unlock_and_set
  (c-name "g_bit_unlock_and_set")
  (return-type "none")
  (parameters
    '("gint*" "address")
    '("guint" "lock_bit")
    '("gint" "new_val")
    '("gint" "preserve_mask")
  )
)

(define-function g_blow_chunks
  (c-name "g_blow_chunks")
  (return-type "none")
)

(define-function g_bookmark_file_error_quark
  (c-name "g_bookmark_file_error_quark")
  (return-type "GQuark")
)

(define-function g_build_filename
  (c-name "g_build_filename")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "first_element")
  )
  (varargs #t)
)

(define-function g_build_filename_valist
  (c-name "g_build_filename_valist")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "first_element")
    '("va_list*" "args")
  )
)

(define-function g_build_filenamev
  (c-name "g_build_filenamev")
  (return-type "gchar*")
  (parameters
    '("gchar**" "args")
  )
)

(define-function g_build_path
  (c-name "g_build_path")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "separator")
    '("const-gchar*" "first_element")
  )
  (varargs #t)
)

(define-function g_build_pathv
  (c-name "g_build_pathv")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "separator")
    '("gchar**" "args")
  )
)

(define-function g_byte_array_append
  (c-name "g_byte_array_append")
  (return-type "GByteArray*")
  (parameters
    '("GByteArray*" "array")
    '("const-guint8*" "data")
    '("guint" "len")
  )
)

(define-function g_byte_array_free
  (c-name "g_byte_array_free")
  (return-type "guint8*")
  (parameters
    '("GByteArray*" "array")
    '("gboolean" "free_segment")
  )
)

(define-function g_byte_array_free_to_bytes
  (c-name "g_byte_array_free_to_bytes")
  (return-type "GBytes*")
  (parameters
    '("GByteArray*" "array")
  )
)

(define-function g_byte_array_new
  (c-name "g_byte_array_new")
  (return-type "GByteArray*")
)

(define-function g_byte_array_new_take
  (c-name "g_byte_array_new_take")
  (return-type "GByteArray*")
  (parameters
    '("guint8*" "data")
    '("gsize" "len")
  )
)

(define-function g_byte_array_prepend
  (c-name "g_byte_array_prepend")
  (return-type "GByteArray*")
  (parameters
    '("GByteArray*" "array")
    '("const-guint8*" "data")
    '("guint" "len")
  )
)

(define-function g_byte_array_ref
  (c-name "g_byte_array_ref")
  (return-type "GByteArray*")
  (parameters
    '("GByteArray*" "array")
  )
)

(define-function g_byte_array_remove_index
  (c-name "g_byte_array_remove_index")
  (return-type "GByteArray*")
  (parameters
    '("GByteArray*" "array")
    '("guint" "index_")
  )
)

(define-function g_byte_array_remove_index_fast
  (c-name "g_byte_array_remove_index_fast")
  (return-type "GByteArray*")
  (parameters
    '("GByteArray*" "array")
    '("guint" "index_")
  )
)

(define-function g_byte_array_remove_range
  (c-name "g_byte_array_remove_range")
  (return-type "GByteArray*")
  (parameters
    '("GByteArray*" "array")
    '("guint" "index_")
    '("guint" "length")
  )
)

(define-function g_byte_array_set_size
  (c-name "g_byte_array_set_size")
  (return-type "GByteArray*")
  (parameters
    '("GByteArray*" "array")
    '("guint" "length")
  )
)

(define-function g_byte_array_sized_new
  (c-name "g_byte_array_sized_new")
  (return-type "GByteArray*")
  (parameters
    '("guint" "reserved_size")
  )
)

(define-function g_byte_array_sort
  (c-name "g_byte_array_sort")
  (return-type "none")
  (parameters
    '("GByteArray*" "array")
    '("GCompareFunc" "compare_func")
  )
)

(define-function g_byte_array_sort_with_data
  (c-name "g_byte_array_sort_with_data")
  (return-type "none")
  (parameters
    '("GByteArray*" "array")
    '("GCompareDataFunc" "compare_func")
    '("gpointer" "user_data")
  )
)

(define-function g_byte_array_steal
  (c-name "g_byte_array_steal")
  (return-type "guint8*")
  (parameters
    '("GByteArray*" "array")
    '("gsize*" "len")
  )
)

(define-function g_byte_array_unref
  (c-name "g_byte_array_unref")
  (return-type "none")
  (parameters
    '("GByteArray*" "array")
  )
)

(define-function g_canonicalize_filename
  (c-name "g_canonicalize_filename")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "filename")
    '("const-gchar*" "relative_to")
  )
)

(define-function g_chdir
  (c-name "g_chdir")
  (return-type "int")
  (parameters
    '("const-gchar*" "path")
  )
)

(define-function glib_check_version
  (c-name "glib_check_version")
  (return-type "const-gchar*")
  (parameters
    '("guint" "required_major")
    '("guint" "required_minor")
    '("guint" "required_micro")
  )
)

(define-function g_checksum_type_get_length
  (c-name "g_checksum_type_get_length")
  (return-type "gssize")
  (parameters
    '("GChecksumType" "checksum_type")
  )
)

(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_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_source_new
  (c-name "g_child_watch_source_new")
  (return-type "GSource*")
  (parameters
    '("GPid" "pid")
  )
)

(define-function g_chmod
  (c-name "g_chmod")
  (return-type "int")
  (parameters
    '("const-gchar*" "filename")
    '("int" "mode")
  )
)

(define-function g_clear_error
  (c-name "g_clear_error")
  (return-type "none")
)

(define-function g_clear_handle_id
  (c-name "g_clear_handle_id")
  (return-type "none")
  (parameters
    '("guint*" "tag_ptr")
    '("GClearHandleFunc" "clear_func")
  )
)

(define-function g_clear_list
  (c-name "g_clear_list")
  (return-type "none")
  (parameters
    '("GList**" "list_ptr")
    '("GDestroyNotify" "destroy")
  )
)

(define-function g_clear_pointer
  (c-name "g_clear_pointer")
  (return-type "none")
  (parameters
    '("gpointer*" "pp")
    '("GDestroyNotify" "destroy")
  )
)

(define-function g_clear_slist
  (c-name "g_clear_slist")
  (return-type "none")
  (parameters
    '("GSList**" "slist_ptr")
    '("GDestroyNotify" "destroy")
  )
)

(define-function g_close
  (c-name "g_close")
  (return-type "gboolean")
  (parameters
    '("gint" "fd")
    '("GError**" "error")
  )
)

(define-function g_compute_checksum_for_bytes
  (c-name "g_compute_checksum_for_bytes")
  (return-type "gchar*")
  (parameters
    '("GChecksumType" "checksum_type")
    '("GBytes*" "data")
  )
)

(define-function g_compute_checksum_for_data
  (c-name "g_compute_checksum_for_data")
  (return-type "gchar*")
  (parameters
    '("GChecksumType" "checksum_type")
    '("const-guchar*" "data")
    '("gsize" "length")
  )
)

(define-function g_compute_checksum_for_string
  (c-name "g_compute_checksum_for_string")
  (return-type "gchar*")
  (parameters
    '("GChecksumType" "checksum_type")
    '("const-gchar*" "str")
    '("gssize" "length")
  )
)

(define-function g_compute_hmac_for_bytes
  (c-name "g_compute_hmac_for_bytes")
  (return-type "gchar*")
  (parameters
    '("GChecksumType" "digest_type")
    '("GBytes*" "key")
    '("GBytes*" "data")
  )
)

(define-function g_compute_hmac_for_data
  (c-name "g_compute_hmac_for_data")
  (return-type "gchar*")
  (parameters
    '("GChecksumType" "digest_type")
    '("const-guchar*" "key")
    '("gsize" "key_len")
    '("const-guchar*" "data")
    '("gsize" "length")
  )
)

(define-function g_compute_hmac_for_string
  (c-name "g_compute_hmac_for_string")
  (return-type "gchar*")
  (parameters
    '("GChecksumType" "digest_type")
    '("const-guchar*" "key")
    '("gsize" "key_len")
    '("const-gchar*" "str")
    '("gssize" "length")
  )
)

(define-function g_cond_new
  (c-name "g_cond_new")
  (return-type "GCond*")
)

(define-function g_convert
  (c-name "g_convert")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("gssize" "len")
    '("const-gchar*" "to_codeset")
    '("const-gchar*" "from_codeset")
    '("gsize*" "bytes_read")
    '("gsize*" "bytes_written")
    '("GError**" "error")
  )
)

(define-function g_convert_error_quark
  (c-name "g_convert_error_quark")
  (return-type "GQuark")
)

(define-function g_convert_with_fallback
  (c-name "g_convert_with_fallback")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("gssize" "len")
    '("const-gchar*" "to_codeset")
    '("const-gchar*" "from_codeset")
    '("const-gchar*" "fallback")
    '("gsize*" "bytes_read")
    '("gsize*" "bytes_written")
    '("GError**" "error")
  )
)

(define-function g_convert_with_iconv
  (c-name "g_convert_with_iconv")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("gssize" "len")
    '("GIConv" "converter")
    '("gsize*" "bytes_read")
    '("gsize*" "bytes_written")
    '("GError**" "error")
  )
)

(define-function g_creat
  (c-name "g_creat")
  (return-type "int")
  (parameters
    '("const-gchar*" "filename")
    '("int" "mode")
  )
)

(define-function g_datalist_clear
  (c-name "g_datalist_clear")
  (return-type "none")
  (parameters
    '("GData**" "datalist")
  )
)

(define-function g_datalist_foreach
  (c-name "g_datalist_foreach")
  (return-type "none")
  (parameters
    '("GData**" "datalist")
    '("GDataForeachFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_datalist_get_data
  (c-name "g_datalist_get_data")
  (return-type "gpointer")
  (parameters
    '("GData**" "datalist")
    '("const-gchar*" "key")
  )
)

(define-function g_datalist_get_flags
  (c-name "g_datalist_get_flags")
  (return-type "guint")
  (parameters
    '("GData**" "datalist")
  )
)

(define-function g_datalist_id_dup_data
  (c-name "g_datalist_id_dup_data")
  (return-type "gpointer")
  (parameters
    '("GData**" "datalist")
    '("GQuark" "key_id")
    '("GDuplicateFunc" "dup_func")
    '("gpointer" "user_data")
  )
)

(define-function g_datalist_id_get_data
  (c-name "g_datalist_id_get_data")
  (return-type "gpointer")
  (parameters
    '("GData**" "datalist")
    '("GQuark" "key_id")
  )
)

(define-function g_datalist_id_remove_multiple
  (c-name "g_datalist_id_remove_multiple")
  (return-type "none")
  (parameters
    '("GData**" "datalist")
    '("GQuark*" "keys")
    '("gsize" "n_keys")
  )
)

(define-function g_datalist_id_remove_no_notify
  (c-name "g_datalist_id_remove_no_notify")
  (return-type "gpointer")
  (parameters
    '("GData**" "datalist")
    '("GQuark" "key_id")
  )
)

(define-function g_datalist_id_replace_data
  (c-name "g_datalist_id_replace_data")
  (return-type "gboolean")
  (parameters
    '("GData**" "datalist")
    '("GQuark" "key_id")
    '("gpointer" "oldval")
    '("gpointer" "newval")
    '("GDestroyNotify" "destroy")
    '("GDestroyNotify*" "old_destroy")
  )
)

(define-function g_datalist_id_set_data_full
  (c-name "g_datalist_id_set_data_full")
  (return-type "none")
  (parameters
    '("GData**" "datalist")
    '("GQuark" "key_id")
    '("gpointer" "data")
    '("GDestroyNotify" "destroy_func")
  )
)

(define-function g_datalist_init
  (c-name "g_datalist_init")
  (return-type "none")
  (parameters
    '("GData**" "datalist")
  )
)

(define-function g_datalist_set_flags
  (c-name "g_datalist_set_flags")
  (return-type "none")
  (parameters
    '("GData**" "datalist")
    '("guint" "flags")
  )
)

(define-function g_datalist_unset_flags
  (c-name "g_datalist_unset_flags")
  (return-type "none")
  (parameters
    '("GData**" "datalist")
    '("guint" "flags")
  )
)

(define-function g_dataset_destroy
  (c-name "g_dataset_destroy")
  (return-type "none")
  (parameters
    '("gconstpointer" "dataset_location")
  )
)

(define-function g_dataset_foreach
  (c-name "g_dataset_foreach")
  (return-type "none")
  (parameters
    '("gconstpointer" "dataset_location")
    '("GDataForeachFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_dataset_id_get_data
  (c-name "g_dataset_id_get_data")
  (return-type "gpointer")
  (parameters
    '("gconstpointer" "dataset_location")
    '("GQuark" "key_id")
  )
)

(define-function g_dataset_id_remove_no_notify
  (c-name "g_dataset_id_remove_no_notify")
  (return-type "gpointer")
  (parameters
    '("gconstpointer" "dataset_location")
    '("GQuark" "key_id")
  )
)

(define-function g_dataset_id_set_data_full
  (c-name "g_dataset_id_set_data_full")
  (return-type "none")
  (parameters
    '("gconstpointer" "dataset_location")
    '("GQuark" "key_id")
    '("gpointer" "data")
    '("GDestroyNotify" "destroy_func")
  )
)

(define-function g_date_get_days_in_month
  (c-name "g_date_get_days_in_month")
  (return-type "guint8")
  (parameters
    '("GDateMonth" "month")
    '("GDateYear" "year")
  )
)

(define-function g_date_get_monday_weeks_in_year
  (c-name "g_date_get_monday_weeks_in_year")
  (return-type "guint8")
  (parameters
    '("GDateYear" "year")
  )
)

(define-function g_date_get_sunday_weeks_in_year
  (c-name "g_date_get_sunday_weeks_in_year")
  (return-type "guint8")
  (parameters
    '("GDateYear" "year")
  )
)

(define-function g_date_get_weeks_in_year
  (c-name "g_date_get_weeks_in_year")
  (return-type "guint8")
  (parameters
    '("GDateYear" "year")
    '("GDateWeekday" "first_day_of_week")
  )
)

(define-function g_date_is_leap_year
  (c-name "g_date_is_leap_year")
  (return-type "gboolean")
  (parameters
    '("GDateYear" "year")
  )
)

(define-function g_date_strftime
  (c-name "g_date_strftime")
  (return-type "gsize")
  (parameters
    '("gchar*" "s")
    '("gsize" "slen")
    '("const-gchar*" "format")
    '("const-GDate*" "date")
  )
)

(define-function g_date_valid_day
  (c-name "g_date_valid_day")
  (return-type "gboolean")
  (parameters
    '("GDateDay" "day")
  )
)

(define-function g_date_valid_dmy
  (c-name "g_date_valid_dmy")
  (return-type "gboolean")
  (parameters
    '("GDateDay" "day")
    '("GDateMonth" "month")
    '("GDateYear" "year")
  )
)

(define-function g_date_valid_julian
  (c-name "g_date_valid_julian")
  (return-type "gboolean")
  (parameters
    '("guint32" "julian_date")
  )
)

(define-function g_date_valid_month
  (c-name "g_date_valid_month")
  (return-type "gboolean")
  (parameters
    '("GDateMonth" "month")
  )
)

(define-function g_date_valid_weekday
  (c-name "g_date_valid_weekday")
  (return-type "gboolean")
  (parameters
    '("GDateWeekday" "weekday")
  )
)

(define-function g_date_valid_year
  (c-name "g_date_valid_year")
  (return-type "gboolean")
  (parameters
    '("GDateYear" "year")
  )
)

(define-function g_dcgettext
  (c-name "g_dcgettext")
  (return-type "const-gchar*")
  (parameters
    '("const-gchar*" "domain")
    '("const-gchar*" "msgid")
    '("gint" "category")
  )
)

(define-function g_dgettext
  (c-name "g_dgettext")
  (return-type "const-gchar*")
  (parameters
    '("const-gchar*" "domain")
    '("const-gchar*" "msgid")
  )
)

(define-function g_dir_make_tmp
  (c-name "g_dir_make_tmp")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "tmpl")
    '("GError**" "error")
  )
)

(define-function g_direct_equal
  (c-name "g_direct_equal")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "v1")
    '("gconstpointer" "v2")
  )
)

(define-function g_direct_hash
  (c-name "g_direct_hash")
  (return-type "guint")
  (parameters
    '("gconstpointer" "v")
  )
)

(define-function g_dngettext
  (c-name "g_dngettext")
  (return-type "const-gchar*")
  (parameters
    '("const-gchar*" "domain")
    '("const-gchar*" "msgid")
    '("const-gchar*" "msgid_plural")
    '("gulong" "n")
  )
)

(define-function g_double_equal
  (c-name "g_double_equal")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "v1")
    '("gconstpointer" "v2")
  )
)

(define-function g_double_hash
  (c-name "g_double_hash")
  (return-type "guint")
  (parameters
    '("gconstpointer" "v")
  )
)

(define-function g_dpgettext
  (c-name "g_dpgettext")
  (return-type "const-gchar*")
  (parameters
    '("const-gchar*" "domain")
    '("const-gchar*" "msgctxtid")
    '("gsize" "msgidoffset")
  )
)

(define-function g_dpgettext2
  (c-name "g_dpgettext2")
  (return-type "const-gchar*")
  (parameters
    '("const-gchar*" "domain")
    '("const-gchar*" "context")
    '("const-gchar*" "msgid")
  )
)

(define-function g_environ_getenv
  (c-name "g_environ_getenv")
  (return-type "const-gchar*")
  (parameters
    '("gchar**" "envp")
    '("const-gchar*" "variable")
  )
)

(define-function g_environ_setenv
  (c-name "g_environ_setenv")
  (return-type "gchar**")
  (parameters
    '("gchar**" "envp")
    '("const-gchar*" "variable")
    '("const-gchar*" "value")
    '("gboolean" "overwrite")
  )
)

(define-function g_environ_unsetenv
  (c-name "g_environ_unsetenv")
  (return-type "gchar**")
  (parameters
    '("gchar**" "envp")
    '("const-gchar*" "variable")
  )
)

(define-function g_error_domain_register
  (c-name "g_error_domain_register")
  (return-type "GQuark")
  (parameters
    '("const-char*" "error_type_name")
    '("gsize" "error_type_private_size")
    '("GErrorInitFunc" "error_type_init")
    '("GErrorCopyFunc" "error_type_copy")
    '("GErrorClearFunc" "error_type_clear")
  )
)

(define-function g_error_domain_register_static
  (c-name "g_error_domain_register_static")
  (return-type "GQuark")
  (parameters
    '("const-char*" "error_type_name")
    '("gsize" "error_type_private_size")
    '("GErrorInitFunc" "error_type_init")
    '("GErrorCopyFunc" "error_type_copy")
    '("GErrorClearFunc" "error_type_clear")
  )
)

(define-function g_file_error_from_errno
  (c-name "g_file_error_from_errno")
  (return-type "GFileError")
  (parameters
    '("gint" "err_no")
  )
)

(define-function g_file_error_quark
  (c-name "g_file_error_quark")
  (return-type "GQuark")
)

(define-function g_file_get_contents
  (c-name "g_file_get_contents")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "filename")
    '("gchar**" "contents")
    '("gsize*" "length")
    '("GError**" "error")
  )
)

(define-function g_file_open_tmp
  (c-name "g_file_open_tmp")
  (return-type "gint")
  (parameters
    '("const-gchar*" "tmpl")
    '("gchar**" "name_used")
    '("GError**" "error")
  )
)

(define-function g_file_read_link
  (c-name "g_file_read_link")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "filename")
    '("GError**" "error")
  )
)

(define-function g_file_set_contents
  (c-name "g_file_set_contents")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "filename")
    '("const-gchar*" "contents")
    '("gssize" "length")
    '("GError**" "error")
  )
)

(define-function g_file_set_contents_full
  (c-name "g_file_set_contents_full")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "filename")
    '("const-gchar*" "contents")
    '("gssize" "length")
    '("GFileSetContentsFlags" "flags")
    '("int" "mode")
    '("GError**" "error")
  )
)

(define-function g_file_test
  (c-name "g_file_test")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "filename")
    '("GFileTest" "test")
  )
)

(define-function g_filename_display_basename
  (c-name "g_filename_display_basename")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "filename")
  )
)

(define-function g_filename_display_name
  (c-name "g_filename_display_name")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "filename")
  )
)

(define-function g_filename_from_uri
  (c-name "g_filename_from_uri")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "uri")
    '("gchar**" "hostname")
    '("GError**" "error")
  )
)

(define-function g_filename_from_utf8
  (c-name "g_filename_from_utf8")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "utf8string")
    '("gssize" "len")
    '("gsize*" "bytes_read")
    '("gsize*" "bytes_written")
    '("GError**" "error")
  )
)

(define-function g_filename_to_uri
  (c-name "g_filename_to_uri")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "filename")
    '("const-gchar*" "hostname")
    '("GError**" "error")
  )
)

(define-function g_filename_to_utf8
  (c-name "g_filename_to_utf8")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "opsysstring")
    '("gssize" "len")
    '("gsize*" "bytes_read")
    '("gsize*" "bytes_written")
    '("GError**" "error")
  )
)

(define-function g_find_program_in_path
  (c-name "g_find_program_in_path")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "program")
  )
)

(define-function g_fopen
  (c-name "g_fopen")
  (return-type "FILE*")
  (parameters
    '("const-gchar*" "filename")
    '("const-gchar*" "mode")
  )
)

(define-function g_format_size
  (c-name "g_format_size")
  (return-type "gchar*")
  (parameters
    '("guint64" "size")
  )
)

(define-function g_format_size_for_display
  (c-name "g_format_size_for_display")
  (return-type "gchar*")
  (parameters
    '("goffset" "size")
  )
)

(define-function g_format_size_full
  (c-name "g_format_size_full")
  (return-type "gchar*")
  (parameters
    '("guint64" "size")
    '("GFormatSizeFlags" "flags")
  )
)

(define-function g_fprintf
  (c-name "g_fprintf")
  (return-type "gint")
  (parameters
    '("FILE*" "file")
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(define-function g_free
  (c-name "g_free")
  (return-type "none")
  (parameters
    '("gpointer" "mem")
  )
)

(define-function g_free_sized
  (c-name "g_free_sized")
  (return-type "none")
  (parameters
    '("gpointer" "mem")
    '("size_t" "size")
  )
)

(define-function g_freopen
  (c-name "g_freopen")
  (return-type "FILE*")
  (parameters
    '("const-gchar*" "filename")
    '("const-gchar*" "mode")
    '("FILE*" "stream")
  )
)

(define-function g_fsync
  (c-name "g_fsync")
  (return-type "gint")
  (parameters
    '("gint" "fd")
  )
)

(define-function g_get_application_name
  (c-name "g_get_application_name")
  (return-type "const-gchar*")
)

(define-function g_get_charset
  (c-name "g_get_charset")
  (return-type "gboolean")
  (parameters
    '("const-char**" "charset")
  )
)

(define-function g_get_codeset
  (c-name "g_get_codeset")
  (return-type "gchar*")
)

(define-function g_get_console_charset
  (c-name "g_get_console_charset")
  (return-type "gboolean")
  (parameters
    '("const-char**" "charset")
  )
)

(define-function g_get_current_dir
  (c-name "g_get_current_dir")
  (return-type "gchar*")
)

(define-function g_get_current_time
  (c-name "g_get_current_time")
  (return-type "none")
  (parameters
    '("GTimeVal*" "result")
  )
)

(define-function g_get_environ
  (c-name "g_get_environ")
  (return-type "gchar**")
)

(define-function g_get_filename_charsets
  (c-name "g_get_filename_charsets")
  (return-type "gboolean")
  (parameters
    '("const-gchar***" "filename_charsets")
  )
)

(define-function g_get_home_dir
  (c-name "g_get_home_dir")
  (return-type "const-gchar*")
)

(define-function g_get_host_name
  (c-name "g_get_host_name")
  (return-type "const-gchar*")
)

(define-function g_get_language_names
  (c-name "g_get_language_names")
  (return-type "const-gchar*-const*")
)

(define-function g_get_language_names_with_category
  (c-name "g_get_language_names_with_category")
  (return-type "const-gchar*-const*")
  (parameters
    '("const-gchar*" "category_name")
  )
)

(define-function g_get_locale_variants
  (c-name "g_get_locale_variants")
  (return-type "gchar**")
  (parameters
    '("const-gchar*" "locale")
  )
)

(define-function g_get_monotonic_time
  (c-name "g_get_monotonic_time")
  (return-type "gint64")
)

(define-function g_get_monotonic_time_ns
  (c-name "g_get_monotonic_time_ns")
  (return-type "uint64_t")
)

(define-function g_get_num_processors
  (c-name "g_get_num_processors")
  (return-type "guint")
)

(define-function g_get_os_info
  (c-name "g_get_os_info")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "key_name")
  )
)

(define-function g_get_prgname
  (c-name "g_get_prgname")
  (return-type "const-gchar*")
)

(define-function g_get_real_name
  (c-name "g_get_real_name")
  (return-type "const-gchar*")
)

(define-function g_get_real_time
  (c-name "g_get_real_time")
  (return-type "gint64")
)

(define-function g_get_system_config_dirs
  (c-name "g_get_system_config_dirs")
  (return-type "const-gchar*-const*")
)

(define-function g_get_system_data_dirs
  (c-name "g_get_system_data_dirs")
  (return-type "const-gchar*-const*")
)

(define-function g_get_tmp_dir
  (c-name "g_get_tmp_dir")
  (return-type "const-gchar*")
)

(define-function g_get_user_cache_dir
  (c-name "g_get_user_cache_dir")
  (return-type "const-gchar*")
)

(define-function g_get_user_config_dir
  (c-name "g_get_user_config_dir")
  (return-type "const-gchar*")
)

(define-function g_get_user_data_dir
  (c-name "g_get_user_data_dir")
  (return-type "const-gchar*")
)

(define-function g_get_user_name
  (c-name "g_get_user_name")
  (return-type "const-gchar*")
)

(define-function g_get_user_runtime_dir
  (c-name "g_get_user_runtime_dir")
  (return-type "const-gchar*")
)

(define-function g_get_user_special_dir
  (c-name "g_get_user_special_dir")
  (return-type "const-gchar*")
  (parameters
    '("GUserDirectory" "directory")
  )
)

(define-function g_get_user_state_dir
  (c-name "g_get_user_state_dir")
  (return-type "const-gchar*")
)

(define-function g_getenv
  (c-name "g_getenv")
  (return-type "const-gchar*")
  (parameters
    '("const-gchar*" "variable")
  )
)

(define-function g_hash_table_add
  (c-name "g_hash_table_add")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gpointer" "key")
  )
)

(define-function g_hash_table_contains
  (c-name "g_hash_table_contains")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gconstpointer" "key")
  )
)

(define-function g_hash_table_destroy
  (c-name "g_hash_table_destroy")
  (return-type "none")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_find
  (c-name "g_hash_table_find")
  (return-type "gpointer")
  (parameters
    '("GHashTable*" "hash_table")
    '("GHRFunc" "predicate")
    '("gpointer" "user_data")
  )
)

(define-function g_hash_table_foreach
  (c-name "g_hash_table_foreach")
  (return-type "none")
  (parameters
    '("GHashTable*" "hash_table")
    '("GHFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_hash_table_foreach_remove
  (c-name "g_hash_table_foreach_remove")
  (return-type "guint")
  (parameters
    '("GHashTable*" "hash_table")
    '("GHRFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_hash_table_foreach_steal
  (c-name "g_hash_table_foreach_steal")
  (return-type "guint")
  (parameters
    '("GHashTable*" "hash_table")
    '("GHRFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_hash_table_get_keys_as_ptr_array
  (c-name "g_hash_table_get_keys_as_ptr_array")
  (return-type "GPtrArray*")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_get_values_as_ptr_array
  (c-name "g_hash_table_get_values_as_ptr_array")
  (return-type "GPtrArray*")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_insert
  (c-name "g_hash_table_insert")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gpointer" "key")
    '("gpointer" "value")
  )
)

(define-function g_hash_table_lookup
  (c-name "g_hash_table_lookup")
  (return-type "gpointer")
  (parameters
    '("GHashTable*" "hash_table")
    '("gconstpointer" "key")
  )
)

(define-function g_hash_table_lookup_extended
  (c-name "g_hash_table_lookup_extended")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gconstpointer" "lookup_key")
    '("gpointer*" "orig_key")
    '("gpointer*" "value")
  )
)

(define-function g_hash_table_new_similar
  (c-name "g_hash_table_new_similar")
  (return-type "GHashTable*")
  (parameters
    '("GHashTable*" "other_hash_table")
  )
)

(define-function g_hash_table_ref
  (c-name "g_hash_table_ref")
  (return-type "GHashTable*")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_remove
  (c-name "g_hash_table_remove")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gconstpointer" "key")
  )
)

(define-function g_hash_table_remove_all
  (c-name "g_hash_table_remove_all")
  (return-type "none")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_replace
  (c-name "g_hash_table_replace")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gpointer" "key")
    '("gpointer" "value")
  )
)

(define-function g_hash_table_size
  (c-name "g_hash_table_size")
  (return-type "guint")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_steal
  (c-name "g_hash_table_steal")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gconstpointer" "key")
  )
)

(define-function g_hash_table_steal_all
  (c-name "g_hash_table_steal_all")
  (return-type "none")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_steal_all_keys
  (c-name "g_hash_table_steal_all_keys")
  (return-type "GPtrArray*")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_steal_all_values
  (c-name "g_hash_table_steal_all_values")
  (return-type "GPtrArray*")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_steal_extended
  (c-name "g_hash_table_steal_extended")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gconstpointer" "lookup_key")
    '("gpointer*" "stolen_key")
    '("gpointer*" "stolen_value")
  )
)

(define-function g_hash_table_unref
  (c-name "g_hash_table_unref")
  (return-type "none")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hook_destroy
  (c-name "g_hook_destroy")
  (return-type "gboolean")
  (parameters
    '("GHookList*" "hook_list")
    '("gulong" "hook_id")
  )
)

(define-function g_hook_destroy_link
  (c-name "g_hook_destroy_link")
  (return-type "none")
  (parameters
    '("GHookList*" "hook_list")
    '("GHook*" "hook")
  )
)

(define-function g_hook_free
  (c-name "g_hook_free")
  (return-type "none")
  (parameters
    '("GHookList*" "hook_list")
    '("GHook*" "hook")
  )
)

(define-function g_hook_insert_before
  (c-name "g_hook_insert_before")
  (return-type "none")
  (parameters
    '("GHookList*" "hook_list")
    '("GHook*" "sibling")
    '("GHook*" "hook")
  )
)

(define-function g_hook_insert_sorted
  (c-name "g_hook_insert_sorted")
  (return-type "none")
  (parameters
    '("GHookList*" "hook_list")
    '("GHook*" "hook")
    '("GHookCompareFunc" "func")
  )
)

(define-function g_hook_prepend
  (c-name "g_hook_prepend")
  (return-type "none")
  (parameters
    '("GHookList*" "hook_list")
    '("GHook*" "hook")
  )
)

(define-function g_hook_unref
  (c-name "g_hook_unref")
  (return-type "none")
  (parameters
    '("GHookList*" "hook_list")
    '("GHook*" "hook")
  )
)

(define-function g_hostname_is_ascii_encoded
  (c-name "g_hostname_is_ascii_encoded")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "hostname")
  )
)

(define-function g_hostname_is_ip_address
  (c-name "g_hostname_is_ip_address")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "hostname")
  )
)

(define-function g_hostname_is_non_ascii
  (c-name "g_hostname_is_non_ascii")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "hostname")
  )
)

(define-function g_hostname_to_ascii
  (c-name "g_hostname_to_ascii")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "hostname")
  )
)

(define-function g_hostname_to_unicode
  (c-name "g_hostname_to_unicode")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "hostname")
  )
)

(define-function g_iconv
  (c-name "g_iconv")
  (return-type "gsize")
  (parameters
    '("GIConv" "converter")
    '("gchar**" "inbuf")
    '("gsize*" "inbytes_left")
    '("gchar**" "outbuf")
    '("gsize*" "outbytes_left")
  )
)

(define-function g_iconv_open
  (c-name "g_iconv_open")
  (return-type "GIConv")
  (parameters
    '("const-gchar*" "to_codeset")
    '("const-gchar*" "from_codeset")
  )
)

(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_add_once
  (c-name "g_idle_add_once")
  (return-type "guint")
  (parameters
    '("GSourceOnceFunc" "function")
    '("gpointer" "data")
  )
)

(define-function g_idle_remove_by_data
  (c-name "g_idle_remove_by_data")
  (return-type "gboolean")
  (parameters
    '("gpointer" "data")
  )
)

(define-function g_idle_source_new
  (c-name "g_idle_source_new")
  (return-type "GSource*")
)

(define-function g_int64_equal
  (c-name "g_int64_equal")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "v1")
    '("gconstpointer" "v2")
  )
)

(define-function g_int64_hash
  (c-name "g_int64_hash")
  (return-type "guint")
  (parameters
    '("gconstpointer" "v")
  )
)

(define-function g_int_equal
  (c-name "g_int_equal")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "v1")
    '("gconstpointer" "v2")
  )
)

(define-function g_int_hash
  (c-name "g_int_hash")
  (return-type "guint")
  (parameters
    '("gconstpointer" "v")
  )
)

(define-function g_intern_static_string
  (c-name "g_intern_static_string")
  (return-type "const-gchar*")
  (parameters
    '("const-gchar*" "string")
  )
)

(define-function g_intern_string
  (c-name "g_intern_string")
  (return-type "const-gchar*")
  (parameters
    '("const-gchar*" "string")
  )
)

(define-function g_io_add_watch
  (c-name "g_io_add_watch")
  (return-type "guint")
  (parameters
    '("GIOChannel*" "channel")
    '("GIOCondition" "condition")
    '("GIOFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_io_add_watch_full
  (c-name "g_io_add_watch_full")
  (return-type "guint")
  (parameters
    '("GIOChannel*" "channel")
    '("gint" "priority")
    '("GIOCondition" "condition")
    '("GIOFunc" "func")
    '("gpointer" "user_data")
    '("GDestroyNotify" "notify")
  )
)

(define-function g_io_channel_error_from_errno
  (c-name "g_io_channel_error_from_errno")
  (return-type "GIOChannelError")
  (parameters
    '("gint" "en")
  )
)

(define-function g_io_channel_error_quark
  (c-name "g_io_channel_error_quark")
  (return-type "GQuark")
)

(define-function g_io_create_watch
  (c-name "g_io_create_watch")
  (return-type "GSource*")
  (parameters
    '("GIOChannel*" "channel")
    '("GIOCondition" "condition")
  )
)

(define-function g_key_file_error_quark
  (c-name "g_key_file_error_quark")
  (return-type "GQuark")
)

(define-function g_list_pop_allocator
  (c-name "g_list_pop_allocator")
  (return-type "none")
)

(define-function g_list_push_allocator
  (c-name "g_list_push_allocator")
  (return-type "none")
  (parameters
    '("GAllocator*" "allocator")
  )
)

(define-function g_listenv
  (c-name "g_listenv")
  (return-type "gchar**")
)

(define-function g_locale_from_utf8
  (c-name "g_locale_from_utf8")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "utf8string")
    '("gssize" "len")
    '("gsize*" "bytes_read")
    '("gsize*" "bytes_written")
    '("GError**" "error")
  )
)

(define-function g_locale_to_utf8
  (c-name "g_locale_to_utf8")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "opsysstring")
    '("gssize" "len")
    '("gsize*" "bytes_read")
    '("gsize*" "bytes_written")
    '("GError**" "error")
  )
)

(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_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_get_always_fatal
  (c-name "g_log_get_always_fatal")
  (return-type "GLogLevelFlags")
)

(define-function g_log_get_debug_enabled
  (c-name "g_log_get_debug_enabled")
  (return-type "gboolean")
)

(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_set_always_fatal
  (c-name "g_log_set_always_fatal")
  (return-type "GLogLevelFlags")
  (parameters
    '("GLogLevelFlags" "fatal_mask")
  )
)

(define-function g_log_set_debug_enabled
  (c-name "g_log_set_debug_enabled")
  (return-type "none")
  (parameters
    '("gboolean" "enabled")
  )
)

(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_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_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_set_writer_func
  (c-name "g_log_set_writer_func")
  (return-type "none")
  (parameters
    '("GLogWriterFunc" "func")
    '("gpointer" "user_data")
    '("GDestroyNotify" "user_data_free")
  )
)

(define-function g_log_structured
  (c-name "g_log_structured")
  (return-type "none")
  (parameters
    '("const-gchar*" "log_domain")
    '("GLogLevelFlags" "log_level")
  )
  (varargs #t)
)

(define-function g_log_structured_array
  (c-name "g_log_structured_array")
  (return-type "none")
  (parameters
    '("GLogLevelFlags" "log_level")
    '("const-GLogField*" "fields")
    '("gsize" "n_fields")
  )
)

(define-function g_log_structured_standard
  (c-name "g_log_structured_standard")
  (return-type "none")
  (parameters
    '("const-gchar*" "log_domain")
    '("GLogLevelFlags" "log_level")
    '("const-gchar*" "file")
    '("const-gchar*" "line")
    '("const-gchar*" "func")
    '("const-gchar*" "message_format")
  )
  (varargs #t)
)

(define-function g_log_variant
  (c-name "g_log_variant")
  (return-type "none")
  (parameters
    '("const-gchar*" "log_domain")
    '("GLogLevelFlags" "log_level")
    '("GVariant*" "fields")
  )
)

(define-function g_log_writer_default
  (c-name "g_log_writer_default")
  (return-type "GLogWriterOutput")
  (parameters
    '("GLogLevelFlags" "log_level")
    '("const-GLogField*" "fields")
    '("gsize" "n_fields")
    '("gpointer" "user_data")
  )
)

(define-function g_log_writer_default_set_debug_domains
  (c-name "g_log_writer_default_set_debug_domains")
  (return-type "none")
  (parameters
    '("const-gchar*-const*" "domains")
  )
)

(define-function g_log_writer_default_set_use_stderr
  (c-name "g_log_writer_default_set_use_stderr")
  (return-type "none")
  (parameters
    '("gboolean" "use_stderr")
  )
)

(define-function g_log_writer_default_would_drop
  (c-name "g_log_writer_default_would_drop")
  (return-type "gboolean")
  (parameters
    '("GLogLevelFlags" "log_level")
    '("const-char*" "log_domain")
  )
)

(define-function g_log_writer_format_fields
  (c-name "g_log_writer_format_fields")
  (return-type "gchar*")
  (parameters
    '("GLogLevelFlags" "log_level")
    '("const-GLogField*" "fields")
    '("gsize" "n_fields")
    '("gboolean" "use_color")
  )
)

(define-function g_log_writer_is_journald
  (c-name "g_log_writer_is_journald")
  (return-type "gboolean")
  (parameters
    '("gint" "output_fd")
  )
)

(define-function g_log_writer_journald
  (c-name "g_log_writer_journald")
  (return-type "GLogWriterOutput")
  (parameters
    '("GLogLevelFlags" "log_level")
    '("const-GLogField*" "fields")
    '("gsize" "n_fields")
    '("gpointer" "user_data")
  )
)

(define-function g_log_writer_standard_streams
  (c-name "g_log_writer_standard_streams")
  (return-type "GLogWriterOutput")
  (parameters
    '("GLogLevelFlags" "log_level")
    '("const-GLogField*" "fields")
    '("gsize" "n_fields")
    '("gpointer" "user_data")
  )
)

(define-function g_log_writer_supports_color
  (c-name "g_log_writer_supports_color")
  (return-type "gboolean")
  (parameters
    '("gint" "output_fd")
  )
)

(define-function g_log_writer_syslog
  (c-name "g_log_writer_syslog")
  (return-type "GLogWriterOutput")
  (parameters
    '("GLogLevelFlags" "log_level")
    '("const-GLogField*" "fields")
    '("gsize" "n_fields")
    '("gpointer" "user_data")
  )
)

(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_lstat
  (c-name "g_lstat")
  (return-type "int")
  (parameters
    '("const-gchar*" "filename")
    '("GStatBuf*" "buf")
  )
)

(define-function g_main_context_default
  (c-name "g_main_context_default")
  (return-type "GMainContext*")
)

(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_current_source
  (c-name "g_main_current_source")
  (return-type "GSource*")
)

(define-function g_main_depth
  (c-name "g_main_depth")
  (return-type "gint")
)

(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_malloc0_n
  (c-name "g_malloc0_n")
  (return-type "gpointer")
  (parameters
    '("gsize" "n_blocks")
    '("gsize" "n_block_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_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)
)

(define-function g_markup_error_quark
  (c-name "g_markup_error_quark")
  (return-type "GQuark")
)

(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_mem_chunk_info
  (c-name "g_mem_chunk_info")
  (return-type "none")
)

(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")
)

(define-function g_mem_set_vtable
  (c-name "g_mem_set_vtable")
  (return-type "none")
  (parameters
    '("GMemVTable*" "vtable")
  )
)

(define-function g_memdup
  (c-name "g_memdup")
  (return-type "gpointer")
  (parameters
    '("gconstpointer" "mem")
    '("guint" "byte_size")
  )
)

(define-function g_memdup2
  (c-name "g_memdup2")
  (return-type "gpointer")
  (parameters
    '("gconstpointer" "mem")
    '("gsize" "byte_size")
  )
)

(define-function g_mkdir
  (c-name "g_mkdir")
  (return-type "int")
  (parameters
    '("const-gchar*" "filename")
    '("int" "mode")
  )
)

(define-function g_mkdir_with_parents
  (c-name "g_mkdir_with_parents")
  (return-type "gint")
  (parameters
    '("const-gchar*" "pathname")
    '("gint" "mode")
  )
)

(define-function g_mkdtemp
  (c-name "g_mkdtemp")
  (return-type "gchar*")
  (parameters
    '("gchar*" "tmpl")
  )
)

(define-function g_mkdtemp_full
  (c-name "g_mkdtemp_full")
  (return-type "gchar*")
  (parameters
    '("gchar*" "tmpl")
    '("gint" "mode")
  )
)

(define-function g_mkstemp
  (c-name "g_mkstemp")
  (return-type "gint")
  (parameters
    '("gchar*" "tmpl")
  )
)

(define-function g_mkstemp_full
  (c-name "g_mkstemp_full")
  (return-type "gint")
  (parameters
    '("gchar*" "tmpl")
    '("gint" "flags")
    '("gint" "mode")
  )
)

(define-function g_mutex_new
  (c-name "g_mutex_new")
  (return-type "GMutex*")
)

(define-function g_node_pop_allocator
  (c-name "g_node_pop_allocator")
  (return-type "none")
)

(define-function g_node_push_allocator
  (c-name "g_node_push_allocator")
  (return-type "none")
  (parameters
    '("GAllocator*" "allocator")
  )
)

(define-function g_nullify_pointer
  (c-name "g_nullify_pointer")
  (return-type "none")
  (parameters
    '("gpointer*" "nullify_location")
  )
)

(define-function g_number_parser_error_quark
  (c-name "g_number_parser_error_quark")
  (return-type "GQuark")
)

(define-function g_on_error_query
  (c-name "g_on_error_query")
  (return-type "none")
  (parameters
    '("const-gchar*" "prg_name")
  )
)

(define-function g_on_error_stack_trace
  (c-name "g_on_error_stack_trace")
  (return-type "none")
  (parameters
    '("const-gchar*" "prg_name")
  )
)

(define-function g_once_init_enter
  (c-name "g_once_init_enter")
  (return-type "gboolean")
  (parameters
    '("void*" "location")
  )
)

(define-function g_once_init_enter_impl
  (c-name "g_once_init_enter_impl")
  (return-type "gboolean")
  (parameters
    '("volatile-gsize*" "location")
  )
)

(define-function g_once_init_enter_pointer
  (c-name "g_once_init_enter_pointer")
  (return-type "gboolean")
  (parameters
    '("void*" "location")
  )
)

(define-function g_once_init_leave
  (c-name "g_once_init_leave")
  (return-type "none")
  (parameters
    '("void*" "location")
    '("gsize" "result")
  )
)

(define-function g_once_init_leave_pointer
  (c-name "g_once_init_leave_pointer")
  (return-type "none")
  (parameters
    '("void*" "location")
    '("gpointer" "result")
  )
)

(define-function g_open
  (c-name "g_open")
  (return-type "int")
  (parameters
    '("const-gchar*" "filename")
    '("int" "flags")
    '("int" "mode")
  )
)

(define-function g_option_error_quark
  (c-name "g_option_error_quark")
  (return-type "GQuark")
)

(define-function g_parse_debug_string
  (c-name "g_parse_debug_string")
  (return-type "guint")
  (parameters
    '("const-gchar*" "string")
    '("const-GDebugKey*" "keys")
    '("guint" "nkeys")
  )
)

(define-function g_path_buf_equal
  (c-name "g_path_buf_equal")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "v1")
    '("gconstpointer" "v2")
  )
)

(define-function g_path_get_basename
  (c-name "g_path_get_basename")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "file_name")
  )
)

(define-function g_path_get_dirname
  (c-name "g_path_get_dirname")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "file_name")
  )
)

(define-function g_path_is_absolute
  (c-name "g_path_is_absolute")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "file_name")
  )
)

(define-function g_path_skip_root
  (c-name "g_path_skip_root")
  (return-type "const-gchar*")
  (parameters
    '("const-gchar*" "file_name")
  )
)

(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_simple
  (c-name "g_pattern_match_simple")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "pattern")
    '("const-gchar*" "string")
  )
)

(define-function g_pattern_match_string
  (c-name "g_pattern_match_string")
  (return-type "gboolean")
  (parameters
    '("GPatternSpec*" "pspec")
    '("const-gchar*" "string")
  )
)

(define-function g_pointer_bit_lock
  (c-name "g_pointer_bit_lock")
  (return-type "none")
  (parameters
    '("void*" "address")
    '("gint" "lock_bit")
  )
)

(define-function g_pointer_bit_lock_and_get
  (c-name "g_pointer_bit_lock_and_get")
  (return-type "none")
  (parameters
    '("gpointer" "address")
    '("guint" "lock_bit")
    '("guintptr*" "out_ptr")
  )
)

(define-function g_pointer_bit_lock_mask_ptr
  (c-name "g_pointer_bit_lock_mask_ptr")
  (return-type "gpointer")
  (parameters
    '("gpointer" "ptr")
    '("guint" "lock_bit")
    '("gboolean" "set")
    '("guintptr" "preserve_mask")
    '("gpointer" "preserve_ptr")
  )
)

(define-function g_pointer_bit_trylock
  (c-name "g_pointer_bit_trylock")
  (return-type "gboolean")
  (parameters
    '("void*" "address")
    '("gint" "lock_bit")
  )
)

(define-function g_pointer_bit_unlock
  (c-name "g_pointer_bit_unlock")
  (return-type "none")
  (parameters
    '("void*" "address")
    '("gint" "lock_bit")
  )
)

(define-function g_pointer_bit_unlock_and_set
  (c-name "g_pointer_bit_unlock_and_set")
  (return-type "none")
  (parameters
    '("void*" "address")
    '("guint" "lock_bit")
    '("gpointer" "ptr")
    '("guintptr" "preserve_mask")
  )
)

(define-function g_poll
  (c-name "g_poll")
  (return-type "gint")
  (parameters
    '("GPollFD*" "fds")
    '("guint" "nfds")
    '("gint" "timeout")
  )
)

(define-function g_prefix_error
  (c-name "g_prefix_error")
  (return-type "none")
  (parameters
    '("GError**" "err")
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(define-function g_prefix_error_literal
  (c-name "g_prefix_error_literal")
  (return-type "none")
  (parameters
    '("GError**" "err")
    '("const-gchar*" "prefix")
  )
)

(define-function g_print
  (c-name "g_print")
  (return-type "none")
  (parameters
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(define-function g_printerr
  (c-name "g_printerr")
  (return-type "none")
  (parameters
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(define-function g_printf
  (c-name "g_printf")
  (return-type "gint")
  (parameters
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(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_private_new
  (c-name "g_private_new")
  (return-type "GPrivate*")
  (parameters
    '("GDestroyNotify" "notify")
  )
)

(define-function g_propagate_error
  (c-name "g_propagate_error")
  (return-type "none")
  (parameters
    '("GError**" "dest")
    '("GError*" "src")
  )
)

(define-function g_propagate_prefixed_error
  (c-name "g_propagate_prefixed_error")
  (return-type "none")
  (parameters
    '("GError**" "dest")
    '("GError*" "src")
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(define-function g_ptr_array_find
  (c-name "g_ptr_array_find")
  (return-type "gboolean")
  (parameters
    '("GPtrArray*" "haystack")
    '("gconstpointer" "needle")
    '("guint*" "index_")
  )
)

(define-function g_ptr_array_find_with_equal_func
  (c-name "g_ptr_array_find_with_equal_func")
  (return-type "gboolean")
  (parameters
    '("GPtrArray*" "haystack")
    '("gconstpointer" "needle")
    '("GEqualFunc" "equal_func")
    '("guint*" "index_")
  )
)

(define-function g_ptr_array_new_from_array
  (c-name "g_ptr_array_new_from_array")
  (return-type "GPtrArray*")
  (parameters
    '("gpointer*" "data")
    '("gsize" "len")
    '("GCopyFunc" "copy_func")
    '("gpointer" "copy_func_user_data")
    '("GDestroyNotify" "element_free_func")
  )
)

(define-function g_ptr_array_new_from_null_terminated_array
  (c-name "g_ptr_array_new_from_null_terminated_array")
  (return-type "GPtrArray*")
  (parameters
    '("gpointer*" "data")
    '("GCopyFunc" "copy_func")
    '("gpointer" "copy_func_user_data")
    '("GDestroyNotify" "element_free_func")
  )
)

(define-function g_ptr_array_new_take
  (c-name "g_ptr_array_new_take")
  (return-type "GPtrArray*")
  (parameters
    '("gpointer*" "data")
    '("gsize" "len")
    '("GDestroyNotify" "element_free_func")
  )
)

(define-function g_ptr_array_new_take_null_terminated
  (c-name "g_ptr_array_new_take_null_terminated")
  (return-type "GPtrArray*")
  (parameters
    '("gpointer*" "data")
    '("GDestroyNotify" "element_free_func")
  )
)

(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")
  )
)

(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-function g_quark_to_string
  (c-name "g_quark_to_string")
  (return-type "const-gchar*")
  (parameters
    '("GQuark" "quark")
  )
)

(define-function g_quark_try_string
  (c-name "g_quark_try_string")
  (return-type "GQuark")
  (parameters
    '("const-gchar*" "string")
  )
)

(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")
  )
)

(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_set_seed
  (c-name "g_random_set_seed")
  (return-type "none")
  (parameters
    '("guint32" "seed")
  )
)

(define-function g_rc_box_acquire
  (c-name "g_rc_box_acquire")
  (return-type "gpointer")
  (parameters
    '("gpointer" "mem_block")
  )
)

(define-function g_rc_box_alloc
  (c-name "g_rc_box_alloc")
  (return-type "gpointer")
  (parameters
    '("gsize" "block_size")
  )
)

(define-function g_rc_box_alloc0
  (c-name "g_rc_box_alloc0")
  (return-type "gpointer")
  (parameters
    '("gsize" "block_size")
  )
)

(define-function g_rc_box_dup
  (c-name "g_rc_box_dup")
  (return-type "gpointer")
  (parameters
    '("gsize" "block_size")
    '("gconstpointer" "mem_block")
  )
)

(define-function g_rc_box_get_size
  (c-name "g_rc_box_get_size")
  (return-type "gsize")
  (parameters
    '("gpointer" "mem_block")
  )
)

(define-function g_rc_box_release
  (c-name "g_rc_box_release")
  (return-type "none")
  (parameters
    '("gpointer" "mem_block")
  )
)

(define-function g_rc_box_release_full
  (c-name "g_rc_box_release_full")
  (return-type "none")
  (parameters
    '("gpointer" "mem_block")
    '("GDestroyNotify" "clear_func")
  )
)

(define-function g_realloc
  (c-name "g_realloc")
  (return-type "gpointer")
  (parameters
    '("gpointer" "mem")
    '("gsize" "n_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_ref_count_compare
  (c-name "g_ref_count_compare")
  (return-type "gboolean")
  (parameters
    '("grefcount*" "rc")
    '("gint" "val")
  )
)

(define-function g_ref_count_dec
  (c-name "g_ref_count_dec")
  (return-type "gboolean")
  (parameters
    '("grefcount*" "rc")
  )
)

(define-function g_ref_count_inc
  (c-name "g_ref_count_inc")
  (return-type "none")
  (parameters
    '("grefcount*" "rc")
  )
)

(define-function g_ref_count_init
  (c-name "g_ref_count_init")
  (return-type "none")
  (parameters
    '("grefcount*" "rc")
  )
)

(define-function g_ref_string_acquire
  (c-name "g_ref_string_acquire")
  (return-type "char*")
  (parameters
    '("char*" "str")
  )
)

(define-function g_ref_string_equal
  (c-name "g_ref_string_equal")
  (return-type "gboolean")
  (parameters
    '("const-char*" "str1")
    '("const-char*" "str2")
  )
)

(define-function g_ref_string_length
  (c-name "g_ref_string_length")
  (return-type "gsize")
  (parameters
    '("char*" "str")
  )
)

(define-function g_ref_string_new
  (c-name "g_ref_string_new")
  (return-type "char*")
  (parameters
    '("const-char*" "str")
  )
)

(define-function g_ref_string_new_intern
  (c-name "g_ref_string_new_intern")
  (return-type "char*")
  (parameters
    '("const-char*" "str")
  )
)

(define-function g_ref_string_new_len
  (c-name "g_ref_string_new_len")
  (return-type "char*")
  (parameters
    '("const-char*" "str")
    '("gssize" "len")
  )
)

(define-function g_ref_string_release
  (c-name "g_ref_string_release")
  (return-type "none")
  (parameters
    '("char*" "str")
  )
)

(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-function g_regex_error_quark
  (c-name "g_regex_error_quark")
  (return-type "GQuark")
)

(define-function g_regex_escape_nul
  (c-name "g_regex_escape_nul")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "string")
    '("gint" "length")
  )
)

(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_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-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-function g_reload_user_special_dirs_cache
  (c-name "g_reload_user_special_dirs_cache")
  (return-type "none")
)

(define-function g_remove
  (c-name "g_remove")
  (return-type "int")
  (parameters
    '("const-gchar*" "filename")
  )
)

(define-function g_rename
  (c-name "g_rename")
  (return-type "int")
  (parameters
    '("const-gchar*" "oldfilename")
    '("const-gchar*" "newfilename")
  )
)

(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_rmdir
  (c-name "g_rmdir")
  (return-type "int")
  (parameters
    '("const-gchar*" "filename")
  )
)

(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-function g_sequence_get
  (c-name "g_sequence_get")
  (return-type "gpointer")
  (parameters
    '("GSequenceIter*" "iter")
  )
)

(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_move_range
  (c-name "g_sequence_move_range")
  (return-type "none")
  (parameters
    '("GSequenceIter*" "dest")
    '("GSequenceIter*" "begin")
    '("GSequenceIter*" "end")
  )
)

(define-function g_sequence_range_get_midpoint
  (c-name "g_sequence_range_get_midpoint")
  (return-type "GSequenceIter*")
  (parameters
    '("GSequenceIter*" "begin")
    '("GSequenceIter*" "end")
  )
)

(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_set
  (c-name "g_sequence_set")
  (return-type "none")
  (parameters
    '("GSequenceIter*" "iter")
    '("gpointer" "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_swap
  (c-name "g_sequence_swap")
  (return-type "none")
  (parameters
    '("GSequenceIter*" "a")
    '("GSequenceIter*" "b")
  )
)

(define-function g_set_application_name
  (c-name "g_set_application_name")
  (return-type "none")
  (parameters
    '("const-gchar*" "application_name")
  )
)

(define-function g_set_error
  (c-name "g_set_error")
  (return-type "none")
  (parameters
    '("GError**" "err")
    '("GQuark" "domain")
    '("gint" "code")
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(define-function g_set_error_literal
  (c-name "g_set_error_literal")
  (return-type "none")
  (parameters
    '("GError**" "err")
    '("GQuark" "domain")
    '("gint" "code")
    '("const-gchar*" "message")
  )
)

(define-function g_set_prgname
  (c-name "g_set_prgname")
  (return-type "none")
  (parameters
    '("const-gchar*" "prgname")
  )
)

(define-function g_set_print_handler
  (c-name "g_set_print_handler")
  (return-type "GPrintFunc")
  (parameters
    '("GPrintFunc" "func")
  )
)

(define-function g_set_printerr_handler
  (c-name "g_set_printerr_handler")
  (return-type "GPrintFunc")
  (parameters
    '("GPrintFunc" "func")
  )
)

(define-function g_setenv
  (c-name "g_setenv")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "variable")
    '("const-gchar*" "value")
    '("gboolean" "overwrite")
  )
)

(define-function g_shell_error_quark
  (c-name "g_shell_error_quark")
  (return-type "GQuark")
)

(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")
  )
)

(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_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_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_set_config
  (c-name "g_slice_set_config")
  (return-type "none")
  (parameters
    '("GSliceConfig" "ckey")
    '("gint64" "value")
  )
)

(define-function g_slist_pop_allocator
  (c-name "g_slist_pop_allocator")
  (return-type "none")
)

(define-function g_slist_push_allocator
  (c-name "g_slist_push_allocator")
  (return-type "none")
  (parameters
    '("GAllocator*" "allocator")
  )
)

(define-function g_snprintf
  (c-name "g_snprintf")
  (return-type "gint")
  (parameters
    '("gchar*" "string")
    '("gulong" "n")
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(define-function g_sort_array
  (c-name "g_sort_array")
  (return-type "none")
  (parameters
    '("void*" "array")
    '("size_t" "n_elements")
    '("size_t" "element_size")
    '("GCompareDataFunc" "compare_func")
    '("void*" "user_data")
  )
)

(define-function g_source_remove
  (c-name "g_source_remove")
  (return-type "gboolean")
  (parameters
    '("guint" "tag")
  )
)

(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_source_remove_by_user_data
  (c-name "g_source_remove_by_user_data")
  (return-type "gboolean")
  (parameters
    '("gpointer" "user_data")
  )
)

(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-function g_spaced_primes_closest
  (c-name "g_spaced_primes_closest")
  (return-type "guint")
  (parameters
    '("guint" "num")
  )
)

(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_fds
  (c-name "g_spawn_async_with_fds")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "working_directory")
    '("gchar**" "argv")
    '("gchar**" "envp")
    '("GSpawnFlags" "flags")
    '("GSpawnChildSetupFunc" "child_setup")
    '("gpointer" "user_data")
    '("GPid*" "child_pid")
    '("gint" "stdin_fd")
    '("gint" "stdout_fd")
    '("gint" "stderr_fd")
    '("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_async_with_pipes_and_fds
  (c-name "g_spawn_async_with_pipes_and_fds")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "working_directory")
    '("const-gchar*-const*" "argv")
    '("const-gchar*-const*" "envp")
    '("GSpawnFlags" "flags")
    '("GSpawnChildSetupFunc" "child_setup")
    '("gpointer" "user_data")
    '("gint" "stdin_fd")
    '("gint" "stdout_fd")
    '("gint" "stderr_fd")
    '("const-gint*" "source_fds")
    '("const-gint*" "target_fds")
    '("gsize" "n_fds")
    '("GPid*" "child_pid_out")
    '("gint*" "stdin_pipe_out")
    '("gint*" "stdout_pipe_out")
    '("gint*" "stderr_pipe_out")
    '("GError**" "error")
  )
)

(define-function g_spawn_check_exit_status
  (c-name "g_spawn_check_exit_status")
  (return-type "gboolean")
  (parameters
    '("gint" "wait_status")
    '("GError**" "error")
  )
)

(define-function g_spawn_check_wait_status
  (c-name "g_spawn_check_wait_status")
  (return-type "gboolean")
  (parameters
    '("gint" "wait_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_command_line_async
  (c-name "g_spawn_command_line_async")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "command_line")
    '("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*" "wait_status")
    '("GError**" "error")
  )
)

(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_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*" "wait_status")
    '("GError**" "error")
  )
)

(define-function g_sprintf
  (c-name "g_sprintf")
  (return-type "gint")
  (parameters
    '("gchar*" "string")
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(define-function g_stat
  (c-name "g_stat")
  (return-type "int")
  (parameters
    '("const-gchar*" "filename")
    '("GStatBuf*" "buf")
  )
)

(define-function g_stpcpy
  (c-name "g_stpcpy")
  (return-type "gchar*")
  (parameters
    '("gchar*" "dest")
    '("const-char*" "src")
  )
)

(define-function g_str_equal
  (c-name "g_str_equal")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "v1")
    '("gconstpointer" "v2")
  )
)

(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_str_has_suffix
  (c-name "g_str_has_suffix")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "str")
    '("const-gchar*" "suffix")
  )
)

(define-function g_str_hash
  (c-name "g_str_hash")
  (return-type "guint")
  (parameters
    '("gconstpointer" "v")
  )
)

(define-function g_str_is_ascii
  (c-name "g_str_is_ascii")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "str")
  )
)

(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_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_strcanon
  (c-name "g_strcanon")
  (return-type "gchar*")
  (parameters
    '("gchar*" "string")
    '("const-gchar*" "valid_chars")
    '("gchar" "substitutor")
  )
)

(define-function g_strcasecmp
  (c-name "g_strcasecmp")
  (return-type "gint")
  (parameters
    '("const-gchar*" "s1")
    '("const-gchar*" "s2")
  )
)

(define-function g_strchomp
  (c-name "g_strchomp")
  (return-type "gchar*")
  (parameters
    '("gchar*" "string")
  )
)

(define-function g_strchug
  (c-name "g_strchug")
  (return-type "gchar*")
  (parameters
    '("gchar*" "string")
  )
)

(define-function g_strcmp0
  (c-name "g_strcmp0")
  (return-type "int")
  (parameters
    '("const-char*" "str1")
    '("const-char*" "str2")
  )
)

(define-function g_strcompress
  (c-name "g_strcompress")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "source")
  )
)

(define-function g_strconcat
  (c-name "g_strconcat")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "string1")
  )
  (varargs #t)
)

(define-function g_strdelimit
  (c-name "g_strdelimit")
  (return-type "gchar*")
  (parameters
    '("gchar*" "string")
    '("const-gchar*" "delimiters")
    '("gchar" "new_delimiter")
  )
)

(define-function g_strdown
  (c-name "g_strdown")
  (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_strdupv
  (c-name "g_strdupv")
  (return-type "gchar**")
  (parameters
    '("gchar**" "str_array")
  )
)

(define-function g_strerror
  (c-name "g_strerror")
  (return-type "const-gchar*")
  (parameters
    '("gint" "errnum")
  )
)

(define-function g_strescape
  (c-name "g_strescape")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "source")
    '("const-gchar*" "exceptions")
  )
)

(define-function g_strfreev
  (c-name "g_strfreev")
  (return-type "none")
  (parameters
    '("gchar**" "str_array")
  )
)

(define-function g_strip_context
  (c-name "g_strip_context")
  (return-type "const-gchar*")
  (parameters
    '("const-gchar*" "msgid")
    '("const-gchar*" "msgval")
  )
)

(define-function g_strjoin
  (c-name "g_strjoin")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "separator")
  )
  (varargs #t)
)

(define-function g_strjoinv
  (c-name "g_strjoinv")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "separator")
    '("gchar**" "str_array")
  )
)

(define-function g_strlcat
  (c-name "g_strlcat")
  (return-type "gsize")
  (parameters
    '("gchar*" "dest")
    '("const-gchar*" "src")
    '("gsize" "dest_size")
  )
)

(define-function g_strlcpy
  (c-name "g_strlcpy")
  (return-type "gsize")
  (parameters
    '("gchar*" "dest")
    '("const-gchar*" "src")
    '("gsize" "dest_size")
  )
)

(define-function g_strncasecmp
  (c-name "g_strncasecmp")
  (return-type "gint")
  (parameters
    '("const-gchar*" "s1")
    '("const-gchar*" "s2")
    '("guint" "n")
  )
)

(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_strreverse
  (c-name "g_strreverse")
  (return-type "gchar*")
  (parameters
    '("gchar*" "string")
  )
)

(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_strsignal
  (c-name "g_strsignal")
  (return-type "const-gchar*")
  (parameters
    '("gint" "signum")
  )
)

(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_strstr_len
  (c-name "g_strstr_len")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "haystack")
    '("gssize" "haystack_len")
    '("const-gchar*" "needle")
  )
)

(define-function g_strtod
  (c-name "g_strtod")
  (return-type "gdouble")
  (parameters
    '("const-gchar*" "nptr")
    '("gchar**" "endptr")
  )
)

(define-function g_strup
  (c-name "g_strup")
  (return-type "gchar*")
  (parameters
    '("gchar*" "string")
  )
)

(define-function g_strv_contains
  (c-name "g_strv_contains")
  (return-type "gboolean")
  (parameters
    '("const-gchar*-const*" "strv")
    '("const-gchar*" "str")
  )
)

(define-function g_strv_equal
  (c-name "g_strv_equal")
  (return-type "gboolean")
  (parameters
    '("const-gchar*-const*" "strv1")
    '("const-gchar*-const*" "strv2")
  )
)

(define-function g_strv_get_type
  (c-name "g_strv_get_type")
  (return-type "GType")
)

(define-function g_strv_length
  (c-name "g_strv_length")
  (return-type "guint")
  (parameters
    '("gchar**" "str_array")
  )
)

(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_add_func
  (c-name "g_test_add_func")
  (return-type "none")
  (parameters
    '("const-char*" "testpath")
    '("GTestFunc" "test_func")
  )
)

(define-function g_test_add_vtable
  (c-name "g_test_add_vtable")
  (return-type "none")
  (parameters
    '("const-char*" "testpath")
    '("gsize" "data_size")
    '("gconstpointer" "test_data")
    '("GTestFixtureFunc" "data_setup")
    '("GTestFixtureFunc" "data_test")
    '("GTestFixtureFunc" "data_teardown")
  )
)

(define-function g_test_assert_expected_messages_internal
  (c-name "g_test_assert_expected_messages_internal")
  (return-type "none")
  (parameters
    '("const-char*" "domain")
    '("const-char*" "file")
    '("int" "line")
    '("const-char*" "func")
  )
)

(define-function g_test_bug
  (c-name "g_test_bug")
  (return-type "none")
  (parameters
    '("const-char*" "bug_uri_snippet")
  )
)

(define-function g_test_bug_base
  (c-name "g_test_bug_base")
  (return-type "none")
  (parameters
    '("const-char*" "uri_pattern")
  )
)

(define-function g_test_build_filename
  (c-name "g_test_build_filename")
  (return-type "gchar*")
  (parameters
    '("GTestFileType" "file_type")
    '("const-gchar*" "first_path")
  )
  (varargs #t)
)

(define-function g_test_create_case
  (c-name "g_test_create_case")
  (return-type "GTestCase*")
  (parameters
    '("const-char*" "test_name")
    '("gsize" "data_size")
    '("gconstpointer" "test_data")
    '("GTestFixtureFunc" "data_setup")
    '("GTestFixtureFunc" "data_test")
    '("GTestFixtureFunc" "data_teardown")
  )
)

(define-function g_test_create_suite
  (c-name "g_test_create_suite")
  (return-type "GTestSuite*")
  (parameters
    '("const-char*" "suite_name")
  )
)

(define-function g_test_disable_crash_reporting
  (c-name "g_test_disable_crash_reporting")
  (return-type "none")
)

(define-function g_test_expect_message
  (c-name "g_test_expect_message")
  (return-type "none")
  (parameters
    '("const-gchar*" "log_domain")
    '("GLogLevelFlags" "log_level")
    '("const-gchar*" "pattern")
  )
)

(define-function g_test_fail
  (c-name "g_test_fail")
  (return-type "none")
)

(define-function g_test_fail_printf
  (c-name "g_test_fail_printf")
  (return-type "none")
  (parameters
    '("const-char*" "format")
  )
  (varargs #t)
)

(define-function g_test_failed
  (c-name "g_test_failed")
  (return-type "gboolean")
)

(define-function g_test_get_dir
  (c-name "g_test_get_dir")
  (return-type "const-gchar*")
  (parameters
    '("GTestFileType" "file_type")
  )
)

(define-function g_test_get_filename
  (c-name "g_test_get_filename")
  (return-type "const-gchar*")
  (parameters
    '("GTestFileType" "file_type")
    '("const-gchar*" "first_path")
  )
  (varargs #t)
)

(define-function g_test_get_path
  (c-name "g_test_get_path")
  (return-type "const-char*")
)

(define-function g_test_get_root
  (c-name "g_test_get_root")
  (return-type "GTestSuite*")
)

(define-function g_test_incomplete
  (c-name "g_test_incomplete")
  (return-type "none")
  (parameters
    '("const-gchar*" "msg")
  )
)

(define-function g_test_incomplete_printf
  (c-name "g_test_incomplete_printf")
  (return-type "none")
  (parameters
    '("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_log_set_fatal_handler
  (c-name "g_test_log_set_fatal_handler")
  (return-type "none")
  (parameters
    '("GTestLogFatalFunc" "log_func")
    '("gpointer" "user_data")
  )
)

(define-function g_test_log_type_name
  (c-name "g_test_log_type_name")
  (return-type "const-char*")
  (parameters
    '("GTestLogType" "log_type")
  )
)

(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_message
  (c-name "g_test_message")
  (return-type "none")
  (parameters
    '("const-char*" "format")
  )
  (varargs #t)
)

(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_queue_destroy
  (c-name "g_test_queue_destroy")
  (return-type "none")
  (parameters
    '("GDestroyNotify" "destroy_func")
    '("gpointer" "destroy_data")
  )
)

(define-function g_test_queue_free
  (c-name "g_test_queue_free")
  (return-type "none")
  (parameters
    '("gpointer" "gfree_pointer")
  )
)

(define-function g_test_rand_double
  (c-name "g_test_rand_double")
  (return-type "double")
)

(define-function g_test_rand_double_range
  (c-name "g_test_rand_double_range")
  (return-type "double")
  (parameters
    '("double" "range_start")
    '("double" "range_end")
  )
)

(define-function g_test_rand_int
  (c-name "g_test_rand_int")
  (return-type "gint32")
)

(define-function g_test_rand_int_range
  (c-name "g_test_rand_int_range")
  (return-type "gint32")
  (parameters
    '("gint32" "begin")
    '("gint32" "end")
  )
)

(define-function g_test_run
  (c-name "g_test_run")
  (return-type "int")
)

(define-function g_test_run_suite
  (c-name "g_test_run_suite")
  (return-type "int")
  (parameters
    '("GTestSuite*" "suite")
  )
)

(define-function g_test_set_nonfatal_assertions
  (c-name "g_test_set_nonfatal_assertions")
  (return-type "none")
)

(define-function g_test_skip
  (c-name "g_test_skip")
  (return-type "none")
  (parameters
    '("const-gchar*" "msg")
  )
)

(define-function g_test_skip_printf
  (c-name "g_test_skip_printf")
  (return-type "none")
  (parameters
    '("const-char*" "format")
  )
  (varargs #t)
)

(define-function g_test_subprocess
  (c-name "g_test_subprocess")
  (return-type "gboolean")
)

(define-function g_test_summary
  (c-name "g_test_summary")
  (return-type "none")
  (parameters
    '("const-char*" "summary")
  )
)

(define-function g_test_timer_elapsed
  (c-name "g_test_timer_elapsed")
  (return-type "double")
)

(define-function g_test_timer_last
  (c-name "g_test_timer_last")
  (return-type "double")
)

(define-function g_test_timer_start
  (c-name "g_test_timer_start")
  (return-type "none")
)

(define-function g_test_trap_assertions
  (c-name "g_test_trap_assertions")
  (return-type "none")
  (parameters
    '("const-char*" "domain")
    '("const-char*" "file")
    '("int" "line")
    '("const-char*" "func")
    '("guint64" "assertion_flags")
    '("const-char*" "pattern")
  )
)

(define-function g_test_trap_fork
  (c-name "g_test_trap_fork")
  (return-type "gboolean")
  (parameters
    '("guint64" "usec_timeout")
    '("GTestTrapFlags" "test_trap_flags")
  )
)

(define-function g_test_trap_has_passed
  (c-name "g_test_trap_has_passed")
  (return-type "gboolean")
)

(define-function g_test_trap_has_skipped
  (c-name "g_test_trap_has_skipped")
  (return-type "gboolean")
)

(define-function g_test_trap_reached_timeout
  (c-name "g_test_trap_reached_timeout")
  (return-type "gboolean")
)

(define-function g_test_trap_subprocess
  (c-name "g_test_trap_subprocess")
  (return-type "none")
  (parameters
    '("const-char*" "test_path")
    '("guint64" "usec_timeout")
    '("GTestSubprocessFlags" "test_flags")
  )
)

(define-function g_test_trap_subprocess_with_envp
  (c-name "g_test_trap_subprocess_with_envp")
  (return-type "none")
  (parameters
    '("const-char*" "test_path")
    '("const-char*-const*" "envp")
    '("guint64" "usec_timeout")
    '("GTestSubprocessFlags" "test_flags")
  )
)

(define-function g_thread_create
  (c-name "g_thread_create")
  (return-type "GThread*")
  (parameters
    '("GThreadFunc" "func")
    '("gpointer" "data")
    '("gboolean" "joinable")
    '("GError**" "error")
  )
)

(define-function g_thread_create_full
  (c-name "g_thread_create_full")
  (return-type "GThread*")
  (parameters
    '("GThreadFunc" "func")
    '("gpointer" "data")
    '("gulong" "stack_size")
    '("gboolean" "joinable")
    '("gboolean" "bound")
    '("GThreadPriority" "priority")
    '("GError**" "error")
  )
)

(define-function g_thread_error_quark
  (c-name "g_thread_error_quark")
  (return-type "GQuark")
)

(define-function g_thread_exit
  (c-name "g_thread_exit")
  (return-type "none")
  (parameters
    '("gpointer" "retval")
  )
)

(define-function g_thread_foreach
  (c-name "g_thread_foreach")
  (return-type "none")
  (parameters
    '("GFunc" "thread_func")
    '("gpointer" "user_data")
  )
)

(define-function g_thread_get_initialized
  (c-name "g_thread_get_initialized")
  (return-type "gboolean")
)

(define-function g_thread_init
  (c-name "g_thread_init")
  (return-type "none")
  (parameters
    '("gpointer" "vtable")
  )
)

(define-function g_thread_init_with_errorcheck_mutexes
  (c-name "g_thread_init_with_errorcheck_mutexes")
  (return-type "none")
  (parameters
    '("gpointer" "vtable")
  )
)

(define-function g_thread_pool_get_max_idle_time
  (c-name "g_thread_pool_get_max_idle_time")
  (return-type "guint")
)

(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-function g_thread_pool_set_max_idle_time
  (c-name "g_thread_pool_set_max_idle_time")
  (return-type "none")
  (parameters
    '("guint" "interval")
  )
)

(define-function g_thread_pool_set_max_unused_threads
  (c-name "g_thread_pool_set_max_unused_threads")
  (return-type "none")
  (parameters
    '("gint" "max_threads")
  )
)

(define-function g_thread_pool_stop_unused_threads
  (c-name "g_thread_pool_stop_unused_threads")
  (return-type "none")
)

(define-function g_thread_self
  (c-name "g_thread_self")
  (return-type "GThread*")
)

(define-function g_thread_yield
  (c-name "g_thread_yield")
  (return-type "none")
)

(define-function g_time_val_from_iso8601
  (c-name "g_time_val_from_iso8601")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "iso_date")
    '("GTimeVal*" "time_")
  )
)

(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_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_once
  (c-name "g_timeout_add_once")
  (return-type "guint")
  (parameters
    '("guint" "interval")
    '("GSourceOnceFunc" "function")
    '("gpointer" "data")
  )
)

(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_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_once
  (c-name "g_timeout_add_seconds_once")
  (return-type "guint")
  (parameters
    '("guint" "interval")
    '("GSourceOnceFunc" "function")
    '("gpointer" "data")
  )
)

(define-function g_timeout_source_new
  (c-name "g_timeout_source_new")
  (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_trash_stack_height
  (c-name "g_trash_stack_height")
  (return-type "guint")
  (parameters
    '("GTrashStack**" "stack_p")
  )
)

(define-function g_trash_stack_peek
  (c-name "g_trash_stack_peek")
  (return-type "gpointer")
  (parameters
    '("GTrashStack**" "stack_p")
  )
)

(define-function g_trash_stack_pop
  (c-name "g_trash_stack_pop")
  (return-type "gpointer")
  (parameters
    '("GTrashStack**" "stack_p")
  )
)

(define-function g_trash_stack_push
  (c-name "g_trash_stack_push")
  (return-type "none")
  (parameters
    '("GTrashStack**" "stack_p")
    '("gpointer" "data_p")
  )
)

(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_malloc0_n
  (c-name "g_try_malloc0_n")
  (return-type "gpointer")
  (parameters
    '("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_realloc
  (c-name "g_try_realloc")
  (return-type "gpointer")
  (parameters
    '("gpointer" "mem")
    '("gsize" "n_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_ucs4_to_utf16
  (c-name "g_ucs4_to_utf16")
  (return-type "gunichar2*")
  (parameters
    '("const-gunichar*" "str")
    '("glong" "len")
    '("glong*" "items_read")
    '("glong*" "items_written")
    '("GError**" "error")
  )
)

(define-function g_ucs4_to_utf8
  (c-name "g_ucs4_to_utf8")
  (return-type "gchar*")
  (parameters
    '("const-gunichar*" "str")
    '("glong" "len")
    '("glong*" "items_read")
    '("glong*" "items_written")
    '("GError**" "error")
  )
)

(define-function g_unichar_break_type
  (c-name "g_unichar_break_type")
  (return-type "GUnicodeBreakType")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_combining_class
  (c-name "g_unichar_combining_class")
  (return-type "gint")
  (parameters
    '("gunichar" "uc")
  )
)

(define-function g_unichar_compose
  (c-name "g_unichar_compose")
  (return-type "gboolean")
  (parameters
    '("gunichar" "a")
    '("gunichar" "b")
    '("gunichar*" "ch")
  )
)

(define-function g_unichar_decompose
  (c-name "g_unichar_decompose")
  (return-type "gboolean")
  (parameters
    '("gunichar" "ch")
    '("gunichar*" "a")
    '("gunichar*" "b")
  )
)

(define-function g_unichar_digit_value
  (c-name "g_unichar_digit_value")
  (return-type "gint")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_fully_decompose
  (c-name "g_unichar_fully_decompose")
  (return-type "gsize")
  (parameters
    '("gunichar" "ch")
    '("gboolean" "compat")
    '("gunichar*" "result")
    '("gsize" "result_len")
  )
)

(define-function g_unichar_get_mirror_char
  (c-name "g_unichar_get_mirror_char")
  (return-type "gboolean")
  (parameters
    '("gunichar" "ch")
    '("gunichar*" "mirrored_ch")
  )
)

(define-function g_unichar_get_script
  (c-name "g_unichar_get_script")
  (return-type "GUnicodeScript")
  (parameters
    '("gunichar" "ch")
  )
)

(define-function g_unichar_isalnum
  (c-name "g_unichar_isalnum")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_isalpha
  (c-name "g_unichar_isalpha")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_iscntrl
  (c-name "g_unichar_iscntrl")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_isdefined
  (c-name "g_unichar_isdefined")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_isdigit
  (c-name "g_unichar_isdigit")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_isgraph
  (c-name "g_unichar_isgraph")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_islower
  (c-name "g_unichar_islower")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_ismark
  (c-name "g_unichar_ismark")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_isprint
  (c-name "g_unichar_isprint")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_ispunct
  (c-name "g_unichar_ispunct")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_isspace
  (c-name "g_unichar_isspace")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_istitle
  (c-name "g_unichar_istitle")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_isupper
  (c-name "g_unichar_isupper")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_iswide
  (c-name "g_unichar_iswide")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_iswide_cjk
  (c-name "g_unichar_iswide_cjk")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_isxdigit
  (c-name "g_unichar_isxdigit")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_iszerowidth
  (c-name "g_unichar_iszerowidth")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_to_utf8
  (c-name "g_unichar_to_utf8")
  (return-type "gint")
  (parameters
    '("gunichar" "c")
    '("gchar*" "outbuf")
  )
)

(define-function g_unichar_tolower
  (c-name "g_unichar_tolower")
  (return-type "gunichar")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_totitle
  (c-name "g_unichar_totitle")
  (return-type "gunichar")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_toupper
  (c-name "g_unichar_toupper")
  (return-type "gunichar")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_type
  (c-name "g_unichar_type")
  (return-type "GUnicodeType")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unichar_validate
  (c-name "g_unichar_validate")
  (return-type "gboolean")
  (parameters
    '("gunichar" "ch")
  )
)

(define-function g_unichar_xdigit_value
  (c-name "g_unichar_xdigit_value")
  (return-type "gint")
  (parameters
    '("gunichar" "c")
  )
)

(define-function g_unicode_canonical_decomposition
  (c-name "g_unicode_canonical_decomposition")
  (return-type "gunichar*")
  (parameters
    '("gunichar" "ch")
    '("gsize*" "result_len")
  )
)

(define-function g_unicode_canonical_ordering
  (c-name "g_unicode_canonical_ordering")
  (return-type "none")
  (parameters
    '("gunichar*" "string")
    '("gsize" "len")
  )
)

(define-function g_unicode_script_from_iso15924
  (c-name "g_unicode_script_from_iso15924")
  (return-type "GUnicodeScript")
  (parameters
    '("guint32" "iso15924")
  )
)

(define-function g_unicode_script_to_iso15924
  (c-name "g_unicode_script_to_iso15924")
  (return-type "guint32")
  (parameters
    '("GUnicodeScript" "script")
  )
)

(define-function g_unlink
  (c-name "g_unlink")
  (return-type "int")
  (parameters
    '("const-gchar*" "filename")
  )
)

(define-function g_unsetenv
  (c-name "g_unsetenv")
  (return-type "none")
  (parameters
    '("const-gchar*" "variable")
  )
)

(define-function g_uri_build
  (c-name "g_uri_build")
  (return-type "GUri*")
  (parameters
    '("GUriFlags" "flags")
    '("const-gchar*" "scheme")
    '("const-gchar*" "userinfo")
    '("const-gchar*" "host")
    '("gint" "port")
    '("const-gchar*" "path")
    '("const-gchar*" "query")
    '("const-gchar*" "fragment")
  )
)

(define-function g_uri_build_with_user
  (c-name "g_uri_build_with_user")
  (return-type "GUri*")
  (parameters
    '("GUriFlags" "flags")
    '("const-gchar*" "scheme")
    '("const-gchar*" "user")
    '("const-gchar*" "password")
    '("const-gchar*" "auth_params")
    '("const-gchar*" "host")
    '("gint" "port")
    '("const-gchar*" "path")
    '("const-gchar*" "query")
    '("const-gchar*" "fragment")
  )
)

(define-function g_uri_error_quark
  (c-name "g_uri_error_quark")
  (return-type "GQuark")
)

(define-function g_uri_escape_bytes
  (c-name "g_uri_escape_bytes")
  (return-type "char*")
  (parameters
    '("const-guint8*" "unescaped")
    '("gsize" "length")
    '("const-char*" "reserved_chars_allowed")
  )
)

(define-function g_uri_escape_string
  (c-name "g_uri_escape_string")
  (return-type "char*")
  (parameters
    '("const-char*" "unescaped")
    '("const-char*" "reserved_chars_allowed")
    '("gboolean" "allow_utf8")
  )
)

(define-function g_uri_is_valid
  (c-name "g_uri_is_valid")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri_string")
    '("GUriFlags" "flags")
    '("GError**" "error")
  )
)

(define-function g_uri_join
  (c-name "g_uri_join")
  (return-type "gchar*")
  (parameters
    '("GUriFlags" "flags")
    '("const-gchar*" "scheme")
    '("const-gchar*" "userinfo")
    '("const-gchar*" "host")
    '("gint" "port")
    '("const-gchar*" "path")
    '("const-gchar*" "query")
    '("const-gchar*" "fragment")
  )
)

(define-function g_uri_join_with_user
  (c-name "g_uri_join_with_user")
  (return-type "gchar*")
  (parameters
    '("GUriFlags" "flags")
    '("const-gchar*" "scheme")
    '("const-gchar*" "user")
    '("const-gchar*" "password")
    '("const-gchar*" "auth_params")
    '("const-gchar*" "host")
    '("gint" "port")
    '("const-gchar*" "path")
    '("const-gchar*" "query")
    '("const-gchar*" "fragment")
  )
)

(define-function g_uri_list_extract_uris
  (c-name "g_uri_list_extract_uris")
  (return-type "gchar**")
  (parameters
    '("const-gchar*" "uri_list")
  )
)

(define-function g_uri_parse
  (c-name "g_uri_parse")
  (return-type "GUri*")
  (parameters
    '("const-gchar*" "uri_string")
    '("GUriFlags" "flags")
    '("GError**" "error")
  )
)

(define-function g_uri_parse_params
  (c-name "g_uri_parse_params")
  (return-type "GHashTable*")
  (parameters
    '("const-gchar*" "params")
    '("gssize" "length")
    '("const-gchar*" "separators")
    '("GUriParamsFlags" "flags")
    '("GError**" "error")
  )
)

(define-function g_uri_parse_scheme
  (c-name "g_uri_parse_scheme")
  (return-type "char*")
  (parameters
    '("const-char*" "uri")
  )
)

(define-function g_uri_peek_scheme
  (c-name "g_uri_peek_scheme")
  (return-type "const-char*")
  (parameters
    '("const-char*" "uri")
  )
)

(define-function g_uri_resolve_relative
  (c-name "g_uri_resolve_relative")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "base_uri_string")
    '("const-gchar*" "uri_ref")
    '("GUriFlags" "flags")
    '("GError**" "error")
  )
)

(define-function g_uri_split
  (c-name "g_uri_split")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri_ref")
    '("GUriFlags" "flags")
    '("gchar**" "scheme")
    '("gchar**" "userinfo")
    '("gchar**" "host")
    '("gint*" "port")
    '("gchar**" "path")
    '("gchar**" "query")
    '("gchar**" "fragment")
    '("GError**" "error")
  )
)

(define-function g_uri_split_network
  (c-name "g_uri_split_network")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri_string")
    '("GUriFlags" "flags")
    '("gchar**" "scheme")
    '("gchar**" "host")
    '("gint*" "port")
    '("GError**" "error")
  )
)

(define-function g_uri_split_with_user
  (c-name "g_uri_split_with_user")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri_ref")
    '("GUriFlags" "flags")
    '("gchar**" "scheme")
    '("gchar**" "user")
    '("gchar**" "password")
    '("gchar**" "auth_params")
    '("gchar**" "host")
    '("gint*" "port")
    '("gchar**" "path")
    '("gchar**" "query")
    '("gchar**" "fragment")
    '("GError**" "error")
  )
)

(define-function g_uri_unescape_bytes
  (c-name "g_uri_unescape_bytes")
  (return-type "GBytes*")
  (parameters
    '("const-char*" "escaped_string")
    '("gssize" "length")
    '("const-char*" "illegal_characters")
    '("GError**" "error")
  )
)

(define-function g_uri_unescape_segment
  (c-name "g_uri_unescape_segment")
  (return-type "char*")
  (parameters
    '("const-char*" "escaped_string")
    '("const-char*" "escaped_string_end")
    '("const-char*" "illegal_characters")
  )
)

(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_usleep
  (c-name "g_usleep")
  (return-type "none")
  (parameters
    '("gulong" "microseconds")
  )
)

(define-function g_utf16_to_ucs4
  (c-name "g_utf16_to_ucs4")
  (return-type "gunichar*")
  (parameters
    '("const-gunichar2*" "str")
    '("glong" "len")
    '("glong*" "items_read")
    '("glong*" "items_written")
    '("GError**" "error")
  )
)

(define-function g_utf16_to_utf8
  (c-name "g_utf16_to_utf8")
  (return-type "gchar*")
  (parameters
    '("const-gunichar2*" "str")
    '("glong" "len")
    '("glong*" "items_read")
    '("glong*" "items_written")
    '("GError**" "error")
  )
)

(define-function g_utf8_casefold
  (c-name "g_utf8_casefold")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("gssize" "len")
  )
)

(define-function g_utf8_collate
  (c-name "g_utf8_collate")
  (return-type "gint")
  (parameters
    '("const-gchar*" "str1")
    '("const-gchar*" "str2")
  )
)

(define-function g_utf8_collate_key
  (c-name "g_utf8_collate_key")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("gssize" "len")
  )
)

(define-function g_utf8_collate_key_for_filename
  (c-name "g_utf8_collate_key_for_filename")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("gssize" "len")
  )
)

(define-function g_utf8_find_next_char
  (c-name "g_utf8_find_next_char")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "p")
    '("const-gchar*" "end")
  )
)

(define-function g_utf8_find_prev_char
  (c-name "g_utf8_find_prev_char")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("const-gchar*" "p")
  )
)

(define-function g_utf8_get_char
  (c-name "g_utf8_get_char")
  (return-type "gunichar")
  (parameters
    '("const-gchar*" "p")
  )
)

(define-function g_utf8_get_char_validated
  (c-name "g_utf8_get_char_validated")
  (return-type "gunichar")
  (parameters
    '("const-gchar*" "p")
    '("gssize" "max_len")
  )
)

(define-function g_utf8_make_valid
  (c-name "g_utf8_make_valid")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("gssize" "len")
  )
)

(define-function g_utf8_normalize
  (c-name "g_utf8_normalize")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("gssize" "len")
    '("GNormalizeMode" "mode")
  )
)

(define-function g_utf8_offset_to_pointer
  (c-name "g_utf8_offset_to_pointer")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("glong" "offset")
  )
)

(define-function g_utf8_pointer_to_offset
  (c-name "g_utf8_pointer_to_offset")
  (return-type "glong")
  (parameters
    '("const-gchar*" "str")
    '("const-gchar*" "pos")
  )
)

(define-function g_utf8_prev_char
  (c-name "g_utf8_prev_char")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "p")
  )
)

(define-function g_utf8_strchr
  (c-name "g_utf8_strchr")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "p")
    '("gssize" "len")
    '("gunichar" "c")
  )
)

(define-function g_utf8_strdown
  (c-name "g_utf8_strdown")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("gssize" "len")
  )
)

(define-function g_utf8_strlen
  (c-name "g_utf8_strlen")
  (return-type "glong")
  (parameters
    '("const-gchar*" "p")
    '("gssize" "max")
  )
)

(define-function g_utf8_strncpy
  (c-name "g_utf8_strncpy")
  (return-type "gchar*")
  (parameters
    '("gchar*" "dest")
    '("const-gchar*" "src")
    '("gsize" "n")
  )
)

(define-function g_utf8_strrchr
  (c-name "g_utf8_strrchr")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "p")
    '("gssize" "len")
    '("gunichar" "c")
  )
)

(define-function g_utf8_strreverse
  (c-name "g_utf8_strreverse")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("gssize" "len")
  )
)

(define-function g_utf8_strup
  (c-name "g_utf8_strup")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("gssize" "len")
  )
)

(define-function g_utf8_substring
  (c-name "g_utf8_substring")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "str")
    '("glong" "start_pos")
    '("glong" "end_pos")
  )
)

(define-function g_utf8_to_ucs4
  (c-name "g_utf8_to_ucs4")
  (return-type "gunichar*")
  (parameters
    '("const-gchar*" "str")
    '("glong" "len")
    '("glong*" "items_read")
    '("glong*" "items_written")
    '("GError**" "error")
  )
)

(define-function g_utf8_to_ucs4_fast
  (c-name "g_utf8_to_ucs4_fast")
  (return-type "gunichar*")
  (parameters
    '("const-gchar*" "str")
    '("glong" "len")
    '("glong*" "items_written")
  )
)

(define-function g_utf8_to_utf16
  (c-name "g_utf8_to_utf16")
  (return-type "gunichar2*")
  (parameters
    '("const-gchar*" "str")
    '("glong" "len")
    '("glong*" "items_read")
    '("glong*" "items_written")
    '("GError**" "error")
  )
)

(define-function g_utf8_truncate_middle
  (c-name "g_utf8_truncate_middle")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "string")
    '("gsize" "truncate_length")
  )
)

(define-function g_utf8_validate
  (c-name "g_utf8_validate")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "str")
    '("gssize" "max_len")
    '("const-gchar**" "end")
  )
)

(define-function g_utf8_validate_len
  (c-name "g_utf8_validate_len")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "str")
    '("gsize" "max_len")
    '("const-gchar**" "end")
  )
)

(define-function g_utime
  (c-name "g_utime")
  (return-type "int")
  (parameters
    '("const-gchar*" "filename")
    '("utimbuf*" "utb")
  )
)

(define-function g_uuid_string_is_valid
  (c-name "g_uuid_string_is_valid")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "str")
  )
)

(define-function g_uuid_string_random
  (c-name "g_uuid_string_random")
  (return-type "gchar*")
)

(define-function g_variant_get_gtype
  (c-name "g_variant_get_gtype")
  (return-type "GType")
)

(define-function g_variant_is_object_path
  (c-name "g_variant_is_object_path")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "string")
  )
)

(define-function g_variant_is_signature
  (c-name "g_variant_is_signature")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "string")
  )
)

(define-function g_variant_parse
  (c-name "g_variant_parse")
  (return-type "GVariant*")
  (parameters
    '("const-GVariantType*" "type")
    '("const-gchar*" "text")
    '("const-gchar*" "limit")
    '("const-gchar**" "endptr")
    '("GError**" "error")
  )
)

(define-function g_variant_parse_error_print_context
  (c-name "g_variant_parse_error_print_context")
  (return-type "gchar*")
  (parameters
    '("GError*" "error")
    '("const-gchar*" "source_str")
  )
)

(define-function g_variant_parse_error_quark
  (c-name "g_variant_parse_error_quark")
  (return-type "GQuark")
)

(define-function g_variant_parser_get_error_quark
  (c-name "g_variant_parser_get_error_quark")
  (return-type "GQuark")
)

(define-function g_variant_type_checked_
  (c-name "g_variant_type_checked_")
  (return-type "const-GVariantType*")
  (parameters
    '("const-gchar*" "type_string")
  )
)

(define-function g_variant_type_string_get_depth_
  (c-name "g_variant_type_string_get_depth_")
  (return-type "gsize")
  (parameters
    '("const-gchar*" "type_string")
  )
)

(define-function g_variant_type_string_is_valid
  (c-name "g_variant_type_string_is_valid")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "type_string")
  )
)

(define-function g_variant_type_string_scan
  (c-name "g_variant_type_string_scan")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "string")
    '("const-gchar*" "limit")
    '("const-gchar**" "endptr")
  )
)

(define-function g_vasprintf
  (c-name "g_vasprintf")
  (return-type "gint")
  (parameters
    '("gchar**" "string")
    '("const-gchar*" "format")
    '("va_list" "args")
  )
)

(define-function g_vfprintf
  (c-name "g_vfprintf")
  (return-type "gint")
  (parameters
    '("FILE*" "file")
    '("const-gchar*" "format")
    '("va_list" "args")
  )
)

(define-function g_vprintf
  (c-name "g_vprintf")
  (return-type "gint")
  (parameters
    '("const-gchar*" "format")
    '("va_list" "args")
  )
)

(define-function g_vsnprintf
  (c-name "g_vsnprintf")
  (return-type "gint")
  (parameters
    '("gchar*" "string")
    '("gulong" "n")
    '("const-gchar*" "format")
    '("va_list" "args")
  )
)

(define-function g_vsprintf
  (c-name "g_vsprintf")
  (return-type "gint")
  (parameters
    '("gchar*" "string")
    '("const-gchar*" "format")
    '("va_list" "args")
  )
)

(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_unicode_script_from_iso15924
  (c-name "g_unicode_script_from_iso15924")
  (return-type "GUnicodeScript")
  (parameters
    '("guint32" "iso15924")
  )
)

(define-function g_unicode_script_to_iso15924
  (c-name "g_unicode_script_to_iso15924")
  (return-type "guint32")
  (parameters
    '("GUnicodeScript" "script")
  )
)

(define-function g_allocator_new
  (c-name "g_allocator_new")
  (return-type "GAllocator*")
  (parameters
    '("const-gchar*" "name")
    '("guint" "n_preallocs")
  )
)

(define-method free
  (of-object "GAllocator")
  (c-name "g_allocator_free")
  (return-type "none")
)

(define-function g_array_append_vals
  (c-name "g_array_append_vals")
  (return-type "GArray*")
  (parameters
    '("GArray*" "array")
    '("gconstpointer" "data")
    '("guint" "len")
  )
)

(define-function g_array_binary_search
  (c-name "g_array_binary_search")
  (return-type "gboolean")
  (parameters
    '("GArray*" "array")
    '("gconstpointer" "target")
    '("GCompareFunc" "compare_func")
    '("guint*" "out_match_index")
  )
)

(define-function g_array_copy
  (c-name "g_array_copy")
  (return-type "GArray*")
  (parameters
    '("GArray*" "array")
  )
)

(define-function g_array_free
  (c-name "g_array_free")
  (return-type "gchar*")
  (parameters
    '("GArray*" "array")
    '("gboolean" "free_segment")
  )
)

(define-function g_array_get_element_size
  (c-name "g_array_get_element_size")
  (return-type "guint")
  (parameters
    '("GArray*" "array")
  )
)

(define-function g_array_insert_vals
  (c-name "g_array_insert_vals")
  (return-type "GArray*")
  (parameters
    '("GArray*" "array")
    '("guint" "index_")
    '("gconstpointer" "data")
    '("guint" "len")
  )
)

(define-function g_array_new
  (c-name "g_array_new")
  (return-type "GArray*")
  (parameters
    '("gboolean" "zero_terminated")
    '("gboolean" "clear_")
    '("guint" "element_size")
  )
)

(define-function g_array_new_take
  (c-name "g_array_new_take")
  (return-type "GArray*")
  (parameters
    '("gpointer" "data")
    '("gsize" "len")
    '("gboolean" "clear")
    '("gsize" "element_size")
  )
)

(define-function g_array_new_take_zero_terminated
  (c-name "g_array_new_take_zero_terminated")
  (return-type "GArray*")
  (parameters
    '("gpointer" "data")
    '("gboolean" "clear")
    '("gsize" "element_size")
  )
)

(define-function g_array_prepend_vals
  (c-name "g_array_prepend_vals")
  (return-type "GArray*")
  (parameters
    '("GArray*" "array")
    '("gconstpointer" "data")
    '("guint" "len")
  )
)

(define-function g_array_ref
  (c-name "g_array_ref")
  (return-type "GArray*")
  (parameters
    '("GArray*" "array")
  )
)

(define-function g_array_remove_index
  (c-name "g_array_remove_index")
  (return-type "GArray*")
  (parameters
    '("GArray*" "array")
    '("guint" "index_")
  )
)

(define-function g_array_remove_index_fast
  (c-name "g_array_remove_index_fast")
  (return-type "GArray*")
  (parameters
    '("GArray*" "array")
    '("guint" "index_")
  )
)

(define-function g_array_remove_range
  (c-name "g_array_remove_range")
  (return-type "GArray*")
  (parameters
    '("GArray*" "array")
    '("guint" "index_")
    '("guint" "length")
  )
)

(define-function g_array_set_clear_func
  (c-name "g_array_set_clear_func")
  (return-type "none")
  (parameters
    '("GArray*" "array")
    '("GDestroyNotify" "clear_func")
  )
)

(define-function g_array_set_size
  (c-name "g_array_set_size")
  (return-type "GArray*")
  (parameters
    '("GArray*" "array")
    '("guint" "length")
  )
)

(define-function g_array_sized_new
  (c-name "g_array_sized_new")
  (return-type "GArray*")
  (parameters
    '("gboolean" "zero_terminated")
    '("gboolean" "clear_")
    '("guint" "element_size")
    '("guint" "reserved_size")
  )
)

(define-function g_array_sort
  (c-name "g_array_sort")
  (return-type "none")
  (parameters
    '("GArray*" "array")
    '("GCompareFunc" "compare_func")
  )
)

(define-function g_array_sort_with_data
  (c-name "g_array_sort_with_data")
  (return-type "none")
  (parameters
    '("GArray*" "array")
    '("GCompareDataFunc" "compare_func")
    '("gpointer" "user_data")
  )
)

(define-function g_array_steal
  (c-name "g_array_steal")
  (return-type "gpointer")
  (parameters
    '("GArray*" "array")
    '("gsize*" "len")
  )
)

(define-function g_array_unref
  (c-name "g_array_unref")
  (return-type "none")
  (parameters
    '("GArray*" "array")
  )
)

(define-function g_async_queue_new
  (c-name "g_async_queue_new")
  (return-type "GAsyncQueue*")
)

(define-function g_async_queue_new_full
  (c-name "g_async_queue_new_full")
  (return-type "GAsyncQueue*")
  (parameters
    '("GDestroyNotify" "item_free_func")
  )
)

(define-method length
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_length")
  (return-type "gint")
)

(define-method length_unlocked
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_length_unlocked")
  (return-type "gint")
)

(define-method lock
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_lock")
  (return-type "none")
)

(define-method pop
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_pop")
  (return-type "gpointer")
)

(define-method pop_unlocked
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_pop_unlocked")
  (return-type "gpointer")
)

(define-method push
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_push")
  (return-type "none")
  (parameters
    '("gpointer" "data")
  )
)

(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 push_sorted
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_push_sorted")
  (return-type "none")
  (parameters
    '("gpointer" "data")
    '("GCompareDataFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-method push_sorted_unlocked
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_push_sorted_unlocked")
  (return-type "none")
  (parameters
    '("gpointer" "data")
    '("GCompareDataFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-method push_unlocked
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_push_unlocked")
  (return-type "none")
  (parameters
    '("gpointer" "data")
  )
)

(define-method ref
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_ref")
  (return-type "GAsyncQueue*")
)

(define-method ref_unlocked
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_ref_unlocked")
  (return-type "none")
)

(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 sort
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_sort")
  (return-type "none")
  (parameters
    '("GCompareDataFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-method sort_unlocked
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_sort_unlocked")
  (return-type "none")
  (parameters
    '("GCompareDataFunc" "func")
    '("gpointer" "user_data")
  )
)

(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")
  (return-type "gpointer")
  (parameters
    '("GTimeVal*" "end_time")
  )
)

(define-method timeout_pop
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_timeout_pop")
  (return-type "gpointer")
  (parameters
    '("guint64" "timeout")
  )
)

(define-method timeout_pop_unlocked
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_timeout_pop_unlocked")
  (return-type "gpointer")
  (parameters
    '("guint64" "timeout")
  )
)

(define-method try_pop
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_try_pop")
  (return-type "gpointer")
)

(define-method try_pop_unlocked
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_try_pop_unlocked")
  (return-type "gpointer")
)

(define-method unlock
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_unlock")
  (return-type "none")
)

(define-method unref
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_unref")
  (return-type "none")
)

(define-method unref_and_unlock
  (of-object "GAsyncQueue")
  (c-name "g_async_queue_unref_and_unlock")
  (return-type "none")
)

(define-function g_bookmark_file_error_quark
  (c-name "g_bookmark_file_error_quark")
  (return-type "GQuark")
)

(define-method add_application
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_add_application")
  (return-type "none")
  (parameters
    '("const-gchar*" "uri")
    '("const-gchar*" "name")
    '("const-gchar*" "exec")
  )
)

(define-method add_group
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_add_group")
  (return-type "none")
  (parameters
    '("const-gchar*" "uri")
    '("const-gchar*" "group")
  )
)

(define-method copy
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_copy")
  (return-type "GBookmarkFile*")
)

(define-method free
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_free")
  (return-type "none")
)

(define-method get_added
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_added")
  (return-type "time_t")
  (parameters
    '("const-gchar*" "uri")
    '("GError**" "error")
  )
)

(define-method get_added_date_time
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_added_date_time")
  (return-type "GDateTime*")
  (parameters
    '("const-char*" "uri")
    '("GError**" "error")
  )
)

(define-method get_app_info
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_app_info")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri")
    '("const-gchar*" "name")
    '("gchar**" "exec")
    '("guint*" "count")
    '("time_t*" "stamp")
    '("GError**" "error")
  )
)

(define-method get_application_info
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_application_info")
  (return-type "gboolean")
  (parameters
    '("const-char*" "uri")
    '("const-char*" "name")
    '("char**" "exec")
    '("unsigned-int*" "count")
    '("GDateTime**" "stamp")
    '("GError**" "error")
  )
)

(define-method get_applications
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_applications")
  (return-type "gchar**")
  (parameters
    '("const-gchar*" "uri")
    '("gsize*" "length")
    '("GError**" "error")
  )
)

(define-method get_description
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_description")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "uri")
    '("GError**" "error")
  )
)

(define-method get_groups
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_groups")
  (return-type "gchar**")
  (parameters
    '("const-gchar*" "uri")
    '("gsize*" "length")
    '("GError**" "error")
  )
)

(define-method get_icon
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_icon")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri")
    '("gchar**" "href")
    '("gchar**" "mime_type")
    '("GError**" "error")
  )
)

(define-method get_is_private
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_is_private")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri")
    '("GError**" "error")
  )
)

(define-method get_mime_type
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_mime_type")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "uri")
    '("GError**" "error")
  )
)

(define-method get_modified
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_modified")
  (return-type "time_t")
  (parameters
    '("const-gchar*" "uri")
    '("GError**" "error")
  )
)

(define-method get_modified_date_time
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_modified_date_time")
  (return-type "GDateTime*")
  (parameters
    '("const-char*" "uri")
    '("GError**" "error")
  )
)

(define-method get_size
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_size")
  (return-type "gint")
)

(define-method get_title
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_title")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "uri")
    '("GError**" "error")
  )
)

(define-method get_uris
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_uris")
  (return-type "gchar**")
  (parameters
    '("gsize*" "length")
  )
)

(define-method get_visited
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_visited")
  (return-type "time_t")
  (parameters
    '("const-gchar*" "uri")
    '("GError**" "error")
  )
)

(define-method get_visited_date_time
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_get_visited_date_time")
  (return-type "GDateTime*")
  (parameters
    '("const-char*" "uri")
    '("GError**" "error")
  )
)

(define-method has_application
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_has_application")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri")
    '("const-gchar*" "name")
    '("GError**" "error")
  )
)

(define-method has_group
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_has_group")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri")
    '("const-gchar*" "group")
    '("GError**" "error")
  )
)

(define-method has_item
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_has_item")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri")
  )
)

(define-method load_from_data
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_load_from_data")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "data")
    '("gsize" "length")
    '("GError**" "error")
  )
)

(define-method load_from_data_dirs
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_load_from_data_dirs")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "file")
    '("gchar**" "full_path")
    '("GError**" "error")
  )
)

(define-method load_from_file
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_load_from_file")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "filename")
    '("GError**" "error")
  )
)

(define-method move_item
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_move_item")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "old_uri")
    '("const-gchar*" "new_uri")
    '("GError**" "error")
  )
)

(define-method remove_application
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_remove_application")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri")
    '("const-gchar*" "name")
    '("GError**" "error")
  )
)

(define-method remove_group
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_remove_group")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri")
    '("const-gchar*" "group")
    '("GError**" "error")
  )
)

(define-method remove_item
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_remove_item")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri")
    '("GError**" "error")
  )
)

(define-method set_added
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_set_added")
  (return-type "none")
  (parameters
    '("const-gchar*" "uri")
    '("time_t" "added")
  )
)

(define-method set_added_date_time
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_set_added_date_time")
  (return-type "none")
  (parameters
    '("const-char*" "uri")
    '("GDateTime*" "added")
  )
)

(define-method set_app_info
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_set_app_info")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri")
    '("const-gchar*" "name")
    '("const-gchar*" "exec")
    '("gint" "count")
    '("time_t" "stamp")
    '("GError**" "error")
  )
)

(define-method set_application_info
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_set_application_info")
  (return-type "gboolean")
  (parameters
    '("const-char*" "uri")
    '("const-char*" "name")
    '("const-char*" "exec")
    '("int" "count")
    '("GDateTime*" "stamp")
    '("GError**" "error")
  )
)

(define-method set_description
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_set_description")
  (return-type "none")
  (parameters
    '("const-gchar*" "uri")
    '("const-gchar*" "description")
  )
)

(define-method set_groups
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_set_groups")
  (return-type "none")
  (parameters
    '("const-gchar*" "uri")
    '("const-gchar**" "groups")
    '("gsize" "length")
  )
)

(define-method set_icon
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_set_icon")
  (return-type "none")
  (parameters
    '("const-gchar*" "uri")
    '("const-gchar*" "href")
    '("const-gchar*" "mime_type")
  )
)

(define-method set_is_private
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_set_is_private")
  (return-type "none")
  (parameters
    '("const-gchar*" "uri")
    '("gboolean" "is_private")
  )
)

(define-method set_mime_type
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_set_mime_type")
  (return-type "none")
  (parameters
    '("const-gchar*" "uri")
    '("const-gchar*" "mime_type")
  )
)

(define-method set_modified
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_set_modified")
  (return-type "none")
  (parameters
    '("const-gchar*" "uri")
    '("time_t" "modified")
  )
)

(define-method set_modified_date_time
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_set_modified_date_time")
  (return-type "none")
  (parameters
    '("const-char*" "uri")
    '("GDateTime*" "modified")
  )
)

(define-method set_title
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_set_title")
  (return-type "none")
  (parameters
    '("const-gchar*" "uri")
    '("const-gchar*" "title")
  )
)

(define-method set_visited
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_set_visited")
  (return-type "none")
  (parameters
    '("const-gchar*" "uri")
    '("time_t" "visited")
  )
)

(define-method set_visited_date_time
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_set_visited_date_time")
  (return-type "none")
  (parameters
    '("const-char*" "uri")
    '("GDateTime*" "visited")
  )
)

(define-method to_data
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_to_data")
  (return-type "gchar*")
  (parameters
    '("gsize*" "length")
    '("GError**" "error")
  )
)

(define-method to_file
  (of-object "GBookmarkFile")
  (c-name "g_bookmark_file_to_file")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "filename")
    '("GError**" "error")
  )
)

(define-function g_bookmark_file_new
  (c-name "g_bookmark_file_new")
  (is-constructor-of "GBookmarkFile")
  (return-type "GBookmarkFile*")
)

(define-function g_byte_array_append
  (c-name "g_byte_array_append")
  (return-type "GByteArray*")
  (parameters
    '("GByteArray*" "array")
    '("const-guint8*" "data")
    '("guint" "len")
  )
)

(define-function g_byte_array_free
  (c-name "g_byte_array_free")
  (return-type "guint8*")
  (parameters
    '("GByteArray*" "array")
    '("gboolean" "free_segment")
  )
)

(define-function g_byte_array_free_to_bytes
  (c-name "g_byte_array_free_to_bytes")
  (return-type "GBytes*")
  (parameters
    '("GByteArray*" "array")
  )
)

(define-function g_byte_array_new
  (c-name "g_byte_array_new")
  (return-type "GByteArray*")
)

(define-function g_byte_array_new_take
  (c-name "g_byte_array_new_take")
  (return-type "GByteArray*")
  (parameters
    '("guint8*" "data")
    '("gsize" "len")
  )
)

(define-function g_byte_array_prepend
  (c-name "g_byte_array_prepend")
  (return-type "GByteArray*")
  (parameters
    '("GByteArray*" "array")
    '("const-guint8*" "data")
    '("guint" "len")
  )
)

(define-function g_byte_array_ref
  (c-name "g_byte_array_ref")
  (return-type "GByteArray*")
  (parameters
    '("GByteArray*" "array")
  )
)

(define-function g_byte_array_remove_index
  (c-name "g_byte_array_remove_index")
  (return-type "GByteArray*")
  (parameters
    '("GByteArray*" "array")
    '("guint" "index_")
  )
)

(define-function g_byte_array_remove_index_fast
  (c-name "g_byte_array_remove_index_fast")
  (return-type "GByteArray*")
  (parameters
    '("GByteArray*" "array")
    '("guint" "index_")
  )
)

(define-function g_byte_array_remove_range
  (c-name "g_byte_array_remove_range")
  (return-type "GByteArray*")
  (parameters
    '("GByteArray*" "array")
    '("guint" "index_")
    '("guint" "length")
  )
)

(define-function g_byte_array_set_size
  (c-name "g_byte_array_set_size")
  (return-type "GByteArray*")
  (parameters
    '("GByteArray*" "array")
    '("guint" "length")
  )
)

(define-function g_byte_array_sized_new
  (c-name "g_byte_array_sized_new")
  (return-type "GByteArray*")
  (parameters
    '("guint" "reserved_size")
  )
)

(define-function g_byte_array_sort
  (c-name "g_byte_array_sort")
  (return-type "none")
  (parameters
    '("GByteArray*" "array")
    '("GCompareFunc" "compare_func")
  )
)

(define-function g_byte_array_sort_with_data
  (c-name "g_byte_array_sort_with_data")
  (return-type "none")
  (parameters
    '("GByteArray*" "array")
    '("GCompareDataFunc" "compare_func")
    '("gpointer" "user_data")
  )
)

(define-function g_byte_array_steal
  (c-name "g_byte_array_steal")
  (return-type "guint8*")
  (parameters
    '("GByteArray*" "array")
    '("gsize*" "len")
  )
)

(define-function g_byte_array_unref
  (c-name "g_byte_array_unref")
  (return-type "none")
  (parameters
    '("GByteArray*" "array")
  )
)

(define-method compare
  (of-object "GBytes")
  (c-name "g_bytes_compare")
  (return-type "gint")
  (parameters
    '("gconstpointer" "bytes2")
  )
)

(define-method equal
  (of-object "GBytes")
  (c-name "g_bytes_equal")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "bytes2")
  )
)

(define-method get_data
  (of-object "GBytes")
  (c-name "g_bytes_get_data")
  (return-type "gconstpointer")
  (parameters
    '("gsize*" "size")
  )
)

(define-method get_region
  (of-object "GBytes")
  (c-name "g_bytes_get_region")
  (return-type "gconstpointer")
  (parameters
    '("gsize" "element_size")
    '("gsize" "offset")
    '("gsize" "n_elements")
  )
)

(define-method get_size
  (of-object "GBytes")
  (c-name "g_bytes_get_size")
  (return-type "gsize")
)

(define-method hash
  (of-object "GBytes")
  (c-name "g_bytes_hash")
  (return-type "guint")
)

(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")
)

(define-method unref_to_array
  (of-object "GBytes")
  (c-name "g_bytes_unref_to_array")
  (return-type "GByteArray*")
)

(define-method unref_to_data
  (of-object "GBytes")
  (c-name "g_bytes_unref_to_data")
  (return-type "gpointer")
  (parameters
    '("gsize*" "size")
  )
)

(define-function g_bytes_new
  (c-name "g_bytes_new")
  (is-constructor-of "GBytes")
  (return-type "GBytes*")
  (parameters
    '("gconstpointer" "data")
    '("gsize" "size")
  )
)

(define-function g_bytes_new_from_bytes
  (c-name "g_bytes_new_from_bytes")
  (is-constructor-of "GBytes")
  (return-type "GBytes*")
  (parameters
    '("GBytes*" "bytes")
    '("gsize" "offset")
    '("gsize" "length")
  )
)

(define-function g_bytes_new_static
  (c-name "g_bytes_new_static")
  (is-constructor-of "GBytes")
  (return-type "GBytes*")
  (parameters
    '("gconstpointer" "data")
    '("gsize" "size")
  )
)

(define-function g_bytes_new_take
  (c-name "g_bytes_new_take")
  (is-constructor-of "GBytes")
  (return-type "GBytes*")
  (parameters
    '("gpointer" "data")
    '("gsize" "size")
  )
)

(define-function g_bytes_new_with_free_func
  (c-name "g_bytes_new_with_free_func")
  (is-constructor-of "GBytes")
  (return-type "GBytes*")
  (parameters
    '("gconstpointer" "data")
    '("gsize" "size")
    '("GDestroyNotify" "free_func")
    '("gpointer" "user_data")
  )
)

(define-function g_cache_new
  (c-name "g_cache_new")
  (return-type "GCache*")
  (parameters
    '("GCacheNewFunc" "value_new_func")
    '("GCacheDestroyFunc" "value_destroy_func")
    '("GCacheDupFunc" "key_dup_func")
    '("GCacheDestroyFunc" "key_destroy_func")
    '("GHashFunc" "hash_key_func")
    '("GHashFunc" "hash_value_func")
    '("GEqualFunc" "key_equal_func")
  )
)

(define-method destroy
  (of-object "GCache")
  (c-name "g_cache_destroy")
  (return-type "none")
)

(define-method insert
  (of-object "GCache")
  (c-name "g_cache_insert")
  (return-type "gpointer")
  (parameters
    '("gpointer" "key")
  )
)

(define-method key_foreach
  (of-object "GCache")
  (c-name "g_cache_key_foreach")
  (return-type "none")
  (parameters
    '("GHFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-method remove
  (of-object "GCache")
  (c-name "g_cache_remove")
  (return-type "none")
  (parameters
    '("gconstpointer" "value")
  )
)

(define-method value_foreach
  (of-object "GCache")
  (c-name "g_cache_value_foreach")
  (return-type "none")
  (parameters
    '("GHFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_checksum_type_get_length
  (c-name "g_checksum_type_get_length")
  (return-type "gssize")
  (parameters
    '("GChecksumType" "checksum_type")
  )
)

(define-method copy
  (of-object "GChecksum")
  (c-name "g_checksum_copy")
  (return-type "GChecksum*")
)

(define-method free
  (of-object "GChecksum")
  (c-name "g_checksum_free")
  (return-type "none")
)

(define-method get_digest
  (of-object "GChecksum")
  (c-name "g_checksum_get_digest")
  (return-type "none")
  (parameters
    '("guint8*" "buffer")
    '("gsize*" "digest_len")
  )
)

(define-method get_string
  (of-object "GChecksum")
  (c-name "g_checksum_get_string")
  (return-type "const-gchar*")
)

(define-method reset
  (of-object "GChecksum")
  (c-name "g_checksum_reset")
  (return-type "none")
)

(define-method update
  (of-object "GChecksum")
  (c-name "g_checksum_update")
  (return-type "none")
  (parameters
    '("const-guchar*" "data")
    '("gssize" "length")
  )
)

(define-function g_checksum_new
  (c-name "g_checksum_new")
  (is-constructor-of "GChecksum")
  (return-type "GChecksum*")
  (parameters
    '("GChecksumType" "checksum_type")
  )
)

(define-function g_completion_new
  (c-name "g_completion_new")
  (return-type "GCompletion*")
  (parameters
    '("GCompletionFunc" "func")
  )
)

(define-method add_items
  (of-object "GCompletion")
  (c-name "g_completion_add_items")
  (return-type "none")
  (parameters
    '("GList*" "items")
  )
)

(define-method clear_items
  (of-object "GCompletion")
  (c-name "g_completion_clear_items")
  (return-type "none")
)

(define-method complete
  (of-object "GCompletion")
  (c-name "g_completion_complete")
  (return-type "GList*")
  (parameters
    '("const-gchar*" "prefix")
    '("gchar**" "new_prefix")
  )
)

(define-method complete_utf8
  (of-object "GCompletion")
  (c-name "g_completion_complete_utf8")
  (return-type "GList*")
  (parameters
    '("const-gchar*" "prefix")
    '("gchar**" "new_prefix")
  )
)

(define-method free
  (of-object "GCompletion")
  (c-name "g_completion_free")
  (return-type "none")
)

(define-method remove_items
  (of-object "GCompletion")
  (c-name "g_completion_remove_items")
  (return-type "none")
  (parameters
    '("GList*" "items")
  )
)

(define-method set_compare
  (of-object "GCompletion")
  (c-name "g_completion_set_compare")
  (return-type "none")
  (parameters
    '("GCompletionStrncmpFunc" "strncmp_func")
  )
)

(define-function g_cond_new
  (c-name "g_cond_new")
  (return-type "GCond*")
)

(define-method broadcast
  (of-object "GCond")
  (c-name "g_cond_broadcast")
  (return-type "none")
)

(define-method clear
  (of-object "GCond")
  (c-name "g_cond_clear")
  (return-type "none")
)

(define-method free
  (of-object "GCond")
  (c-name "g_cond_free")
  (return-type "none")
)

(define-method init
  (of-object "GCond")
  (c-name "g_cond_init")
  (return-type "none")
)

(define-method signal
  (of-object "GCond")
  (c-name "g_cond_signal")
  (return-type "none")
)

(define-method timed_wait
  (of-object "GCond")
  (c-name "g_cond_timed_wait")
  (return-type "gboolean")
  (parameters
    '("GMutex*" "mutex")
    '("GTimeVal*" "abs_time")
  )
)

(define-method wait
  (of-object "GCond")
  (c-name "g_cond_wait")
  (return-type "none")
  (parameters
    '("GMutex*" "mutex")
  )
)

(define-method wait_until
  (of-object "GCond")
  (c-name "g_cond_wait_until")
  (return-type "gboolean")
  (parameters
    '("GMutex*" "mutex")
    '("gint64" "end_time")
  )
)

(define-function g_date_get_days_in_month
  (c-name "g_date_get_days_in_month")
  (return-type "guint8")
  (parameters
    '("GDateMonth" "month")
    '("GDateYear" "year")
  )
)

(define-function g_date_get_monday_weeks_in_year
  (c-name "g_date_get_monday_weeks_in_year")
  (return-type "guint8")
  (parameters
    '("GDateYear" "year")
  )
)

(define-function g_date_get_sunday_weeks_in_year
  (c-name "g_date_get_sunday_weeks_in_year")
  (return-type "guint8")
  (parameters
    '("GDateYear" "year")
  )
)

(define-function g_date_get_weeks_in_year
  (c-name "g_date_get_weeks_in_year")
  (return-type "guint8")
  (parameters
    '("GDateYear" "year")
    '("GDateWeekday" "first_day_of_week")
  )
)

(define-function g_date_is_leap_year
  (c-name "g_date_is_leap_year")
  (return-type "gboolean")
  (parameters
    '("GDateYear" "year")
  )
)

(define-function g_date_strftime
  (c-name "g_date_strftime")
  (return-type "gsize")
  (parameters
    '("gchar*" "s")
    '("gsize" "slen")
    '("const-gchar*" "format")
    '("const-GDate*" "date")
  )
)

(define-function g_date_valid_day
  (c-name "g_date_valid_day")
  (return-type "gboolean")
  (parameters
    '("GDateDay" "day")
  )
)

(define-function g_date_valid_dmy
  (c-name "g_date_valid_dmy")
  (return-type "gboolean")
  (parameters
    '("GDateDay" "day")
    '("GDateMonth" "month")
    '("GDateYear" "year")
  )
)

(define-function g_date_valid_julian
  (c-name "g_date_valid_julian")
  (return-type "gboolean")
  (parameters
    '("guint32" "julian_date")
  )
)

(define-function g_date_valid_month
  (c-name "g_date_valid_month")
  (return-type "gboolean")
  (parameters
    '("GDateMonth" "month")
  )
)

(define-function g_date_valid_weekday
  (c-name "g_date_valid_weekday")
  (return-type "gboolean")
  (parameters
    '("GDateWeekday" "weekday")
  )
)

(define-function g_date_valid_year
  (c-name "g_date_valid_year")
  (return-type "gboolean")
  (parameters
    '("GDateYear" "year")
  )
)

(define-method add_days
  (of-object "GDate")
  (c-name "g_date_add_days")
  (return-type "none")
  (parameters
    '("guint" "n_days")
  )
)

(define-method add_months
  (of-object "GDate")
  (c-name "g_date_add_months")
  (return-type "none")
  (parameters
    '("guint" "n_months")
  )
)

(define-method add_years
  (of-object "GDate")
  (c-name "g_date_add_years")
  (return-type "none")
  (parameters
    '("guint" "n_years")
  )
)

(define-method clamp
  (of-object "GDate")
  (c-name "g_date_clamp")
  (return-type "none")
  (parameters
    '("const-GDate*" "min_date")
    '("const-GDate*" "max_date")
  )
)

(define-method clear
  (of-object "GDate")
  (c-name "g_date_clear")
  (return-type "none")
  (parameters
    '("guint" "n_dates")
  )
)

(define-method compare
  (of-object "GDate")
  (c-name "g_date_compare")
  (return-type "gint")
  (parameters
    '("const-GDate*" "rhs")
  )
)

(define-method copy
  (of-object "GDate")
  (c-name "g_date_copy")
  (return-type "GDate*")
)

(define-method days_between
  (of-object "GDate")
  (c-name "g_date_days_between")
  (return-type "gint")
  (parameters
    '("const-GDate*" "date2")
  )
)

(define-method free
  (of-object "GDate")
  (c-name "g_date_free")
  (return-type "none")
)

(define-method get_day
  (of-object "GDate")
  (c-name "g_date_get_day")
  (return-type "GDateDay")
)

(define-method get_day_of_year
  (of-object "GDate")
  (c-name "g_date_get_day_of_year")
  (return-type "guint")
)

(define-method get_iso8601_week_of_year
  (of-object "GDate")
  (c-name "g_date_get_iso8601_week_of_year")
  (return-type "guint")
)

(define-method get_julian
  (of-object "GDate")
  (c-name "g_date_get_julian")
  (return-type "guint32")
)

(define-method get_monday_week_of_year
  (of-object "GDate")
  (c-name "g_date_get_monday_week_of_year")
  (return-type "guint")
)

(define-method get_month
  (of-object "GDate")
  (c-name "g_date_get_month")
  (return-type "GDateMonth")
)

(define-method get_sunday_week_of_year
  (of-object "GDate")
  (c-name "g_date_get_sunday_week_of_year")
  (return-type "guint")
)

(define-method get_week_of_year
  (of-object "GDate")
  (c-name "g_date_get_week_of_year")
  (return-type "guint")
  (parameters
    '("GDateWeekday" "first_day_of_week")
  )
)

(define-method get_weekday
  (of-object "GDate")
  (c-name "g_date_get_weekday")
  (return-type "GDateWeekday")
)

(define-method get_year
  (of-object "GDate")
  (c-name "g_date_get_year")
  (return-type "GDateYear")
)

(define-method is_first_of_month
  (of-object "GDate")
  (c-name "g_date_is_first_of_month")
  (return-type "gboolean")
)

(define-method is_last_of_month
  (of-object "GDate")
  (c-name "g_date_is_last_of_month")
  (return-type "gboolean")
)

(define-method order
  (of-object "GDate")
  (c-name "g_date_order")
  (return-type "none")
  (parameters
    '("GDate*" "date2")
  )
)

(define-method set_day
  (of-object "GDate")
  (c-name "g_date_set_day")
  (return-type "none")
  (parameters
    '("GDateDay" "day")
  )
)

(define-method set_dmy
  (of-object "GDate")
  (c-name "g_date_set_dmy")
  (return-type "none")
  (parameters
    '("GDateDay" "day")
    '("GDateMonth" "month")
    '("GDateYear" "y")
  )
)

(define-method set_julian
  (of-object "GDate")
  (c-name "g_date_set_julian")
  (return-type "none")
  (parameters
    '("guint32" "julian_date")
  )
)

(define-method set_month
  (of-object "GDate")
  (c-name "g_date_set_month")
  (return-type "none")
  (parameters
    '("GDateMonth" "month")
  )
)

(define-method set_parse
  (of-object "GDate")
  (c-name "g_date_set_parse")
  (return-type "none")
  (parameters
    '("const-gchar*" "str")
  )
)

(define-method set_time
  (of-object "GDate")
  (c-name "g_date_set_time")
  (return-type "none")
  (parameters
    '("GTime" "time_")
  )
)

(define-method set_time_t
  (of-object "GDate")
  (c-name "g_date_set_time_t")
  (return-type "none")
  (parameters
    '("time_t" "timet")
  )
)

(define-method set_time_val
  (of-object "GDate")
  (c-name "g_date_set_time_val")
  (return-type "none")
  (parameters
    '("GTimeVal*" "timeval")
  )
)

(define-method set_year
  (of-object "GDate")
  (c-name "g_date_set_year")
  (return-type "none")
  (parameters
    '("GDateYear" "year")
  )
)

(define-method subtract_days
  (of-object "GDate")
  (c-name "g_date_subtract_days")
  (return-type "none")
  (parameters
    '("guint" "n_days")
  )
)

(define-method subtract_months
  (of-object "GDate")
  (c-name "g_date_subtract_months")
  (return-type "none")
  (parameters
    '("guint" "n_months")
  )
)

(define-method subtract_years
  (of-object "GDate")
  (c-name "g_date_subtract_years")
  (return-type "none")
  (parameters
    '("guint" "n_years")
  )
)

(define-method to_struct_tm
  (of-object "GDate")
  (c-name "g_date_to_struct_tm")
  (return-type "none")
  (parameters
    '("tm*" "tm")
  )
)

(define-method valid
  (of-object "GDate")
  (c-name "g_date_valid")
  (return-type "gboolean")
)

(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")
  (is-constructor-of "GDate")
  (return-type "GDate*")
  (parameters
    '("GDateDay" "day")
    '("GDateMonth" "month")
    '("GDateYear" "year")
  )
)

(define-function g_date_new_julian
  (c-name "g_date_new_julian")
  (is-constructor-of "GDate")
  (return-type "GDate*")
  (parameters
    '("guint32" "julian_day")
  )
)

(define-method add
  (of-object "GDateTime")
  (c-name "g_date_time_add")
  (return-type "GDateTime*")
  (parameters
    '("GTimeSpan" "timespan")
  )
)

(define-method add_days
  (of-object "GDateTime")
  (c-name "g_date_time_add_days")
  (return-type "GDateTime*")
  (parameters
    '("gint" "days")
  )
)

(define-method add_full
  (of-object "GDateTime")
  (c-name "g_date_time_add_full")
  (return-type "GDateTime*")
  (parameters
    '("gint" "years")
    '("gint" "months")
    '("gint" "days")
    '("gint" "hours")
    '("gint" "minutes")
    '("gdouble" "seconds")
  )
)

(define-method add_hours
  (of-object "GDateTime")
  (c-name "g_date_time_add_hours")
  (return-type "GDateTime*")
  (parameters
    '("gint" "hours")
  )
)

(define-method add_minutes
  (of-object "GDateTime")
  (c-name "g_date_time_add_minutes")
  (return-type "GDateTime*")
  (parameters
    '("gint" "minutes")
  )
)

(define-method add_months
  (of-object "GDateTime")
  (c-name "g_date_time_add_months")
  (return-type "GDateTime*")
  (parameters
    '("gint" "months")
  )
)

(define-method add_seconds
  (of-object "GDateTime")
  (c-name "g_date_time_add_seconds")
  (return-type "GDateTime*")
  (parameters
    '("gdouble" "seconds")
  )
)

(define-method add_weeks
  (of-object "GDateTime")
  (c-name "g_date_time_add_weeks")
  (return-type "GDateTime*")
  (parameters
    '("gint" "weeks")
  )
)

(define-method add_years
  (of-object "GDateTime")
  (c-name "g_date_time_add_years")
  (return-type "GDateTime*")
  (parameters
    '("gint" "years")
  )
)

(define-method compare
  (of-object "GDateTime")
  (c-name "g_date_time_compare")
  (return-type "gint")
  (parameters
    '("gconstpointer" "dt2")
  )
)

(define-method difference
  (of-object "GDateTime")
  (c-name "g_date_time_difference")
  (return-type "GTimeSpan")
  (parameters
    '("GDateTime*" "begin")
  )
)

(define-method equal
  (of-object "GDateTime")
  (c-name "g_date_time_equal")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "dt2")
  )
)

(define-method format
  (of-object "GDateTime")
  (c-name "g_date_time_format")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "format")
  )
)

(define-method format_iso8601
  (of-object "GDateTime")
  (c-name "g_date_time_format_iso8601")
  (return-type "gchar*")
)

(define-method get_day_of_month
  (of-object "GDateTime")
  (c-name "g_date_time_get_day_of_month")
  (return-type "gint")
)

(define-method get_day_of_week
  (of-object "GDateTime")
  (c-name "g_date_time_get_day_of_week")
  (return-type "gint")
)

(define-method get_day_of_year
  (of-object "GDateTime")
  (c-name "g_date_time_get_day_of_year")
  (return-type "gint")
)

(define-method get_hour
  (of-object "GDateTime")
  (c-name "g_date_time_get_hour")
  (return-type "gint")
)

(define-method get_microsecond
  (of-object "GDateTime")
  (c-name "g_date_time_get_microsecond")
  (return-type "gint")
)

(define-method get_minute
  (of-object "GDateTime")
  (c-name "g_date_time_get_minute")
  (return-type "gint")
)

(define-method get_month
  (of-object "GDateTime")
  (c-name "g_date_time_get_month")
  (return-type "gint")
)

(define-method get_second
  (of-object "GDateTime")
  (c-name "g_date_time_get_second")
  (return-type "gint")
)

(define-method get_seconds
  (of-object "GDateTime")
  (c-name "g_date_time_get_seconds")
  (return-type "gdouble")
)

(define-method get_timezone
  (of-object "GDateTime")
  (c-name "g_date_time_get_timezone")
  (return-type "GTimeZone*")
)

(define-method get_timezone_abbreviation
  (of-object "GDateTime")
  (c-name "g_date_time_get_timezone_abbreviation")
  (return-type "const-gchar*")
)

(define-method get_utc_offset
  (of-object "GDateTime")
  (c-name "g_date_time_get_utc_offset")
  (return-type "GTimeSpan")
)

(define-method get_week_numbering_year
  (of-object "GDateTime")
  (c-name "g_date_time_get_week_numbering_year")
  (return-type "gint")
)

(define-method get_week_of_year
  (of-object "GDateTime")
  (c-name "g_date_time_get_week_of_year")
  (return-type "gint")
)

(define-method get_year
  (of-object "GDateTime")
  (c-name "g_date_time_get_year")
  (return-type "gint")
)

(define-method get_ymd
  (of-object "GDateTime")
  (c-name "g_date_time_get_ymd")
  (return-type "none")
  (parameters
    '("gint*" "year")
    '("gint*" "month")
    '("gint*" "day")
  )
)

(define-method hash
  (of-object "GDateTime")
  (c-name "g_date_time_hash")
  (return-type "guint")
)

(define-method is_daylight_savings
  (of-object "GDateTime")
  (c-name "g_date_time_is_daylight_savings")
  (return-type "gboolean")
)

(define-method ref
  (of-object "GDateTime")
  (c-name "g_date_time_ref")
  (return-type "GDateTime*")
)

(define-method to_local
  (of-object "GDateTime")
  (c-name "g_date_time_to_local")
  (return-type "GDateTime*")
)

(define-method to_timeval
  (of-object "GDateTime")
  (c-name "g_date_time_to_timeval")
  (return-type "gboolean")
  (parameters
    '("GTimeVal*" "tv")
  )
)

(define-method to_timezone
  (of-object "GDateTime")
  (c-name "g_date_time_to_timezone")
  (return-type "GDateTime*")
  (parameters
    '("GTimeZone*" "tz")
  )
)

(define-method to_unix
  (of-object "GDateTime")
  (c-name "g_date_time_to_unix")
  (return-type "gint64")
)

(define-method to_unix_usec
  (of-object "GDateTime")
  (c-name "g_date_time_to_unix_usec")
  (return-type "gint64")
)

(define-method to_utc
  (of-object "GDateTime")
  (c-name "g_date_time_to_utc")
  (return-type "GDateTime*")
)

(define-method unref
  (of-object "GDateTime")
  (c-name "g_date_time_unref")
  (return-type "none")
)

(define-function g_date_time_new
  (c-name "g_date_time_new")
  (is-constructor-of "GDateTime")
  (return-type "GDateTime*")
  (parameters
    '("GTimeZone*" "tz")
    '("gint" "year")
    '("gint" "month")
    '("gint" "day")
    '("gint" "hour")
    '("gint" "minute")
    '("gdouble" "seconds")
  )
)

(define-function g_date_time_new_from_iso8601
  (c-name "g_date_time_new_from_iso8601")
  (is-constructor-of "GDateTime")
  (return-type "GDateTime*")
  (parameters
    '("const-gchar*" "text")
    '("GTimeZone*" "default_tz")
  )
)

(define-function g_date_time_new_from_timeval_local
  (c-name "g_date_time_new_from_timeval_local")
  (is-constructor-of "GDateTime")
  (return-type "GDateTime*")
  (parameters
    '("const-GTimeVal*" "tv")
  )
)

(define-function g_date_time_new_from_timeval_utc
  (c-name "g_date_time_new_from_timeval_utc")
  (is-constructor-of "GDateTime")
  (return-type "GDateTime*")
  (parameters
    '("const-GTimeVal*" "tv")
  )
)

(define-function g_date_time_new_from_unix_local
  (c-name "g_date_time_new_from_unix_local")
  (is-constructor-of "GDateTime")
  (return-type "GDateTime*")
  (parameters
    '("gint64" "t")
  )
)

(define-function g_date_time_new_from_unix_local_usec
  (c-name "g_date_time_new_from_unix_local_usec")
  (is-constructor-of "GDateTime")
  (return-type "GDateTime*")
  (parameters
    '("gint64" "usecs")
  )
)

(define-function g_date_time_new_from_unix_utc
  (c-name "g_date_time_new_from_unix_utc")
  (is-constructor-of "GDateTime")
  (return-type "GDateTime*")
  (parameters
    '("gint64" "t")
  )
)

(define-function g_date_time_new_from_unix_utc_usec
  (c-name "g_date_time_new_from_unix_utc_usec")
  (is-constructor-of "GDateTime")
  (return-type "GDateTime*")
  (parameters
    '("gint64" "usecs")
  )
)

(define-function g_date_time_new_local
  (c-name "g_date_time_new_local")
  (is-constructor-of "GDateTime")
  (return-type "GDateTime*")
  (parameters
    '("gint" "year")
    '("gint" "month")
    '("gint" "day")
    '("gint" "hour")
    '("gint" "minute")
    '("gdouble" "seconds")
  )
)

(define-function g_date_time_new_now
  (c-name "g_date_time_new_now")
  (is-constructor-of "GDateTime")
  (return-type "GDateTime*")
  (parameters
    '("GTimeZone*" "tz")
  )
)

(define-function g_date_time_new_now_local
  (c-name "g_date_time_new_now_local")
  (is-constructor-of "GDateTime")
  (return-type "GDateTime*")
)

(define-function g_date_time_new_now_utc
  (c-name "g_date_time_new_now_utc")
  (is-constructor-of "GDateTime")
  (return-type "GDateTime*")
)

(define-function g_date_time_new_utc
  (c-name "g_date_time_new_utc")
  (is-constructor-of "GDateTime")
  (return-type "GDateTime*")
  (parameters
    '("gint" "year")
    '("gint" "month")
    '("gint" "day")
    '("gint" "hour")
    '("gint" "minute")
    '("gdouble" "seconds")
  )
)

(define-function g_dir_make_tmp
  (c-name "g_dir_make_tmp")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "tmpl")
    '("GError**" "error")
  )
)

(define-method close
  (of-object "GDir")
  (c-name "g_dir_close")
  (return-type "none")
)

(define-method read_name
  (of-object "GDir")
  (c-name "g_dir_read_name")
  (return-type "const-gchar*")
)

(define-method ref
  (of-object "GDir")
  (c-name "g_dir_ref")
  (return-type "GDir*")
)

(define-method rewind
  (of-object "GDir")
  (c-name "g_dir_rewind")
  (return-type "none")
)

(define-method unref
  (of-object "GDir")
  (c-name "g_dir_unref")
  (return-type "none")
)

(define-function g_dir_open
  (c-name "g_dir_open")
  (is-constructor-of "GDir")
  (return-type "GDir*")
  (parameters
    '("const-gchar*" "path")
    '("guint" "flags")
    '("GError**" "error")
  )
)

(define-function g_error_domain_register
  (c-name "g_error_domain_register")
  (return-type "GQuark")
  (parameters
    '("const-char*" "error_type_name")
    '("gsize" "error_type_private_size")
    '("GErrorInitFunc" "error_type_init")
    '("GErrorCopyFunc" "error_type_copy")
    '("GErrorClearFunc" "error_type_clear")
  )
)

(define-function g_error_domain_register_static
  (c-name "g_error_domain_register_static")
  (return-type "GQuark")
  (parameters
    '("const-char*" "error_type_name")
    '("gsize" "error_type_private_size")
    '("GErrorInitFunc" "error_type_init")
    '("GErrorCopyFunc" "error_type_copy")
    '("GErrorClearFunc" "error_type_clear")
  )
)

(define-method copy
  (of-object "GError")
  (c-name "g_error_copy")
  (return-type "GError*")
)

(define-method free
  (of-object "GError")
  (c-name "g_error_free")
  (return-type "none")
)

(define-method matches
  (of-object "GError")
  (c-name "g_error_matches")
  (return-type "gboolean")
  (parameters
    '("GQuark" "domain")
    '("gint" "code")
  )
)

(define-function g_error_new
  (c-name "g_error_new")
  (is-constructor-of "GError")
  (return-type "GError*")
  (parameters
    '("GQuark" "domain")
    '("gint" "code")
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(define-function g_error_new_literal
  (c-name "g_error_new_literal")
  (is-constructor-of "GError")
  (return-type "GError*")
  (parameters
    '("GQuark" "domain")
    '("gint" "code")
    '("const-gchar*" "message")
  )
)

(define-function g_error_new_valist
  (c-name "g_error_new_valist")
  (is-constructor-of "GError")
  (return-type "GError*")
  (parameters
    '("GQuark" "domain")
    '("gint" "code")
    '("const-gchar*" "format")
    '("va_list" "args")
  )
)

(define-function g_hash_table_add
  (c-name "g_hash_table_add")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gpointer" "key")
  )
)

(define-function g_hash_table_contains
  (c-name "g_hash_table_contains")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gconstpointer" "key")
  )
)

(define-function g_hash_table_destroy
  (c-name "g_hash_table_destroy")
  (return-type "none")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_find
  (c-name "g_hash_table_find")
  (return-type "gpointer")
  (parameters
    '("GHashTable*" "hash_table")
    '("GHRFunc" "predicate")
    '("gpointer" "user_data")
  )
)

(define-function g_hash_table_foreach
  (c-name "g_hash_table_foreach")
  (return-type "none")
  (parameters
    '("GHashTable*" "hash_table")
    '("GHFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_hash_table_foreach_remove
  (c-name "g_hash_table_foreach_remove")
  (return-type "guint")
  (parameters
    '("GHashTable*" "hash_table")
    '("GHRFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_hash_table_foreach_steal
  (c-name "g_hash_table_foreach_steal")
  (return-type "guint")
  (parameters
    '("GHashTable*" "hash_table")
    '("GHRFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_hash_table_get_keys
  (c-name "g_hash_table_get_keys")
  (return-type "GList*")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_get_keys_as_array
  (c-name "g_hash_table_get_keys_as_array")
  (return-type "gpointer*")
  (parameters
    '("GHashTable*" "hash_table")
    '("guint*" "length")
  )
)

(define-function g_hash_table_get_keys_as_ptr_array
  (c-name "g_hash_table_get_keys_as_ptr_array")
  (return-type "GPtrArray*")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_get_values
  (c-name "g_hash_table_get_values")
  (return-type "GList*")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_get_values_as_ptr_array
  (c-name "g_hash_table_get_values_as_ptr_array")
  (return-type "GPtrArray*")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_insert
  (c-name "g_hash_table_insert")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gpointer" "key")
    '("gpointer" "value")
  )
)

(define-function g_hash_table_lookup
  (c-name "g_hash_table_lookup")
  (return-type "gpointer")
  (parameters
    '("GHashTable*" "hash_table")
    '("gconstpointer" "key")
  )
)

(define-function g_hash_table_lookup_extended
  (c-name "g_hash_table_lookup_extended")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gconstpointer" "lookup_key")
    '("gpointer*" "orig_key")
    '("gpointer*" "value")
  )
)

(define-function g_hash_table_new
  (c-name "g_hash_table_new")
  (return-type "GHashTable*")
  (parameters
    '("GHashFunc" "hash_func")
    '("GEqualFunc" "key_equal_func")
  )
)

(define-function g_hash_table_new_full
  (c-name "g_hash_table_new_full")
  (return-type "GHashTable*")
  (parameters
    '("GHashFunc" "hash_func")
    '("GEqualFunc" "key_equal_func")
    '("GDestroyNotify" "key_destroy_func")
    '("GDestroyNotify" "value_destroy_func")
  )
)

(define-function g_hash_table_new_similar
  (c-name "g_hash_table_new_similar")
  (return-type "GHashTable*")
  (parameters
    '("GHashTable*" "other_hash_table")
  )
)

(define-function g_hash_table_ref
  (c-name "g_hash_table_ref")
  (return-type "GHashTable*")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_remove
  (c-name "g_hash_table_remove")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gconstpointer" "key")
  )
)

(define-function g_hash_table_remove_all
  (c-name "g_hash_table_remove_all")
  (return-type "none")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_replace
  (c-name "g_hash_table_replace")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gpointer" "key")
    '("gpointer" "value")
  )
)

(define-function g_hash_table_size
  (c-name "g_hash_table_size")
  (return-type "guint")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_steal
  (c-name "g_hash_table_steal")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gconstpointer" "key")
  )
)

(define-function g_hash_table_steal_all
  (c-name "g_hash_table_steal_all")
  (return-type "none")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_steal_all_keys
  (c-name "g_hash_table_steal_all_keys")
  (return-type "GPtrArray*")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_steal_all_values
  (c-name "g_hash_table_steal_all_values")
  (return-type "GPtrArray*")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-function g_hash_table_steal_extended
  (c-name "g_hash_table_steal_extended")
  (return-type "gboolean")
  (parameters
    '("GHashTable*" "hash_table")
    '("gconstpointer" "lookup_key")
    '("gpointer*" "stolen_key")
    '("gpointer*" "stolen_value")
  )
)

(define-function g_hash_table_unref
  (c-name "g_hash_table_unref")
  (return-type "none")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-method get_hash_table
  (of-object "GHashTableIter")
  (c-name "g_hash_table_iter_get_hash_table")
  (return-type "GHashTable*")
)

(define-method init
  (of-object "GHashTableIter")
  (c-name "g_hash_table_iter_init")
  (return-type "none")
  (parameters
    '("GHashTable*" "hash_table")
  )
)

(define-method next
  (of-object "GHashTableIter")
  (c-name "g_hash_table_iter_next")
  (return-type "gboolean")
  (parameters
    '("gpointer*" "key")
    '("gpointer*" "value")
  )
)

(define-method remove
  (of-object "GHashTableIter")
  (c-name "g_hash_table_iter_remove")
  (return-type "none")
)

(define-method replace
  (of-object "GHashTableIter")
  (c-name "g_hash_table_iter_replace")
  (return-type "none")
  (parameters
    '("gpointer" "value")
  )
)

(define-method steal
  (of-object "GHashTableIter")
  (c-name "g_hash_table_iter_steal")
  (return-type "none")
)

(define-method copy
  (of-object "GHmac")
  (c-name "g_hmac_copy")
  (return-type "GHmac*")
)

(define-method get_digest
  (of-object "GHmac")
  (c-name "g_hmac_get_digest")
  (return-type "none")
  (parameters
    '("guint8*" "buffer")
    '("gsize*" "digest_len")
  )
)

(define-method get_string
  (of-object "GHmac")
  (c-name "g_hmac_get_string")
  (return-type "const-gchar*")
)

(define-method ref
  (of-object "GHmac")
  (c-name "g_hmac_ref")
  (return-type "GHmac*")
)

(define-method unref
  (of-object "GHmac")
  (c-name "g_hmac_unref")
  (return-type "none")
)

(define-method update
  (of-object "GHmac")
  (c-name "g_hmac_update")
  (return-type "none")
  (parameters
    '("const-guchar*" "data")
    '("gssize" "length")
  )
)

(define-function g_hmac_new
  (c-name "g_hmac_new")
  (is-constructor-of "GHmac")
  (return-type "GHmac*")
  (parameters
    '("GChecksumType" "digest_type")
    '("const-guchar*" "key")
    '("gsize" "key_len")
  )
)

(define-function g_hook_alloc
  (c-name "g_hook_alloc")
  (return-type "GHook*")
  (parameters
    '("GHookList*" "hook_list")
  )
)

(define-function g_hook_destroy
  (c-name "g_hook_destroy")
  (return-type "gboolean")
  (parameters
    '("GHookList*" "hook_list")
    '("gulong" "hook_id")
  )
)

(define-function g_hook_destroy_link
  (c-name "g_hook_destroy_link")
  (return-type "none")
  (parameters
    '("GHookList*" "hook_list")
    '("GHook*" "hook")
  )
)

(define-function g_hook_find
  (c-name "g_hook_find")
  (return-type "GHook*")
  (parameters
    '("GHookList*" "hook_list")
    '("gboolean" "need_valids")
    '("GHookFindFunc" "func")
    '("gpointer" "data")
  )
)

(define-function g_hook_find_data
  (c-name "g_hook_find_data")
  (return-type "GHook*")
  (parameters
    '("GHookList*" "hook_list")
    '("gboolean" "need_valids")
    '("gpointer" "data")
  )
)

(define-function g_hook_find_func
  (c-name "g_hook_find_func")
  (return-type "GHook*")
  (parameters
    '("GHookList*" "hook_list")
    '("gboolean" "need_valids")
    '("gpointer" "func")
  )
)

(define-function g_hook_find_func_data
  (c-name "g_hook_find_func_data")
  (return-type "GHook*")
  (parameters
    '("GHookList*" "hook_list")
    '("gboolean" "need_valids")
    '("gpointer" "func")
    '("gpointer" "data")
  )
)

(define-function g_hook_first_valid
  (c-name "g_hook_first_valid")
  (return-type "GHook*")
  (parameters
    '("GHookList*" "hook_list")
    '("gboolean" "may_be_in_call")
  )
)

(define-function g_hook_free
  (c-name "g_hook_free")
  (return-type "none")
  (parameters
    '("GHookList*" "hook_list")
    '("GHook*" "hook")
  )
)

(define-function g_hook_get
  (c-name "g_hook_get")
  (return-type "GHook*")
  (parameters
    '("GHookList*" "hook_list")
    '("gulong" "hook_id")
  )
)

(define-function g_hook_insert_before
  (c-name "g_hook_insert_before")
  (return-type "none")
  (parameters
    '("GHookList*" "hook_list")
    '("GHook*" "sibling")
    '("GHook*" "hook")
  )
)

(define-function g_hook_insert_sorted
  (c-name "g_hook_insert_sorted")
  (return-type "none")
  (parameters
    '("GHookList*" "hook_list")
    '("GHook*" "hook")
    '("GHookCompareFunc" "func")
  )
)

(define-function g_hook_next_valid
  (c-name "g_hook_next_valid")
  (return-type "GHook*")
  (parameters
    '("GHookList*" "hook_list")
    '("GHook*" "hook")
    '("gboolean" "may_be_in_call")
  )
)

(define-function g_hook_prepend
  (c-name "g_hook_prepend")
  (return-type "none")
  (parameters
    '("GHookList*" "hook_list")
    '("GHook*" "hook")
  )
)

(define-function g_hook_ref
  (c-name "g_hook_ref")
  (return-type "GHook*")
  (parameters
    '("GHookList*" "hook_list")
    '("GHook*" "hook")
  )
)

(define-function g_hook_unref
  (c-name "g_hook_unref")
  (return-type "none")
  (parameters
    '("GHookList*" "hook_list")
    '("GHook*" "hook")
  )
)

(define-method compare_ids
  (of-object "GHook")
  (c-name "g_hook_compare_ids")
  (return-type "gint")
  (parameters
    '("GHook*" "sibling")
  )
)

(define-method clear
  (of-object "GHookList")
  (c-name "g_hook_list_clear")
  (return-type "none")
)

(define-method init
  (of-object "GHookList")
  (c-name "g_hook_list_init")
  (return-type "none")
  (parameters
    '("guint" "hook_size")
  )
)

(define-method invoke
  (of-object "GHookList")
  (c-name "g_hook_list_invoke")
  (return-type "none")
  (parameters
    '("gboolean" "may_recurse")
  )
)

(define-method invoke_check
  (of-object "GHookList")
  (c-name "g_hook_list_invoke_check")
  (return-type "none")
  (parameters
    '("gboolean" "may_recurse")
  )
)

(define-method marshal
  (of-object "GHookList")
  (c-name "g_hook_list_marshal")
  (return-type "none")
  (parameters
    '("gboolean" "may_recurse")
    '("GHookMarshaller" "marshaller")
    '("gpointer" "marshal_data")
  )
)

(define-method marshal_check
  (of-object "GHookList")
  (c-name "g_hook_list_marshal_check")
  (return-type "none")
  (parameters
    '("gboolean" "may_recurse")
    '("GHookCheckMarshaller" "marshaller")
    '("gpointer" "marshal_data")
  )
)

(define-function g_iconv_open
  (c-name "g_iconv_open")
  (return-type "GIConv")
  (parameters
    '("const-gchar*" "to_codeset")
    '("const-gchar*" "from_codeset")
  )
)

(define-method close
  (of-object "GIConv")
  (c-name "g_iconv_close")
  (return-type "gint")
)

(define-function g_io_channel_error_from_errno
  (c-name "g_io_channel_error_from_errno")
  (return-type "GIOChannelError")
  (parameters
    '("gint" "en")
  )
)

(define-function g_io_channel_error_quark
  (c-name "g_io_channel_error_quark")
  (return-type "GQuark")
)

(define-method close
  (of-object "GIOChannel")
  (c-name "g_io_channel_close")
  (return-type "none")
)

(define-method flush
  (of-object "GIOChannel")
  (c-name "g_io_channel_flush")
  (return-type "GIOStatus")
  (parameters
    '("GError**" "error")
  )
)

(define-method get_buffer_condition
  (of-object "GIOChannel")
  (c-name "g_io_channel_get_buffer_condition")
  (return-type "GIOCondition")
)

(define-method get_buffer_size
  (of-object "GIOChannel")
  (c-name "g_io_channel_get_buffer_size")
  (return-type "gsize")
)

(define-method get_buffered
  (of-object "GIOChannel")
  (c-name "g_io_channel_get_buffered")
  (return-type "gboolean")
)

(define-method get_close_on_unref
  (of-object "GIOChannel")
  (c-name "g_io_channel_get_close_on_unref")
  (return-type "gboolean")
)

(define-method get_encoding
  (of-object "GIOChannel")
  (c-name "g_io_channel_get_encoding")
  (return-type "const-gchar*")
)

(define-method get_flags
  (of-object "GIOChannel")
  (c-name "g_io_channel_get_flags")
  (return-type "GIOFlags")
)

(define-method get_line_term
  (of-object "GIOChannel")
  (c-name "g_io_channel_get_line_term")
  (return-type "const-gchar*")
  (parameters
    '("gint*" "length")
  )
)

(define-method init
  (of-object "GIOChannel")
  (c-name "g_io_channel_init")
  (return-type "none")
)

(define-method read
  (of-object "GIOChannel")
  (c-name "g_io_channel_read")
  (return-type "GIOError")
  (parameters
    '("gchar*" "buf")
    '("gsize" "count")
    '("gsize*" "bytes_read")
  )
)

(define-method read_chars
  (of-object "GIOChannel")
  (c-name "g_io_channel_read_chars")
  (return-type "GIOStatus")
  (parameters
    '("gchar*" "buf")
    '("gsize" "count")
    '("gsize*" "bytes_read")
    '("GError**" "error")
  )
)

(define-method read_line
  (of-object "GIOChannel")
  (c-name "g_io_channel_read_line")
  (return-type "GIOStatus")
  (parameters
    '("gchar**" "str_return")
    '("gsize*" "length")
    '("gsize*" "terminator_pos")
    '("GError**" "error")
  )
)

(define-method read_line_string
  (of-object "GIOChannel")
  (c-name "g_io_channel_read_line_string")
  (return-type "GIOStatus")
  (parameters
    '("GString*" "buffer")
    '("gsize*" "terminator_pos")
    '("GError**" "error")
  )
)

(define-method read_to_end
  (of-object "GIOChannel")
  (c-name "g_io_channel_read_to_end")
  (return-type "GIOStatus")
  (parameters
    '("gchar**" "str_return")
    '("gsize*" "length")
    '("GError**" "error")
  )
)

(define-method read_unichar
  (of-object "GIOChannel")
  (c-name "g_io_channel_read_unichar")
  (return-type "GIOStatus")
  (parameters
    '("gunichar*" "thechar")
    '("GError**" "error")
  )
)

(define-method ref
  (of-object "GIOChannel")
  (c-name "g_io_channel_ref")
  (return-type "GIOChannel*")
)

(define-method seek
  (of-object "GIOChannel")
  (c-name "g_io_channel_seek")
  (return-type "GIOError")
  (parameters
    '("gint64" "offset")
    '("GSeekType" "type")
  )
)

(define-method seek_position
  (of-object "GIOChannel")
  (c-name "g_io_channel_seek_position")
  (return-type "GIOStatus")
  (parameters
    '("gint64" "offset")
    '("GSeekType" "type")
    '("GError**" "error")
  )
)

(define-method set_buffer_size
  (of-object "GIOChannel")
  (c-name "g_io_channel_set_buffer_size")
  (return-type "none")
  (parameters
    '("gsize" "size")
  )
)

(define-method set_buffered
  (of-object "GIOChannel")
  (c-name "g_io_channel_set_buffered")
  (return-type "none")
  (parameters
    '("gboolean" "buffered")
  )
)

(define-method set_close_on_unref
  (of-object "GIOChannel")
  (c-name "g_io_channel_set_close_on_unref")
  (return-type "none")
  (parameters
    '("gboolean" "do_close")
  )
)

(define-method set_encoding
  (of-object "GIOChannel")
  (c-name "g_io_channel_set_encoding")
  (return-type "GIOStatus")
  (parameters
    '("const-gchar*" "encoding")
    '("GError**" "error")
  )
)

(define-method set_flags
  (of-object "GIOChannel")
  (c-name "g_io_channel_set_flags")
  (return-type "GIOStatus")
  (parameters
    '("GIOFlags" "flags")
    '("GError**" "error")
  )
)

(define-method set_line_term
  (of-object "GIOChannel")
  (c-name "g_io_channel_set_line_term")
  (return-type "none")
  (parameters
    '("const-gchar*" "line_term")
    '("gint" "length")
  )
)

(define-method shutdown
  (of-object "GIOChannel")
  (c-name "g_io_channel_shutdown")
  (return-type "GIOStatus")
  (parameters
    '("gboolean" "flush")
    '("GError**" "error")
  )
)

(define-method unix_get_fd
  (of-object "GIOChannel")
  (c-name "g_io_channel_unix_get_fd")
  (return-type "gint")
)

(define-method unref
  (of-object "GIOChannel")
  (c-name "g_io_channel_unref")
  (return-type "none")
)

(define-method write
  (of-object "GIOChannel")
  (c-name "g_io_channel_write")
  (return-type "GIOError")
  (parameters
    '("const-gchar*" "buf")
    '("gsize" "count")
    '("gsize*" "bytes_written")
  )
)

(define-method write_chars
  (of-object "GIOChannel")
  (c-name "g_io_channel_write_chars")
  (return-type "GIOStatus")
  (parameters
    '("const-gchar*" "buf")
    '("gssize" "count")
    '("gsize*" "bytes_written")
    '("GError**" "error")
  )
)

(define-method write_unichar
  (of-object "GIOChannel")
  (c-name "g_io_channel_write_unichar")
  (return-type "GIOStatus")
  (parameters
    '("gunichar" "thechar")
    '("GError**" "error")
  )
)

(define-function g_io_channel_new_file
  (c-name "g_io_channel_new_file")
  (is-constructor-of "GIOChannel")
  (return-type "GIOChannel*")
  (parameters
    '("const-gchar*" "filename")
    '("const-gchar*" "mode")
    '("GError**" "error")
  )
)

(define-function g_io_channel_unix_new
  (c-name "g_io_channel_unix_new")
  (is-constructor-of "GIOChannel")
  (return-type "GIOChannel*")
  (parameters
    '("int" "fd")
  )
)

(define-function g_key_file_error_quark
  (c-name "g_key_file_error_quark")
  (return-type "GQuark")
)

(define-method free
  (of-object "GKeyFile")
  (c-name "g_key_file_free")
  (return-type "none")
)

(define-method get_boolean
  (of-object "GKeyFile")
  (c-name "g_key_file_get_boolean")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("GError**" "error")
  )
)

(define-method get_boolean_list
  (of-object "GKeyFile")
  (c-name "g_key_file_get_boolean_list")
  (return-type "gboolean*")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("gsize*" "length")
    '("GError**" "error")
  )
)

(define-method get_comment
  (of-object "GKeyFile")
  (c-name "g_key_file_get_comment")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("GError**" "error")
  )
)

(define-method get_double
  (of-object "GKeyFile")
  (c-name "g_key_file_get_double")
  (return-type "gdouble")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("GError**" "error")
  )
)

(define-method get_double_list
  (of-object "GKeyFile")
  (c-name "g_key_file_get_double_list")
  (return-type "gdouble*")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("gsize*" "length")
    '("GError**" "error")
  )
)

(define-method get_groups
  (of-object "GKeyFile")
  (c-name "g_key_file_get_groups")
  (return-type "gchar**")
  (parameters
    '("gsize*" "length")
  )
)

(define-method get_int64
  (of-object "GKeyFile")
  (c-name "g_key_file_get_int64")
  (return-type "gint64")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("GError**" "error")
  )
)

(define-method get_integer
  (of-object "GKeyFile")
  (c-name "g_key_file_get_integer")
  (return-type "gint")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("GError**" "error")
  )
)

(define-method get_integer_list
  (of-object "GKeyFile")
  (c-name "g_key_file_get_integer_list")
  (return-type "gint*")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("gsize*" "length")
    '("GError**" "error")
  )
)

(define-method get_keys
  (of-object "GKeyFile")
  (c-name "g_key_file_get_keys")
  (return-type "gchar**")
  (parameters
    '("const-gchar*" "group_name")
    '("gsize*" "length")
    '("GError**" "error")
  )
)

(define-method get_locale_for_key
  (of-object "GKeyFile")
  (c-name "g_key_file_get_locale_for_key")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("const-gchar*" "locale")
  )
)

(define-method get_locale_string
  (of-object "GKeyFile")
  (c-name "g_key_file_get_locale_string")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("const-gchar*" "locale")
    '("GError**" "error")
  )
)

(define-method get_locale_string_list
  (of-object "GKeyFile")
  (c-name "g_key_file_get_locale_string_list")
  (return-type "gchar**")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("const-gchar*" "locale")
    '("gsize*" "length")
    '("GError**" "error")
  )
)

(define-method get_start_group
  (of-object "GKeyFile")
  (c-name "g_key_file_get_start_group")
  (return-type "gchar*")
)

(define-method get_string
  (of-object "GKeyFile")
  (c-name "g_key_file_get_string")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("GError**" "error")
  )
)

(define-method get_string_list
  (of-object "GKeyFile")
  (c-name "g_key_file_get_string_list")
  (return-type "gchar**")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("gsize*" "length")
    '("GError**" "error")
  )
)

(define-method get_uint64
  (of-object "GKeyFile")
  (c-name "g_key_file_get_uint64")
  (return-type "guint64")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("GError**" "error")
  )
)

(define-method get_value
  (of-object "GKeyFile")
  (c-name "g_key_file_get_value")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("GError**" "error")
  )
)

(define-method has_group
  (of-object "GKeyFile")
  (c-name "g_key_file_has_group")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "group_name")
  )
)

(define-method has_key
  (of-object "GKeyFile")
  (c-name "g_key_file_has_key")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("GError**" "error")
  )
)

(define-method load_from_bytes
  (of-object "GKeyFile")
  (c-name "g_key_file_load_from_bytes")
  (return-type "gboolean")
  (parameters
    '("GBytes*" "bytes")
    '("GKeyFileFlags" "flags")
    '("GError**" "error")
  )
)

(define-method load_from_data
  (of-object "GKeyFile")
  (c-name "g_key_file_load_from_data")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "data")
    '("gsize" "length")
    '("GKeyFileFlags" "flags")
    '("GError**" "error")
  )
)

(define-method load_from_data_dirs
  (of-object "GKeyFile")
  (c-name "g_key_file_load_from_data_dirs")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "file")
    '("gchar**" "full_path")
    '("GKeyFileFlags" "flags")
    '("GError**" "error")
  )
)

(define-method load_from_dirs
  (of-object "GKeyFile")
  (c-name "g_key_file_load_from_dirs")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "file")
    '("const-gchar**" "search_dirs")
    '("gchar**" "full_path")
    '("GKeyFileFlags" "flags")
    '("GError**" "error")
  )
)

(define-method load_from_file
  (of-object "GKeyFile")
  (c-name "g_key_file_load_from_file")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "file")
    '("GKeyFileFlags" "flags")
    '("GError**" "error")
  )
)

(define-method ref
  (of-object "GKeyFile")
  (c-name "g_key_file_ref")
  (return-type "GKeyFile*")
)

(define-method remove_comment
  (of-object "GKeyFile")
  (c-name "g_key_file_remove_comment")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("GError**" "error")
  )
)

(define-method remove_group
  (of-object "GKeyFile")
  (c-name "g_key_file_remove_group")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "group_name")
    '("GError**" "error")
  )
)

(define-method remove_key
  (of-object "GKeyFile")
  (c-name "g_key_file_remove_key")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("GError**" "error")
  )
)

(define-method save_to_file
  (of-object "GKeyFile")
  (c-name "g_key_file_save_to_file")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "filename")
    '("GError**" "error")
  )
)

(define-method set_boolean
  (of-object "GKeyFile")
  (c-name "g_key_file_set_boolean")
  (return-type "none")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("gboolean" "value")
  )
)

(define-method set_boolean_list
  (of-object "GKeyFile")
  (c-name "g_key_file_set_boolean_list")
  (return-type "none")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("gboolean*" "list")
    '("gsize" "length")
  )
)

(define-method set_comment
  (of-object "GKeyFile")
  (c-name "g_key_file_set_comment")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("const-gchar*" "comment")
    '("GError**" "error")
  )
)

(define-method set_double
  (of-object "GKeyFile")
  (c-name "g_key_file_set_double")
  (return-type "none")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("gdouble" "value")
  )
)

(define-method set_double_list
  (of-object "GKeyFile")
  (c-name "g_key_file_set_double_list")
  (return-type "none")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("gdouble*" "list")
    '("gsize" "length")
  )
)

(define-method set_int64
  (of-object "GKeyFile")
  (c-name "g_key_file_set_int64")
  (return-type "none")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("gint64" "value")
  )
)

(define-method set_integer
  (of-object "GKeyFile")
  (c-name "g_key_file_set_integer")
  (return-type "none")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("gint" "value")
  )
)

(define-method set_integer_list
  (of-object "GKeyFile")
  (c-name "g_key_file_set_integer_list")
  (return-type "none")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("gint*" "list")
    '("gsize" "length")
  )
)

(define-method set_list_separator
  (of-object "GKeyFile")
  (c-name "g_key_file_set_list_separator")
  (return-type "none")
  (parameters
    '("gchar" "separator")
  )
)

(define-method set_locale_string
  (of-object "GKeyFile")
  (c-name "g_key_file_set_locale_string")
  (return-type "none")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("const-gchar*" "locale")
    '("const-gchar*" "string")
  )
)

(define-method set_locale_string_list
  (of-object "GKeyFile")
  (c-name "g_key_file_set_locale_string_list")
  (return-type "none")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("const-gchar*" "locale")
    '("const-gchar*-const*" "list")
    '("gsize" "length")
  )
)

(define-method set_string
  (of-object "GKeyFile")
  (c-name "g_key_file_set_string")
  (return-type "none")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("const-gchar*" "string")
  )
)

(define-method set_string_list
  (of-object "GKeyFile")
  (c-name "g_key_file_set_string_list")
  (return-type "none")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("const-gchar*-const*" "list")
    '("gsize" "length")
  )
)

(define-method set_uint64
  (of-object "GKeyFile")
  (c-name "g_key_file_set_uint64")
  (return-type "none")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("guint64" "value")
  )
)

(define-method set_value
  (of-object "GKeyFile")
  (c-name "g_key_file_set_value")
  (return-type "none")
  (parameters
    '("const-gchar*" "group_name")
    '("const-gchar*" "key")
    '("const-gchar*" "value")
  )
)

(define-method to_data
  (of-object "GKeyFile")
  (c-name "g_key_file_to_data")
  (return-type "gchar*")
  (parameters
    '("gsize*" "length")
    '("GError**" "error")
  )
)

(define-method unref
  (of-object "GKeyFile")
  (c-name "g_key_file_unref")
  (return-type "none")
)

(define-function g_key_file_new
  (c-name "g_key_file_new")
  (is-constructor-of "GKeyFile")
  (return-type "GKeyFile*")
)

(define-function g_list_alloc
  (c-name "g_list_alloc")
  (return-type "GList*")
)

(define-function g_list_append
  (c-name "g_list_append")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("gpointer" "data")
  )
)

(define-function g_list_concat
  (c-name "g_list_concat")
  (return-type "GList*")
  (parameters
    '("GList*" "list1")
    '("GList*" "list2")
  )
)

(define-function g_list_copy
  (c-name "g_list_copy")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
  )
)

(define-function g_list_copy_deep
  (c-name "g_list_copy_deep")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("GCopyFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_list_delete_link
  (c-name "g_list_delete_link")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("GList*" "link_")
  )
)

(define-function g_list_find
  (c-name "g_list_find")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("gconstpointer" "data")
  )
)

(define-function g_list_find_custom
  (c-name "g_list_find_custom")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("gconstpointer" "data")
    '("GCompareFunc" "func")
  )
)

(define-function g_list_first
  (c-name "g_list_first")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
  )
)

(define-function g_list_foreach
  (c-name "g_list_foreach")
  (return-type "none")
  (parameters
    '("GList*" "list")
    '("GFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_list_free
  (c-name "g_list_free")
  (return-type "none")
  (parameters
    '("GList*" "list")
  )
)

(define-function g_list_free_1
  (c-name "g_list_free_1")
  (return-type "none")
  (parameters
    '("GList*" "list")
  )
)

(define-function g_list_free_full
  (c-name "g_list_free_full")
  (return-type "none")
  (parameters
    '("GList*" "list")
    '("GDestroyNotify" "free_func")
  )
)

(define-function g_list_index
  (c-name "g_list_index")
  (return-type "gint")
  (parameters
    '("GList*" "list")
    '("gconstpointer" "data")
  )
)

(define-function g_list_insert
  (c-name "g_list_insert")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("gpointer" "data")
    '("gint" "position")
  )
)

(define-function g_list_insert_before
  (c-name "g_list_insert_before")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("GList*" "sibling")
    '("gpointer" "data")
  )
)

(define-function g_list_insert_before_link
  (c-name "g_list_insert_before_link")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("GList*" "sibling")
    '("GList*" "link_")
  )
)

(define-function g_list_insert_sorted
  (c-name "g_list_insert_sorted")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("gpointer" "data")
    '("GCompareFunc" "func")
  )
)

(define-function g_list_insert_sorted_with_data
  (c-name "g_list_insert_sorted_with_data")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("gpointer" "data")
    '("GCompareDataFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_list_last
  (c-name "g_list_last")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
  )
)

(define-function g_list_length
  (c-name "g_list_length")
  (return-type "guint")
  (parameters
    '("GList*" "list")
  )
)

(define-function g_list_nth
  (c-name "g_list_nth")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("guint" "n")
  )
)

(define-function g_list_nth_data
  (c-name "g_list_nth_data")
  (return-type "gpointer")
  (parameters
    '("GList*" "list")
    '("guint" "n")
  )
)

(define-function g_list_nth_prev
  (c-name "g_list_nth_prev")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("guint" "n")
  )
)

(define-function g_list_pop_allocator
  (c-name "g_list_pop_allocator")
  (return-type "none")
)

(define-function g_list_position
  (c-name "g_list_position")
  (return-type "gint")
  (parameters
    '("GList*" "list")
    '("GList*" "llink")
  )
)

(define-function g_list_prepend
  (c-name "g_list_prepend")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("gpointer" "data")
  )
)

(define-function g_list_push_allocator
  (c-name "g_list_push_allocator")
  (return-type "none")
  (parameters
    '("GAllocator*" "allocator")
  )
)

(define-function g_list_remove
  (c-name "g_list_remove")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("gconstpointer" "data")
  )
)

(define-function g_list_remove_all
  (c-name "g_list_remove_all")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("gconstpointer" "data")
  )
)

(define-function g_list_remove_link
  (c-name "g_list_remove_link")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("GList*" "llink")
  )
)

(define-function g_list_reverse
  (c-name "g_list_reverse")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
  )
)

(define-function g_list_sort
  (c-name "g_list_sort")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("GCompareFunc" "compare_func")
  )
)

(define-function g_list_sort_with_data
  (c-name "g_list_sort_with_data")
  (return-type "GList*")
  (parameters
    '("GList*" "list")
    '("GCompareDataFunc" "compare_func")
    '("gpointer" "user_data")
  )
)

(define-function g_main_context_default
  (c-name "g_main_context_default")
  (return-type "GMainContext*")
)

(define-function g_main_context_get_thread_default
  (c-name "g_main_context_get_thread_default")
  (return-type "GMainContext*")
)

(define-function g_main_context_pusher_free
  (c-name "g_main_context_pusher_free")
  (return-type "none")
  (parameters
    '("GMainContextPusher*" "pusher")
  )
)

(define-function g_main_context_ref_thread_default
  (c-name "g_main_context_ref_thread_default")
  (return-type "GMainContext*")
)

(define-method acquire
  (of-object "GMainContext")
  (c-name "g_main_context_acquire")
  (return-type "gboolean")
)

(define-method add_poll
  (of-object "GMainContext")
  (c-name "g_main_context_add_poll")
  (return-type "none")
  (parameters
    '("GPollFD*" "fd")
    '("gint" "priority")
  )
)

(define-method check
  (of-object "GMainContext")
  (c-name "g_main_context_check")
  (return-type "gboolean")
  (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 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 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 get_poll_func
  (of-object "GMainContext")
  (c-name "g_main_context_get_poll_func")
  (return-type "GPollFunc")
)

(define-method invoke
  (of-object "GMainContext")
  (c-name "g_main_context_invoke")
  (return-type "none")
  (parameters
    '("GSourceFunc" "function")
    '("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 is_owner
  (of-object "GMainContext")
  (c-name "g_main_context_is_owner")
  (return-type "gboolean")
)

(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 pop_thread_default
  (of-object "GMainContext")
  (c-name "g_main_context_pop_thread_default")
  (return-type "none")
)

(define-method prepare
  (of-object "GMainContext")
  (c-name "g_main_context_prepare")
  (return-type "gboolean")
  (parameters
    '("gint*" "priority")
  )
)

(define-method push_thread_default
  (of-object "GMainContext")
  (c-name "g_main_context_push_thread_default")
  (return-type "none")
)

(define-method pusher_new
  (of-object "GMainContext")
  (c-name "g_main_context_pusher_new")
  (return-type "GMainContextPusher*")
)

(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 ref
  (of-object "GMainContext")
  (c-name "g_main_context_ref")
  (return-type "GMainContext*")
)

(define-method release
  (of-object "GMainContext")
  (c-name "g_main_context_release")
  (return-type "none")
)

(define-method remove_poll
  (of-object "GMainContext")
  (c-name "g_main_context_remove_poll")
  (return-type "none")
  (parameters
    '("GPollFD*" "fd")
  )
)

(define-method set_poll_func
  (of-object "GMainContext")
  (c-name "g_main_context_set_poll_func")
  (return-type "none")
  (parameters
    '("GPollFunc" "func")
  )
)

(define-method unref
  (of-object "GMainContext")
  (c-name "g_main_context_unref")
  (return-type "none")
)

(define-method wait
  (of-object "GMainContext")
  (c-name "g_main_context_wait")
  (return-type "gboolean")
  (parameters
    '("GCond*" "cond")
    '("GMutex*" "mutex")
  )
)

(define-method wakeup
  (of-object "GMainContext")
  (c-name "g_main_context_wakeup")
  (return-type "none")
)

(define-function g_main_context_new
  (c-name "g_main_context_new")
  (is-constructor-of "GMainContext")
  (return-type "GMainContext*")
)

(define-function g_main_context_new_with_flags
  (c-name "g_main_context_new_with_flags")
  (is-constructor-of "GMainContext")
  (return-type "GMainContext*")
  (parameters
    '("GMainContextFlags" "flags")
  )
)

(define-method get_context
  (of-object "GMainLoop")
  (c-name "g_main_loop_get_context")
  (return-type "GMainContext*")
)

(define-method is_running
  (of-object "GMainLoop")
  (c-name "g_main_loop_is_running")
  (return-type "gboolean")
)

(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 run
  (of-object "GMainLoop")
  (c-name "g_main_loop_run")
  (return-type "none")
)

(define-method unref
  (of-object "GMainLoop")
  (c-name "g_main_loop_unref")
  (return-type "none")
)

(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 free
  (of-object "GMappedFile")
  (c-name "g_mapped_file_free")
  (return-type "none")
)

(define-method get_bytes
  (of-object "GMappedFile")
  (c-name "g_mapped_file_get_bytes")
  (return-type "GBytes*")
)

(define-method get_contents
  (of-object "GMappedFile")
  (c-name "g_mapped_file_get_contents")
  (return-type "gchar*")
)

(define-method get_length
  (of-object "GMappedFile")
  (c-name "g_mapped_file_get_length")
  (return-type "gsize")
)

(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-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")
  (is-constructor-of "GMappedFile")
  (return-type "GMappedFile*")
  (parameters
    '("gint" "fd")
    '("gboolean" "writable")
    '("GError**" "error")
  )
)

(define-method end_parse
  (of-object "GMarkupParseContext")
  (c-name "g_markup_parse_context_end_parse")
  (return-type "gboolean")
  (parameters
    '("GError**" "error")
  )
)

(define-method free
  (of-object "GMarkupParseContext")
  (c-name "g_markup_parse_context_free")
  (return-type "none")
)

(define-method get_attribute_position
  (of-object "GMarkupParseContext")
  (c-name "g_markup_parse_context_get_attribute_position")
  (return-type "none")
  (parameters
    '("unsigned-int" "attr")
    '("size_t*" "start_lines")
    '("size_t*" "start_chars")
    '("size_t*" "start_offset")
    '("size_t*" "end_lines")
    '("size_t*" "end_chars")
    '("size_t*" "end_offset")
  )
)

(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_offset
  (of-object "GMarkupParseContext")
  (c-name "g_markup_parse_context_get_offset")
  (return-type "gsize")
)

(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_tag_start
  (of-object "GMarkupParseContext")
  (c-name "g_markup_parse_context_get_tag_start")
  (return-type "none")
  (parameters
    '("gsize*" "line_number")
    '("gsize*" "char_number")
    '("gsize*" "offset")
  )
)

(define-method get_user_data
  (of-object "GMarkupParseContext")
  (c-name "g_markup_parse_context_get_user_data")
  (return-type "gpointer")
)

(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 pop
  (of-object "GMarkupParseContext")
  (c-name "g_markup_parse_context_pop")
  (return-type "gpointer")
)

(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 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-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 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_all
  (of-object "GMatchInfo")
  (c-name "g_match_info_fetch_all")
  (return-type "gchar**")
)

(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_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 free
  (of-object "GMatchInfo")
  (c-name "g_match_info_free")
  (return-type "none")
)

(define-method get_match_count
  (of-object "GMatchInfo")
  (c-name "g_match_info_get_match_count")
  (return-type "gint")
)

(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 is_partial_match
  (of-object "GMatchInfo")
  (c-name "g_match_info_is_partial_match")
  (return-type "gboolean")
)

(define-method matches
  (of-object "GMatchInfo")
  (c-name "g_match_info_matches")
  (return-type "gboolean")
)

(define-method next
  (of-object "GMatchInfo")
  (c-name "g_match_info_next")
  (return-type "gboolean")
  (parameters
    '("GError**" "error")
  )
)

(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-function g_mem_chunk_info
  (c-name "g_mem_chunk_info")
  (return-type "none")
)

(define-function g_mem_chunk_new
  (c-name "g_mem_chunk_new")
  (return-type "GMemChunk*")
  (parameters
    '("const-gchar*" "name")
    '("gint" "atom_size")
    '("gsize" "area_size")
    '("gint" "type")
  )
)

(define-method alloc
  (of-object "GMemChunk")
  (c-name "g_mem_chunk_alloc")
  (return-type "gpointer")
)

(define-method alloc0
  (of-object "GMemChunk")
  (c-name "g_mem_chunk_alloc0")
  (return-type "gpointer")
)

(define-method clean
  (of-object "GMemChunk")
  (c-name "g_mem_chunk_clean")
  (return-type "none")
)

(define-method destroy
  (of-object "GMemChunk")
  (c-name "g_mem_chunk_destroy")
  (return-type "none")
)

(define-method free
  (of-object "GMemChunk")
  (c-name "g_mem_chunk_free")
  (return-type "none")
  (parameters
    '("gpointer" "mem")
  )
)

(define-method print
  (of-object "GMemChunk")
  (c-name "g_mem_chunk_print")
  (return-type "none")
)

(define-method reset
  (of-object "GMemChunk")
  (c-name "g_mem_chunk_reset")
  (return-type "none")
)

(define-function g_node_new
  (c-name "g_node_new")
  (return-type "GNode*")
  (parameters
    '("gpointer" "data")
  )
)

(define-function g_node_pop_allocator
  (c-name "g_node_pop_allocator")
  (return-type "none")
)

(define-function g_node_push_allocator
  (c-name "g_node_push_allocator")
  (return-type "none")
  (parameters
    '("GAllocator*" "allocator")
  )
)

(define-method child_index
  (of-object "GNode")
  (c-name "g_node_child_index")
  (return-type "gint")
  (parameters
    '("gpointer" "data")
  )
)

(define-method child_position
  (of-object "GNode")
  (c-name "g_node_child_position")
  (return-type "gint")
  (parameters
    '("GNode*" "child")
  )
)

(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 copy
  (of-object "GNode")
  (c-name "g_node_copy")
  (return-type "GNode*")
)

(define-method copy_deep
  (of-object "GNode")
  (c-name "g_node_copy_deep")
  (return-type "GNode*")
  (parameters
    '("GCopyFunc" "copy_func")
    '("gpointer" "data")
  )
)

(define-method depth
  (of-object "GNode")
  (c-name "g_node_depth")
  (return-type "guint")
)

(define-method destroy
  (of-object "GNode")
  (c-name "g_node_destroy")
  (return-type "none")
)

(define-method find
  (of-object "GNode")
  (c-name "g_node_find")
  (return-type "GNode*")
  (parameters
    '("GTraverseType" "order")
    '("GTraverseFlags" "flags")
    '("gpointer" "data")
  )
)

(define-method find_child
  (of-object "GNode")
  (c-name "g_node_find_child")
  (return-type "GNode*")
  (parameters
    '("GTraverseFlags" "flags")
    '("gpointer" "data")
  )
)

(define-method first_sibling
  (of-object "GNode")
  (c-name "g_node_first_sibling")
  (return-type "GNode*")
)

(define-method get_root
  (of-object "GNode")
  (c-name "g_node_get_root")
  (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_after
  (of-object "GNode")
  (c-name "g_node_insert_after")
  (return-type "GNode*")
  (parameters
    '("GNode*" "sibling")
    '("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 is_ancestor
  (of-object "GNode")
  (c-name "g_node_is_ancestor")
  (return-type "gboolean")
  (parameters
    '("GNode*" "descendant")
  )
)

(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 max_height
  (of-object "GNode")
  (c-name "g_node_max_height")
  (return-type "guint")
)

(define-method n_children
  (of-object "GNode")
  (c-name "g_node_n_children")
  (return-type "guint")
)

(define-method n_nodes
  (of-object "GNode")
  (c-name "g_node_n_nodes")
  (return-type "guint")
  (parameters
    '("GTraverseFlags" "flags")
  )
)

(define-method nth_child
  (of-object "GNode")
  (c-name "g_node_nth_child")
  (return-type "GNode*")
  (parameters
    '("guint" "n")
  )
)

(define-method prepend
  (of-object "GNode")
  (c-name "g_node_prepend")
  (return-type "GNode*")
  (parameters
    '("GNode*" "node")
  )
)

(define-method reverse_children
  (of-object "GNode")
  (c-name "g_node_reverse_children")
  (return-type "none")
)

(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 unlink
  (of-object "GNode")
  (c-name "g_node_unlink")
  (return-type "none")
)

(define-function g_once_init_enter
  (c-name "g_once_init_enter")
  (return-type "gboolean")
  (parameters
    '("void*" "location")
  )
)

(define-function g_once_init_enter_impl
  (c-name "g_once_init_enter_impl")
  (return-type "gboolean")
  (parameters
    '("volatile-gsize*" "location")
  )
)

(define-function g_once_init_enter_pointer
  (c-name "g_once_init_enter_pointer")
  (return-type "gboolean")
  (parameters
    '("void*" "location")
  )
)

(define-function g_once_init_leave
  (c-name "g_once_init_leave")
  (return-type "none")
  (parameters
    '("void*" "location")
    '("gsize" "result")
  )
)

(define-function g_once_init_leave_pointer
  (c-name "g_once_init_leave_pointer")
  (return-type "none")
  (parameters
    '("void*" "location")
    '("gpointer" "result")
  )
)

(define-method impl
  (of-object "GOnce")
  (c-name "g_once_impl")
  (return-type "gpointer")
  (parameters
    '("GThreadFunc" "func")
    '("gpointer" "arg")
  )
)

(define-function g_option_context_new
  (c-name "g_option_context_new")
  (return-type "GOptionContext*")
  (parameters
    '("const-gchar*" "parameter_string")
  )
)

(define-method add_group
  (of-object "GOptionContext")
  (c-name "g_option_context_add_group")
  (return-type "none")
  (parameters
    '("GOptionGroup*" "group")
  )
)

(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 free
  (of-object "GOptionContext")
  (c-name "g_option_context_free")
  (return-type "none")
)

(define-method get_description
  (of-object "GOptionContext")
  (c-name "g_option_context_get_description")
  (return-type "const-gchar*")
)

(define-method get_help
  (of-object "GOptionContext")
  (c-name "g_option_context_get_help")
  (return-type "gchar*")
  (parameters
    '("gboolean" "main_help")
    '("GOptionGroup*" "group")
  )
)

(define-method get_help_enabled
  (of-object "GOptionContext")
  (c-name "g_option_context_get_help_enabled")
  (return-type "gboolean")
)

(define-method get_ignore_unknown_options
  (of-object "GOptionContext")
  (c-name "g_option_context_get_ignore_unknown_options")
  (return-type "gboolean")
)

(define-method get_main_group
  (of-object "GOptionContext")
  (c-name "g_option_context_get_main_group")
  (return-type "GOptionGroup*")
)

(define-method get_strict_posix
  (of-object "GOptionContext")
  (c-name "g_option_context_get_strict_posix")
  (return-type "gboolean")
)

(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")
  )
)

(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 set_summary
  (of-object "GOptionContext")
  (c-name "g_option_context_set_summary")
  (return-type "none")
  (parameters
    '("const-gchar*" "summary")
  )
)

(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_entries
  (of-object "GOptionGroup")
  (c-name "g_option_group_add_entries")
  (return-type "none")
  (parameters
    '("const-GOptionEntry*" "entries")
  )
)

(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 set_error_hook
  (of-object "GOptionGroup")
  (c-name "g_option_group_set_error_hook")
  (return-type "none")
  (parameters
    '("GOptionErrorFunc" "error_func")
  )
)

(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_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")
  )
)

(define-method unref
  (of-object "GOptionGroup")
  (c-name "g_option_group_unref")
  (return-type "none")
)

(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-function g_path_buf_equal
  (c-name "g_path_buf_equal")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "v1")
    '("gconstpointer" "v2")
  )
)

(define-function g_path_buf_new
  (c-name "g_path_buf_new")
  (return-type "GPathBuf*")
)

(define-function g_path_buf_new_from_path
  (c-name "g_path_buf_new_from_path")
  (return-type "GPathBuf*")
  (parameters
    '("const-char*" "path")
  )
)

(define-method clear
  (of-object "GPathBuf")
  (c-name "g_path_buf_clear")
  (return-type "none")
)

(define-method clear_to_path
  (of-object "GPathBuf")
  (c-name "g_path_buf_clear_to_path")
  (return-type "char*")
)

(define-method copy
  (of-object "GPathBuf")
  (c-name "g_path_buf_copy")
  (return-type "GPathBuf*")
)

(define-method free
  (of-object "GPathBuf")
  (c-name "g_path_buf_free")
  (return-type "none")
)

(define-method free_to_path
  (of-object "GPathBuf")
  (c-name "g_path_buf_free_to_path")
  (return-type "char*")
)

(define-method init
  (of-object "GPathBuf")
  (c-name "g_path_buf_init")
  (return-type "GPathBuf*")
)

(define-method init_from_path
  (of-object "GPathBuf")
  (c-name "g_path_buf_init_from_path")
  (return-type "GPathBuf*")
  (parameters
    '("const-char*" "path")
  )
)

(define-method pop
  (of-object "GPathBuf")
  (c-name "g_path_buf_pop")
  (return-type "gboolean")
)

(define-method push
  (of-object "GPathBuf")
  (c-name "g_path_buf_push")
  (return-type "GPathBuf*")
  (parameters
    '("const-char*" "path")
  )
)

(define-method set_extension
  (of-object "GPathBuf")
  (c-name "g_path_buf_set_extension")
  (return-type "gboolean")
  (parameters
    '("const-char*" "extension")
  )
)

(define-method set_filename
  (of-object "GPathBuf")
  (c-name "g_path_buf_set_filename")
  (return-type "gboolean")
  (parameters
    '("const-char*" "file_name")
  )
)

(define-method to_path
  (of-object "GPathBuf")
  (c-name "g_path_buf_to_path")
  (return-type "char*")
)

(define-method copy
  (of-object "GPatternSpec")
  (c-name "g_pattern_spec_copy")
  (return-type "GPatternSpec*")
)

(define-method equal
  (of-object "GPatternSpec")
  (c-name "g_pattern_spec_equal")
  (return-type "gboolean")
  (parameters
    '("GPatternSpec*" "pspec2")
  )
)

(define-method free
  (of-object "GPatternSpec")
  (c-name "g_pattern_spec_free")
  (return-type "none")
)

(define-method match
  (of-object "GPatternSpec")
  (c-name "g_pattern_spec_match")
  (return-type "gboolean")
  (parameters
    '("gsize" "string_length")
    '("const-gchar*" "string")
    '("const-gchar*" "string_reversed")
  )
)

(define-method match_string
  (of-object "GPatternSpec")
  (c-name "g_pattern_spec_match_string")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "string")
  )
)

(define-function g_pattern_spec_new
  (c-name "g_pattern_spec_new")
  (is-constructor-of "GPatternSpec")
  (return-type "GPatternSpec*")
  (parameters
    '("const-gchar*" "pattern")
  )
)

(define-function g_private_new
  (c-name "g_private_new")
  (return-type "GPrivate*")
  (parameters
    '("GDestroyNotify" "notify")
  )
)

(define-method get
  (of-object "GPrivate")
  (c-name "g_private_get")
  (return-type "gpointer")
)

(define-method replace
  (of-object "GPrivate")
  (c-name "g_private_replace")
  (return-type "none")
  (parameters
    '("gpointer" "value")
  )
)

(define-method set
  (of-object "GPrivate")
  (c-name "g_private_set")
  (return-type "none")
  (parameters
    '("gpointer" "value")
  )
)

(define-function g_ptr_array_add
  (c-name "g_ptr_array_add")
  (return-type "none")
  (parameters
    '("GPtrArray*" "array")
    '("gpointer" "data")
  )
)

(define-function g_ptr_array_copy
  (c-name "g_ptr_array_copy")
  (return-type "GPtrArray*")
  (parameters
    '("GPtrArray*" "array")
    '("GCopyFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_ptr_array_extend
  (c-name "g_ptr_array_extend")
  (return-type "none")
  (parameters
    '("GPtrArray*" "array_to_extend")
    '("GPtrArray*" "array")
    '("GCopyFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_ptr_array_extend_and_steal
  (c-name "g_ptr_array_extend_and_steal")
  (return-type "none")
  (parameters
    '("GPtrArray*" "array_to_extend")
    '("GPtrArray*" "array")
  )
)

(define-function g_ptr_array_find
  (c-name "g_ptr_array_find")
  (return-type "gboolean")
  (parameters
    '("GPtrArray*" "haystack")
    '("gconstpointer" "needle")
    '("guint*" "index_")
  )
)

(define-function g_ptr_array_find_with_equal_func
  (c-name "g_ptr_array_find_with_equal_func")
  (return-type "gboolean")
  (parameters
    '("GPtrArray*" "haystack")
    '("gconstpointer" "needle")
    '("GEqualFunc" "equal_func")
    '("guint*" "index_")
  )
)

(define-function g_ptr_array_foreach
  (c-name "g_ptr_array_foreach")
  (return-type "none")
  (parameters
    '("GPtrArray*" "array")
    '("GFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_ptr_array_free
  (c-name "g_ptr_array_free")
  (return-type "gpointer*")
  (parameters
    '("GPtrArray*" "array")
    '("gboolean" "free_segment")
  )
)

(define-function g_ptr_array_insert
  (c-name "g_ptr_array_insert")
  (return-type "none")
  (parameters
    '("GPtrArray*" "array")
    '("gint" "index_")
    '("gpointer" "data")
  )
)

(define-function g_ptr_array_is_null_terminated
  (c-name "g_ptr_array_is_null_terminated")
  (return-type "gboolean")
  (parameters
    '("GPtrArray*" "array")
  )
)

(define-function g_ptr_array_new
  (c-name "g_ptr_array_new")
  (return-type "GPtrArray*")
)

(define-function g_ptr_array_new_from_array
  (c-name "g_ptr_array_new_from_array")
  (return-type "GPtrArray*")
  (parameters
    '("gpointer*" "data")
    '("gsize" "len")
    '("GCopyFunc" "copy_func")
    '("gpointer" "copy_func_user_data")
    '("GDestroyNotify" "element_free_func")
  )
)

(define-function g_ptr_array_new_from_null_terminated_array
  (c-name "g_ptr_array_new_from_null_terminated_array")
  (return-type "GPtrArray*")
  (parameters
    '("gpointer*" "data")
    '("GCopyFunc" "copy_func")
    '("gpointer" "copy_func_user_data")
    '("GDestroyNotify" "element_free_func")
  )
)

(define-function g_ptr_array_new_full
  (c-name "g_ptr_array_new_full")
  (return-type "GPtrArray*")
  (parameters
    '("guint" "reserved_size")
    '("GDestroyNotify" "element_free_func")
  )
)

(define-function g_ptr_array_new_null_terminated
  (c-name "g_ptr_array_new_null_terminated")
  (return-type "GPtrArray*")
  (parameters
    '("guint" "reserved_size")
    '("GDestroyNotify" "element_free_func")
    '("gboolean" "null_terminated")
  )
)

(define-function g_ptr_array_new_take
  (c-name "g_ptr_array_new_take")
  (return-type "GPtrArray*")
  (parameters
    '("gpointer*" "data")
    '("gsize" "len")
    '("GDestroyNotify" "element_free_func")
  )
)

(define-function g_ptr_array_new_take_null_terminated
  (c-name "g_ptr_array_new_take_null_terminated")
  (return-type "GPtrArray*")
  (parameters
    '("gpointer*" "data")
    '("GDestroyNotify" "element_free_func")
  )
)

(define-function g_ptr_array_new_with_free_func
  (c-name "g_ptr_array_new_with_free_func")
  (return-type "GPtrArray*")
  (parameters
    '("GDestroyNotify" "element_free_func")
  )
)

(define-function g_ptr_array_ref
  (c-name "g_ptr_array_ref")
  (return-type "GPtrArray*")
  (parameters
    '("GPtrArray*" "array")
  )
)

(define-function g_ptr_array_remove
  (c-name "g_ptr_array_remove")
  (return-type "gboolean")
  (parameters
    '("GPtrArray*" "array")
    '("gpointer" "data")
  )
)

(define-function g_ptr_array_remove_fast
  (c-name "g_ptr_array_remove_fast")
  (return-type "gboolean")
  (parameters
    '("GPtrArray*" "array")
    '("gpointer" "data")
  )
)

(define-function g_ptr_array_remove_index
  (c-name "g_ptr_array_remove_index")
  (return-type "gpointer")
  (parameters
    '("GPtrArray*" "array")
    '("guint" "index_")
  )
)

(define-function g_ptr_array_remove_index_fast
  (c-name "g_ptr_array_remove_index_fast")
  (return-type "gpointer")
  (parameters
    '("GPtrArray*" "array")
    '("guint" "index_")
  )
)

(define-function g_ptr_array_remove_range
  (c-name "g_ptr_array_remove_range")
  (return-type "GPtrArray*")
  (parameters
    '("GPtrArray*" "array")
    '("guint" "index_")
    '("guint" "length")
  )
)

(define-function g_ptr_array_set_free_func
  (c-name "g_ptr_array_set_free_func")
  (return-type "none")
  (parameters
    '("GPtrArray*" "array")
    '("GDestroyNotify" "element_free_func")
  )
)

(define-function g_ptr_array_set_size
  (c-name "g_ptr_array_set_size")
  (return-type "none")
  (parameters
    '("GPtrArray*" "array")
    '("gint" "length")
  )
)

(define-function g_ptr_array_sized_new
  (c-name "g_ptr_array_sized_new")
  (return-type "GPtrArray*")
  (parameters
    '("guint" "reserved_size")
  )
)

(define-function g_ptr_array_sort
  (c-name "g_ptr_array_sort")
  (return-type "none")
  (parameters
    '("GPtrArray*" "array")
    '("GCompareFunc" "compare_func")
  )
)

(define-function g_ptr_array_sort_values
  (c-name "g_ptr_array_sort_values")
  (return-type "none")
  (parameters
    '("GPtrArray*" "array")
    '("GCompareFunc" "compare_func")
  )
)

(define-function g_ptr_array_sort_values_with_data
  (c-name "g_ptr_array_sort_values_with_data")
  (return-type "none")
  (parameters
    '("GPtrArray*" "array")
    '("GCompareDataFunc" "compare_func")
    '("gpointer" "user_data")
  )
)

(define-function g_ptr_array_sort_with_data
  (c-name "g_ptr_array_sort_with_data")
  (return-type "none")
  (parameters
    '("GPtrArray*" "array")
    '("GCompareDataFunc" "compare_func")
    '("gpointer" "user_data")
  )
)

(define-function g_ptr_array_steal
  (c-name "g_ptr_array_steal")
  (return-type "gpointer*")
  (parameters
    '("GPtrArray*" "array")
    '("gsize*" "len")
  )
)

(define-function g_ptr_array_steal_index
  (c-name "g_ptr_array_steal_index")
  (return-type "gpointer")
  (parameters
    '("GPtrArray*" "array")
    '("guint" "index_")
  )
)

(define-function g_ptr_array_steal_index_fast
  (c-name "g_ptr_array_steal_index_fast")
  (return-type "gpointer")
  (parameters
    '("GPtrArray*" "array")
    '("guint" "index_")
  )
)

(define-function g_ptr_array_unref
  (c-name "g_ptr_array_unref")
  (return-type "none")
  (parameters
    '("GPtrArray*" "array")
  )
)

(define-function g_queue_new
  (c-name "g_queue_new")
  (return-type "GQueue*")
)

(define-method clear
  (of-object "GQueue")
  (c-name "g_queue_clear")
  (return-type "none")
)

(define-method clear_full
  (of-object "GQueue")
  (c-name "g_queue_clear_full")
  (return-type "none")
  (parameters
    '("GDestroyNotify" "free_func")
  )
)

(define-method copy
  (of-object "GQueue")
  (c-name "g_queue_copy")
  (return-type "GQueue*")
)

(define-method delete_link
  (of-object "GQueue")
  (c-name "g_queue_delete_link")
  (return-type "none")
  (parameters
    '("GList*" "link_")
  )
)

(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 foreach
  (of-object "GQueue")
  (c-name "g_queue_foreach")
  (return-type "none")
  (parameters
    '("GFunc" "func")
    '("gpointer" "user_data")
  )
)

(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 get_length
  (of-object "GQueue")
  (c-name "g_queue_get_length")
  (return-type "guint")
)

(define-method index
  (of-object "GQueue")
  (c-name "g_queue_index")
  (return-type "gint")
  (parameters
    '("gconstpointer" "data")
  )
)

(define-method init
  (of-object "GQueue")
  (c-name "g_queue_init")
  (return-type "none")
)

(define-method insert_after
  (of-object "GQueue")
  (c-name "g_queue_insert_after")
  (return-type "none")
  (parameters
    '("GList*" "sibling")
    '("gpointer" "data")
  )
)

(define-method insert_after_link
  (of-object "GQueue")
  (c-name "g_queue_insert_after_link")
  (return-type "none")
  (parameters
    '("GList*" "sibling")
    '("GList*" "link_")
  )
)

(define-method insert_before
  (of-object "GQueue")
  (c-name "g_queue_insert_before")
  (return-type "none")
  (parameters
    '("GList*" "sibling")
    '("gpointer" "data")
  )
)

(define-method insert_before_link
  (of-object "GQueue")
  (c-name "g_queue_insert_before_link")
  (return-type "none")
  (parameters
    '("GList*" "sibling")
    '("GList*" "link_")
  )
)

(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 is_empty
  (of-object "GQueue")
  (c-name "g_queue_is_empty")
  (return-type "gboolean")
)

(define-method link_index
  (of-object "GQueue")
  (c-name "g_queue_link_index")
  (return-type "gint")
  (parameters
    '("GList*" "link_")
  )
)

(define-method peek_head
  (of-object "GQueue")
  (c-name "g_queue_peek_head")
  (return-type "gpointer")
)

(define-method peek_head_link
  (of-object "GQueue")
  (c-name "g_queue_peek_head_link")
  (return-type "GList*")
)

(define-method peek_nth
  (of-object "GQueue")
  (c-name "g_queue_peek_nth")
  (return-type "gpointer")
  (parameters
    '("guint" "n")
  )
)

(define-method peek_nth_link
  (of-object "GQueue")
  (c-name "g_queue_peek_nth_link")
  (return-type "GList*")
  (parameters
    '("guint" "n")
  )
)

(define-method peek_tail
  (of-object "GQueue")
  (c-name "g_queue_peek_tail")
  (return-type "gpointer")
)

(define-method peek_tail_link
  (of-object "GQueue")
  (c-name "g_queue_peek_tail_link")
  (return-type "GList*")
)

(define-method pop_head
  (of-object "GQueue")
  (c-name "g_queue_pop_head")
  (return-type "gpointer")
)

(define-method pop_head_link
  (of-object "GQueue")
  (c-name "g_queue_pop_head_link")
  (return-type "GList*")
)

(define-method pop_nth
  (of-object "GQueue")
  (c-name "g_queue_pop_nth")
  (return-type "gpointer")
  (parameters
    '("guint" "n")
  )
)

(define-method pop_nth_link
  (of-object "GQueue")
  (c-name "g_queue_pop_nth_link")
  (return-type "GList*")
  (parameters
    '("guint" "n")
  )
)

(define-method pop_tail
  (of-object "GQueue")
  (c-name "g_queue_pop_tail")
  (return-type "gpointer")
)

(define-method pop_tail_link
  (of-object "GQueue")
  (c-name "g_queue_pop_tail_link")
  (return-type "GList*")
)

(define-method push_head
  (of-object "GQueue")
  (c-name "g_queue_push_head")
  (return-type "none")
  (parameters
    '("gpointer" "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_nth
  (of-object "GQueue")
  (c-name "g_queue_push_nth")
  (return-type "none")
  (parameters
    '("gpointer" "data")
    '("gint" "n")
  )
)

(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 push_tail
  (of-object "GQueue")
  (c-name "g_queue_push_tail")
  (return-type "none")
  (parameters
    '("gpointer" "data")
  )
)

(define-method push_tail_link
  (of-object "GQueue")
  (c-name "g_queue_push_tail_link")
  (return-type "none")
  (parameters
    '("GList*" "link_")
  )
)

(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 reverse
  (of-object "GQueue")
  (c-name "g_queue_reverse")
  (return-type "none")
)

(define-method sort
  (of-object "GQueue")
  (c-name "g_queue_sort")
  (return-type "none")
  (parameters
    '("GCompareDataFunc" "compare_func")
    '("gpointer" "user_data")
  )
)

(define-method unlink
  (of-object "GQueue")
  (c-name "g_queue_unlink")
  (return-type "none")
  (parameters
    '("GList*" "link_")
  )
)

(define-method clear
  (of-object "GRWLock")
  (c-name "g_rw_lock_clear")
  (return-type "none")
)

(define-method init
  (of-object "GRWLock")
  (c-name "g_rw_lock_init")
  (return-type "none")
)

(define-method reader_lock
  (of-object "GRWLock")
  (c-name "g_rw_lock_reader_lock")
  (return-type "none")
)

(define-method reader_trylock
  (of-object "GRWLock")
  (c-name "g_rw_lock_reader_trylock")
  (return-type "gboolean")
)

(define-method reader_unlock
  (of-object "GRWLock")
  (c-name "g_rw_lock_reader_unlock")
  (return-type "none")
)

(define-method writer_lock
  (of-object "GRWLock")
  (c-name "g_rw_lock_writer_lock")
  (return-type "none")
)

(define-method writer_trylock
  (of-object "GRWLock")
  (c-name "g_rw_lock_writer_trylock")
  (return-type "gboolean")
)

(define-method writer_unlock
  (of-object "GRWLock")
  (c-name "g_rw_lock_writer_unlock")
  (return-type "none")
)

(define-method copy
  (of-object "GRand")
  (c-name "g_rand_copy")
  (return-type "GRand*")
)

(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-method free
  (of-object "GRand")
  (c-name "g_rand_free")
  (return-type "none")
)

(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 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-function g_rand_new
  (c-name "g_rand_new")
  (is-constructor-of "GRand")
  (return-type "GRand*")
)

(define-function g_rand_new_with_seed
  (c-name "g_rand_new_with_seed")
  (is-constructor-of "GRand")
  (return-type "GRand*")
  (parameters
    '("guint32" "seed")
  )
)

(define-function g_rand_new_with_seed_array
  (c-name "g_rand_new_with_seed_array")
  (is-constructor-of "GRand")
  (return-type "GRand*")
  (parameters
    '("const-guint32*" "seed")
    '("guint" "seed_length")
  )
)

(define-method clear
  (of-object "GRecMutex")
  (c-name "g_rec_mutex_clear")
  (return-type "none")
)

(define-method init
  (of-object "GRecMutex")
  (c-name "g_rec_mutex_init")
  (return-type "none")
)

(define-method lock
  (of-object "GRecMutex")
  (c-name "g_rec_mutex_lock")
  (return-type "none")
)

(define-method trylock
  (of-object "GRecMutex")
  (c-name "g_rec_mutex_trylock")
  (return-type "gboolean")
)

(define-method unlock
  (of-object "GRecMutex")
  (c-name "g_rec_mutex_unlock")
  (return-type "none")
)

(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-function g_regex_error_quark
  (c-name "g_regex_error_quark")
  (return-type "GQuark")
)

(define-function g_regex_escape_nul
  (c-name "g_regex_escape_nul")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "string")
    '("gint" "length")
  )
)

(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_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-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 get_capture_count
  (of-object "GRegex")
  (c-name "g_regex_get_capture_count")
  (return-type "gint")
)

(define-method get_compile_flags
  (of-object "GRegex")
  (c-name "g_regex_get_compile_flags")
  (return-type "GRegexCompileFlags")
)

(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_match_flags
  (of-object "GRegex")
  (c-name "g_regex_get_match_flags")
  (return-type "GRegexMatchFlags")
)

(define-method get_max_backref
  (of-object "GRegex")
  (c-name "g_regex_get_max_backref")
  (return-type "gint")
)

(define-method get_max_lookbehind
  (of-object "GRegex")
  (c-name "g_regex_get_max_lookbehind")
  (return-type "gint")
)

(define-method get_pattern
  (of-object "GRegex")
  (c-name "g_regex_get_pattern")
  (return-type "const-gchar*")
)

(define-method get_string_number
  (of-object "GRegex")
  (c-name "g_regex_get_string_number")
  (return-type "gint")
  (parameters
    '("const-gchar*" "name")
  )
)

(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_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-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 ref
  (of-object "GRegex")
  (c-name "g_regex_ref")
  (return-type "GRegex*")
)

(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_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-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 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 unref
  (of-object "GRegex")
  (c-name "g_regex_unref")
  (return-type "none")
)

(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-function g_relation_new
  (c-name "g_relation_new")
  (return-type "GRelation*")
  (parameters
    '("gint" "fields")
  )
)

(define-method count
  (of-object "GRelation")
  (c-name "g_relation_count")
  (return-type "gint")
  (parameters
    '("gconstpointer" "key")
    '("gint" "field")
  )
)

(define-method delete
  (of-object "GRelation")
  (c-name "g_relation_delete")
  (return-type "gint")
  (parameters
    '("gconstpointer" "key")
    '("gint" "field")
  )
)

(define-method destroy
  (of-object "GRelation")
  (c-name "g_relation_destroy")
  (return-type "none")
)

(define-method exists
  (of-object "GRelation")
  (c-name "g_relation_exists")
  (return-type "gboolean")
  (parameters
  )
  (varargs #t)
)

(define-method index
  (of-object "GRelation")
  (c-name "g_relation_index")
  (return-type "none")
  (parameters
    '("gint" "field")
    '("GHashFunc" "hash_func")
    '("GEqualFunc" "key_equal_func")
  )
)

(define-method insert
  (of-object "GRelation")
  (c-name "g_relation_insert")
  (return-type "none")
  (parameters
  )
  (varargs #t)
)

(define-method print
  (of-object "GRelation")
  (c-name "g_relation_print")
  (return-type "none")
)

(define-method select
  (of-object "GRelation")
  (c-name "g_relation_select")
  (return-type "GTuples*")
  (parameters
    '("gconstpointer" "key")
    '("gint" "field")
  )
)

(define-function g_slist_alloc
  (c-name "g_slist_alloc")
  (return-type "GSList*")
)

(define-function g_slist_append
  (c-name "g_slist_append")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("gpointer" "data")
  )
)

(define-function g_slist_concat
  (c-name "g_slist_concat")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list1")
    '("GSList*" "list2")
  )
)

(define-function g_slist_copy
  (c-name "g_slist_copy")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
  )
)

(define-function g_slist_copy_deep
  (c-name "g_slist_copy_deep")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("GCopyFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_slist_delete_link
  (c-name "g_slist_delete_link")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("GSList*" "link_")
  )
)

(define-function g_slist_find
  (c-name "g_slist_find")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("gconstpointer" "data")
  )
)

(define-function g_slist_find_custom
  (c-name "g_slist_find_custom")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("gconstpointer" "data")
    '("GCompareFunc" "func")
  )
)

(define-function g_slist_foreach
  (c-name "g_slist_foreach")
  (return-type "none")
  (parameters
    '("GSList*" "list")
    '("GFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_slist_free
  (c-name "g_slist_free")
  (return-type "none")
  (parameters
    '("GSList*" "list")
  )
)

(define-function g_slist_free_1
  (c-name "g_slist_free_1")
  (return-type "none")
  (parameters
    '("GSList*" "list")
  )
)

(define-function g_slist_free_full
  (c-name "g_slist_free_full")
  (return-type "none")
  (parameters
    '("GSList*" "list")
    '("GDestroyNotify" "free_func")
  )
)

(define-function g_slist_index
  (c-name "g_slist_index")
  (return-type "gint")
  (parameters
    '("GSList*" "list")
    '("gconstpointer" "data")
  )
)

(define-function g_slist_insert
  (c-name "g_slist_insert")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("gpointer" "data")
    '("gint" "position")
  )
)

(define-function g_slist_insert_before
  (c-name "g_slist_insert_before")
  (return-type "GSList*")
  (parameters
    '("GSList*" "slist")
    '("GSList*" "sibling")
    '("gpointer" "data")
  )
)

(define-function g_slist_insert_sorted
  (c-name "g_slist_insert_sorted")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("gpointer" "data")
    '("GCompareFunc" "func")
  )
)

(define-function g_slist_insert_sorted_with_data
  (c-name "g_slist_insert_sorted_with_data")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("gpointer" "data")
    '("GCompareDataFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-function g_slist_last
  (c-name "g_slist_last")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
  )
)

(define-function g_slist_length
  (c-name "g_slist_length")
  (return-type "guint")
  (parameters
    '("GSList*" "list")
  )
)

(define-function g_slist_nth
  (c-name "g_slist_nth")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("guint" "n")
  )
)

(define-function g_slist_nth_data
  (c-name "g_slist_nth_data")
  (return-type "gpointer")
  (parameters
    '("GSList*" "list")
    '("guint" "n")
  )
)

(define-function g_slist_pop_allocator
  (c-name "g_slist_pop_allocator")
  (return-type "none")
)

(define-function g_slist_position
  (c-name "g_slist_position")
  (return-type "gint")
  (parameters
    '("GSList*" "list")
    '("GSList*" "llink")
  )
)

(define-function g_slist_prepend
  (c-name "g_slist_prepend")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("gpointer" "data")
  )
)

(define-function g_slist_push_allocator
  (c-name "g_slist_push_allocator")
  (return-type "none")
  (parameters
    '("GAllocator*" "allocator")
  )
)

(define-function g_slist_remove
  (c-name "g_slist_remove")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("gconstpointer" "data")
  )
)

(define-function g_slist_remove_all
  (c-name "g_slist_remove_all")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("gconstpointer" "data")
  )
)

(define-function g_slist_remove_link
  (c-name "g_slist_remove_link")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("GSList*" "link_")
  )
)

(define-function g_slist_reverse
  (c-name "g_slist_reverse")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
  )
)

(define-function g_slist_sort
  (c-name "g_slist_sort")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("GCompareFunc" "compare_func")
  )
)

(define-function g_slist_sort_with_data
  (c-name "g_slist_sort_with_data")
  (return-type "GSList*")
  (parameters
    '("GSList*" "list")
    '("GCompareDataFunc" "compare_func")
    '("gpointer" "user_data")
  )
)

(define-function g_scanner_new
  (c-name "g_scanner_new")
  (return-type "GScanner*")
  (parameters
    '("const-GScannerConfig*" "config_templ")
  )
)

(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 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 destroy
  (of-object "GScanner")
  (c-name "g_scanner_destroy")
  (return-type "none")
)

(define-method eof
  (of-object "GScanner")
  (c-name "g_scanner_eof")
  (return-type "gboolean")
)

(define-method error
  (of-object "GScanner")
  (c-name "g_scanner_error")
  (return-type "none")
  (parameters
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(define-method get_next_token
  (of-object "GScanner")
  (c-name "g_scanner_get_next_token")
  (return-type "GTokenType")
)

(define-method input_file
  (of-object "GScanner")
  (c-name "g_scanner_input_file")
  (return-type "none")
  (parameters
    '("gint" "input_fd")
  )
)

(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 lookup_symbol
  (of-object "GScanner")
  (c-name "g_scanner_lookup_symbol")
  (return-type "gpointer")
  (parameters
    '("const-gchar*" "symbol")
  )
)

(define-method peek_next_token
  (of-object "GScanner")
  (c-name "g_scanner_peek_next_token")
  (return-type "GTokenType")
)

(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_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 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_remove_symbol
  (of-object "GScanner")
  (c-name "g_scanner_scope_remove_symbol")
  (return-type "none")
  (parameters
    '("guint" "scope_id")
    '("const-gchar*" "symbol")
  )
)

(define-method set_scope
  (of-object "GScanner")
  (c-name "g_scanner_set_scope")
  (return-type "guint")
  (parameters
    '("guint" "scope_id")
  )
)

(define-method sync_file_offset
  (of-object "GScanner")
  (c-name "g_scanner_sync_file_offset")
  (return-type "none")
)

(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 warn
  (of-object "GScanner")
  (c-name "g_scanner_warn")
  (return-type "none")
  (parameters
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(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-function g_sequence_get
  (c-name "g_sequence_get")
  (return-type "gpointer")
  (parameters
    '("GSequenceIter*" "iter")
  )
)

(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_move_range
  (c-name "g_sequence_move_range")
  (return-type "none")
  (parameters
    '("GSequenceIter*" "dest")
    '("GSequenceIter*" "begin")
    '("GSequenceIter*" "end")
  )
)

(define-function g_sequence_new
  (c-name "g_sequence_new")
  (return-type "GSequence*")
  (parameters
    '("GDestroyNotify" "data_destroy")
  )
)

(define-function g_sequence_range_get_midpoint
  (c-name "g_sequence_range_get_midpoint")
  (return-type "GSequenceIter*")
  (parameters
    '("GSequenceIter*" "begin")
    '("GSequenceIter*" "end")
  )
)

(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_set
  (c-name "g_sequence_set")
  (return-type "none")
  (parameters
    '("GSequenceIter*" "iter")
    '("gpointer" "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_swap
  (c-name "g_sequence_swap")
  (return-type "none")
  (parameters
    '("GSequenceIter*" "a")
    '("GSequenceIter*" "b")
  )
)

(define-method append
  (of-object "GSequence")
  (c-name "g_sequence_append")
  (return-type "GSequenceIter*")
  (parameters
    '("gpointer" "data")
  )
)

(define-method foreach
  (of-object "GSequence")
  (c-name "g_sequence_foreach")
  (return-type "none")
  (parameters
    '("GFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-method free
  (of-object "GSequence")
  (c-name "g_sequence_free")
  (return-type "none")
)

(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 get_length
  (of-object "GSequence")
  (c-name "g_sequence_get_length")
  (return-type "gint")
)

(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-method is_empty
  (of-object "GSequence")
  (c-name "g_sequence_is_empty")
  (return-type "gboolean")
)

(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-method prepend
  (of-object "GSequence")
  (c-name "g_sequence_prepend")
  (return-type "GSequenceIter*")
  (parameters
    '("gpointer" "data")
  )
)

(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 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 compare
  (of-object "GSequenceIter")
  (c-name "g_sequence_iter_compare")
  (return-type "gint")
  (parameters
    '("GSequenceIter*" "b")
  )
)

(define-method get_position
  (of-object "GSequenceIter")
  (c-name "g_sequence_iter_get_position")
  (return-type "gint")
)

(define-method get_sequence
  (of-object "GSequenceIter")
  (c-name "g_sequence_iter_get_sequence")
  (return-type "GSequence*")
)

(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 move
  (of-object "GSequenceIter")
  (c-name "g_sequence_iter_move")
  (return-type "GSequenceIter*")
  (parameters
    '("gint" "delta")
  )
)

(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-function g_source_remove
  (c-name "g_source_remove")
  (return-type "gboolean")
  (parameters
    '("guint" "tag")
  )
)

(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_source_remove_by_user_data
  (c-name "g_source_remove_by_user_data")
  (return-type "gboolean")
  (parameters
    '("gpointer" "user_data")
  )
)

(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 add_child_source
  (of-object "GSource")
  (c-name "g_source_add_child_source")
  (return-type "none")
  (parameters
    '("GSource*" "child_source")
  )
)

(define-method add_poll
  (of-object "GSource")
  (c-name "g_source_add_poll")
  (return-type "none")
  (parameters
    '("GPollFD*" "fd")
  )
)

(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 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 dup_context
  (of-object "GSource")
  (c-name "g_source_dup_context")
  (return-type "GMainContext*")
)

(define-method get_can_recurse
  (of-object "GSource")
  (c-name "g_source_get_can_recurse")
  (return-type "gboolean")
)

(define-method get_context
  (of-object "GSource")
  (c-name "g_source_get_context")
  (return-type "GMainContext*")
)

(define-method get_current_time
  (of-object "GSource")
  (c-name "g_source_get_current_time")
  (return-type "none")
  (parameters
    '("GTimeVal*" "timeval")
  )
)

(define-method get_id
  (of-object "GSource")
  (c-name "g_source_get_id")
  (return-type "guint")
)

(define-method get_name
  (of-object "GSource")
  (c-name "g_source_get_name")
  (return-type "const-char*")
)

(define-method get_priority
  (of-object "GSource")
  (c-name "g_source_get_priority")
  (return-type "gint")
)

(define-method get_ready_time
  (of-object "GSource")
  (c-name "g_source_get_ready_time")
  (return-type "gint64")
)

(define-method get_time
  (of-object "GSource")
  (c-name "g_source_get_time")
  (return-type "gint64")
)

(define-method is_destroyed
  (of-object "GSource")
  (c-name "g_source_is_destroyed")
  (return-type "gboolean")
)

(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 query_unix_fd
  (of-object "GSource")
  (c-name "g_source_query_unix_fd")
  (return-type "GIOCondition")
  (parameters
    '("gpointer" "tag")
  )
)

(define-method ref
  (of-object "GSource")
  (c-name "g_source_ref")
  (return-type "GSource*")
)

(define-method remove_child_source
  (of-object "GSource")
  (c-name "g_source_remove_child_source")
  (return-type "none")
  (parameters
    '("GSource*" "child_source")
  )
)

(define-method remove_poll
  (of-object "GSource")
  (c-name "g_source_remove_poll")
  (return-type "none")
  (parameters
    '("GPollFD*" "fd")
  )
)

(define-method remove_unix_fd
  (of-object "GSource")
  (c-name "g_source_remove_unix_fd")
  (return-type "none")
  (parameters
    '("gpointer" "tag")
  )
)

(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_callback_indirect
  (of-object "GSource")
  (c-name "g_source_set_callback_indirect")
  (return-type "none")
  (parameters
    '("gpointer" "callback_data")
    '("GSourceCallbackFuncs*" "callback_funcs")
  )
)

(define-method set_can_recurse
  (of-object "GSource")
  (c-name "g_source_set_can_recurse")
  (return-type "none")
  (parameters
    '("gboolean" "can_recurse")
  )
)

(define-method set_dispose_function
  (of-object "GSource")
  (c-name "g_source_set_dispose_function")
  (return-type "none")
  (parameters
    '("GSourceDisposeFunc" "dispose")
  )
)

(define-method set_funcs
  (of-object "GSource")
  (c-name "g_source_set_funcs")
  (return-type "none")
  (parameters
    '("GSourceFuncs*" "funcs")
  )
)

(define-method set_name
  (of-object "GSource")
  (c-name "g_source_set_name")
  (return-type "none")
  (parameters
    '("const-char*" "name")
  )
)

(define-method set_priority
  (of-object "GSource")
  (c-name "g_source_set_priority")
  (return-type "none")
  (parameters
    '("gint" "priority")
  )
)

(define-method set_ready_time
  (of-object "GSource")
  (c-name "g_source_set_ready_time")
  (return-type "none")
  (parameters
    '("gint64" "ready_time")
  )
)

(define-method set_static_name
  (of-object "GSource")
  (c-name "g_source_set_static_name")
  (return-type "none")
  (parameters
    '("const-char*" "name")
  )
)

(define-method unref
  (of-object "GSource")
  (c-name "g_source_unref")
  (return-type "none")
)

(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 free
  (of-object "GStaticMutex")
  (c-name "g_static_mutex_free")
  (return-type "none")
)

(define-method get_mutex_impl
  (of-object "GStaticMutex")
  (c-name "g_static_mutex_get_mutex_impl")
  (return-type "GMutex*")
)

(define-method init
  (of-object "GStaticMutex")
  (c-name "g_static_mutex_init")
  (return-type "none")
)

(define-method free
  (of-object "GStaticPrivate")
  (c-name "g_static_private_free")
  (return-type "none")
)

(define-method get
  (of-object "GStaticPrivate")
  (c-name "g_static_private_get")
  (return-type "gpointer")
)

(define-method init
  (of-object "GStaticPrivate")
  (c-name "g_static_private_init")
  (return-type "none")
)

(define-method set
  (of-object "GStaticPrivate")
  (c-name "g_static_private_set")
  (return-type "none")
  (parameters
    '("gpointer" "data")
    '("GDestroyNotify" "notify")
  )
)

(define-method free
  (of-object "GStaticRWLock")
  (c-name "g_static_rw_lock_free")
  (return-type "none")
)

(define-method init
  (of-object "GStaticRWLock")
  (c-name "g_static_rw_lock_init")
  (return-type "none")
)

(define-method reader_lock
  (of-object "GStaticRWLock")
  (c-name "g_static_rw_lock_reader_lock")
  (return-type "none")
)

(define-method reader_trylock
  (of-object "GStaticRWLock")
  (c-name "g_static_rw_lock_reader_trylock")
  (return-type "gboolean")
)

(define-method reader_unlock
  (of-object "GStaticRWLock")
  (c-name "g_static_rw_lock_reader_unlock")
  (return-type "none")
)

(define-method writer_lock
  (of-object "GStaticRWLock")
  (c-name "g_static_rw_lock_writer_lock")
  (return-type "none")
)

(define-method writer_trylock
  (of-object "GStaticRWLock")
  (c-name "g_static_rw_lock_writer_trylock")
  (return-type "gboolean")
)

(define-method writer_unlock
  (of-object "GStaticRWLock")
  (c-name "g_static_rw_lock_writer_unlock")
  (return-type "none")
)

(define-method free
  (of-object "GStaticRecMutex")
  (c-name "g_static_rec_mutex_free")
  (return-type "none")
)

(define-method init
  (of-object "GStaticRecMutex")
  (c-name "g_static_rec_mutex_init")
  (return-type "none")
)

(define-method lock
  (of-object "GStaticRecMutex")
  (c-name "g_static_rec_mutex_lock")
  (return-type "none")
)

(define-method lock_full
  (of-object "GStaticRecMutex")
  (c-name "g_static_rec_mutex_lock_full")
  (return-type "none")
  (parameters
    '("guint" "depth")
  )
)

(define-method trylock
  (of-object "GStaticRecMutex")
  (c-name "g_static_rec_mutex_trylock")
  (return-type "gboolean")
)

(define-method unlock
  (of-object "GStaticRecMutex")
  (c-name "g_static_rec_mutex_unlock")
  (return-type "none")
)

(define-method unlock_full
  (of-object "GStaticRecMutex")
  (c-name "g_static_rec_mutex_unlock_full")
  (return-type "guint")
)

(define-method append
  (of-object "GString")
  (c-name "g_string_append")
  (return-type "GString*")
  (parameters
    '("const-gchar*" "val")
  )
)

(define-method append_c
  (of-object "GString")
  (c-name "g_string_append_c")
  (return-type "GString*")
  (parameters
    '("gchar" "c")
  )
)

(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_printf
  (of-object "GString")
  (c-name "g_string_append_printf")
  (return-type "none")
  (parameters
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(define-method append_unichar
  (of-object "GString")
  (c-name "g_string_append_unichar")
  (return-type "GString*")
  (parameters
    '("gunichar" "wc")
  )
)

(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_vprintf
  (of-object "GString")
  (c-name "g_string_append_vprintf")
  (return-type "none")
  (parameters
    '("const-gchar*" "format")
    '("va_list" "args")
  )
)

(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 assign
  (of-object "GString")
  (c-name "g_string_assign")
  (return-type "GString*")
  (parameters
    '("const-gchar*" "rval")
  )
)

(define-method copy
  (of-object "GString")
  (c-name "g_string_copy")
  (return-type "GString*")
)

(define-method down
  (of-object "GString")
  (c-name "g_string_down")
  (return-type "GString*")
)

(define-method equal
  (of-object "GString")
  (c-name "g_string_equal")
  (return-type "gboolean")
  (parameters
    '("const-GString*" "v2")
  )
)

(define-method erase
  (of-object "GString")
  (c-name "g_string_erase")
  (return-type "GString*")
  (parameters
    '("gssize" "pos")
    '("gssize" "len")
  )
)

(define-method free
  (of-object "GString")
  (c-name "g_string_free")
  (return-type "gchar*")
  (parameters
    '("gboolean" "free_segment")
  )
)

(define-method free_and_steal
  (of-object "GString")
  (c-name "g_string_free_and_steal")
  (return-type "gchar*")
)

(define-method free_to_bytes
  (of-object "GString")
  (c-name "g_string_free_to_bytes")
  (return-type "GBytes*")
)

(define-method hash
  (of-object "GString")
  (c-name "g_string_hash")
  (return-type "guint")
)

(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_len
  (of-object "GString")
  (c-name "g_string_insert_len")
  (return-type "GString*")
  (parameters
    '("gssize" "pos")
    '("const-gchar*" "val")
    '("gssize" "len")
  )
)

(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 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_len
  (of-object "GString")
  (c-name "g_string_prepend_len")
  (return-type "GString*")
  (parameters
    '("const-gchar*" "val")
    '("gssize" "len")
  )
)

(define-method prepend_unichar
  (of-object "GString")
  (c-name "g_string_prepend_unichar")
  (return-type "GString*")
  (parameters
    '("gunichar" "wc")
  )
)

(define-method printf
  (of-object "GString")
  (c-name "g_string_printf")
  (return-type "none")
  (parameters
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(define-method replace
  (of-object "GString")
  (c-name "g_string_replace")
  (return-type "guint")
  (parameters
    '("const-gchar*" "find")
    '("const-gchar*" "replace")
    '("guint" "limit")
  )
)

(define-method set_size
  (of-object "GString")
  (c-name "g_string_set_size")
  (return-type "GString*")
  (parameters
    '("gsize" "len")
  )
)

(define-method truncate
  (of-object "GString")
  (c-name "g_string_truncate")
  (return-type "GString*")
  (parameters
    '("gsize" "len")
  )
)

(define-method up
  (of-object "GString")
  (c-name "g_string_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-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")
  (is-constructor-of "GString")
  (return-type "GString*")
  (parameters
    '("const-gchar*" "init")
    '("gssize" "len")
  )
)

(define-function g_string_new_take
  (c-name "g_string_new_take")
  (is-constructor-of "GString")
  (return-type "GString*")
  (parameters
    '("gchar*" "init")
  )
)

(define-function g_string_sized_new
  (c-name "g_string_sized_new")
  (is-constructor-of "GString")
  (return-type "GString*")
  (parameters
    '("gsize" "dfl_size")
  )
)

(define-function g_string_chunk_new
  (c-name "g_string_chunk_new")
  (return-type "GStringChunk*")
  (parameters
    '("gsize" "size")
  )
)

(define-method clear
  (of-object "GStringChunk")
  (c-name "g_string_chunk_clear")
  (return-type "none")
)

(define-method free
  (of-object "GStringChunk")
  (c-name "g_string_chunk_free")
  (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_const
  (of-object "GStringChunk")
  (c-name "g_string_chunk_insert_const")
  (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")
  )
)

(define-method add
  (of-object "GStrvBuilder")
  (c-name "g_strv_builder_add")
  (return-type "none")
  (parameters
    '("const-char*" "value")
  )
)

(define-method add_many
  (of-object "GStrvBuilder")
  (c-name "g_strv_builder_add_many")
  (return-type "none")
  (parameters
  )
  (varargs #t)
)

(define-method addv
  (of-object "GStrvBuilder")
  (c-name "g_strv_builder_addv")
  (return-type "none")
  (parameters
    '("const-char**" "value")
  )
)

(define-method end
  (of-object "GStrvBuilder")
  (c-name "g_strv_builder_end")
  (return-type "GStrv")
)

(define-method ref
  (of-object "GStrvBuilder")
  (c-name "g_strv_builder_ref")
  (return-type "GStrvBuilder*")
)

(define-method take
  (of-object "GStrvBuilder")
  (c-name "g_strv_builder_take")
  (return-type "none")
  (parameters
    '("char*" "value")
  )
)

(define-method unref
  (of-object "GStrvBuilder")
  (c-name "g_strv_builder_unref")
  (return-type "none")
)

(define-method unref_to_strv
  (of-object "GStrvBuilder")
  (c-name "g_strv_builder_unref_to_strv")
  (return-type "GStrv")
)

(define-function g_strv_builder_new
  (c-name "g_strv_builder_new")
  (is-constructor-of "GStrvBuilder")
  (return-type "GStrvBuilder*")
)

(define-method free
  (of-object "GTestCase")
  (c-name "g_test_case_free")
  (return-type "none")
)

(define-function g_test_log_buffer_new
  (c-name "g_test_log_buffer_new")
  (return-type "GTestLogBuffer*")
)

(define-method free
  (of-object "GTestLogBuffer")
  (c-name "g_test_log_buffer_free")
  (return-type "none")
)

(define-method pop
  (of-object "GTestLogBuffer")
  (c-name "g_test_log_buffer_pop")
  (return-type "GTestLogMsg*")
)

(define-method push
  (of-object "GTestLogBuffer")
  (c-name "g_test_log_buffer_push")
  (return-type "none")
  (parameters
    '("guint" "n_bytes")
    '("const-guint8*" "bytes")
  )
)

(define-method free
  (of-object "GTestLogMsg")
  (c-name "g_test_log_msg_free")
  (return-type "none")
)

(define-method add
  (of-object "GTestSuite")
  (c-name "g_test_suite_add")
  (return-type "none")
  (parameters
    '("GTestCase*" "test_case")
  )
)

(define-method add_suite
  (of-object "GTestSuite")
  (c-name "g_test_suite_add_suite")
  (return-type "none")
  (parameters
    '("GTestSuite*" "nestedsuite")
  )
)

(define-method free
  (of-object "GTestSuite")
  (c-name "g_test_suite_free")
  (return-type "none")
)

(define-function g_thread_create
  (c-name "g_thread_create")
  (return-type "GThread*")
  (parameters
    '("GThreadFunc" "func")
    '("gpointer" "data")
    '("gboolean" "joinable")
    '("GError**" "error")
  )
)

(define-function g_thread_create_full
  (c-name "g_thread_create_full")
  (return-type "GThread*")
  (parameters
    '("GThreadFunc" "func")
    '("gpointer" "data")
    '("gulong" "stack_size")
    '("gboolean" "joinable")
    '("gboolean" "bound")
    '("GThreadPriority" "priority")
    '("GError**" "error")
  )
)

(define-function g_thread_error_quark
  (c-name "g_thread_error_quark")
  (return-type "GQuark")
)

(define-function g_thread_exit
  (c-name "g_thread_exit")
  (return-type "none")
  (parameters
    '("gpointer" "retval")
  )
)

(define-function g_thread_foreach
  (c-name "g_thread_foreach")
  (return-type "none")
  (parameters
    '("GFunc" "thread_func")
    '("gpointer" "user_data")
  )
)

(define-function g_thread_get_initialized
  (c-name "g_thread_get_initialized")
  (return-type "gboolean")
)

(define-function g_thread_init
  (c-name "g_thread_init")
  (return-type "none")
  (parameters
    '("gpointer" "vtable")
  )
)

(define-function g_thread_init_with_errorcheck_mutexes
  (c-name "g_thread_init_with_errorcheck_mutexes")
  (return-type "none")
  (parameters
    '("gpointer" "vtable")
  )
)

(define-function g_thread_self
  (c-name "g_thread_self")
  (return-type "GThread*")
)

(define-function g_thread_yield
  (c-name "g_thread_yield")
  (return-type "none")
)

(define-method get_name
  (of-object "GThread")
  (c-name "g_thread_get_name")
  (return-type "const-char*")
)

(define-method join
  (of-object "GThread")
  (c-name "g_thread_join")
  (return-type "gpointer")
)

(define-method ref
  (of-object "GThread")
  (c-name "g_thread_ref")
  (return-type "GThread*")
)

(define-method set_priority
  (of-object "GThread")
  (c-name "g_thread_set_priority")
  (return-type "none")
  (parameters
    '("GThreadPriority" "priority")
  )
)

(define-method unref
  (of-object "GThread")
  (c-name "g_thread_unref")
  (return-type "none")
)

(define-function g_thread_new
  (c-name "g_thread_new")
  (is-constructor-of "GThread")
  (return-type "GThread*")
  (parameters
    '("const-gchar*" "name")
    '("GThreadFunc" "func")
    '("gpointer" "data")
  )
)

(define-function g_thread_try_new
  (c-name "g_thread_try_new")
  (is-constructor-of "GThread")
  (return-type "GThread*")
  (parameters
    '("const-gchar*" "name")
    '("GThreadFunc" "func")
    '("gpointer" "data")
    '("GError**" "error")
  )
)

(define-function g_thread_pool_get_max_idle_time
  (c-name "g_thread_pool_get_max_idle_time")
  (return-type "guint")
)

(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-function g_thread_pool_new
  (c-name "g_thread_pool_new")
  (return-type "GThreadPool*")
  (parameters
    '("GFunc" "func")
    '("gpointer" "user_data")
    '("gint" "max_threads")
    '("gboolean" "exclusive")
    '("GError**" "error")
  )
)

(define-function g_thread_pool_new_full
  (c-name "g_thread_pool_new_full")
  (return-type "GThreadPool*")
  (parameters
    '("GFunc" "func")
    '("gpointer" "user_data")
    '("GDestroyNotify" "item_free_func")
    '("gint" "max_threads")
    '("gboolean" "exclusive")
    '("GError**" "error")
  )
)

(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-function g_thread_pool_set_max_unused_threads
  (c-name "g_thread_pool_set_max_unused_threads")
  (return-type "none")
  (parameters
    '("gint" "max_threads")
  )
)

(define-function g_thread_pool_stop_unused_threads
  (c-name "g_thread_pool_stop_unused_threads")
  (return-type "none")
)

(define-method free
  (of-object "GThreadPool")
  (c-name "g_thread_pool_free")
  (return-type "none")
  (parameters
    '("gboolean" "immediate")
    '("gboolean" "wait_")
  )
)

(define-method get_max_threads
  (of-object "GThreadPool")
  (c-name "g_thread_pool_get_max_threads")
  (return-type "gint")
)

(define-method get_num_threads
  (of-object "GThreadPool")
  (c-name "g_thread_pool_get_num_threads")
  (return-type "guint")
)

(define-method move_to_front
  (of-object "GThreadPool")
  (c-name "g_thread_pool_move_to_front")
  (return-type "gboolean")
  (parameters
    '("gpointer" "data")
  )
)

(define-method push
  (of-object "GThreadPool")
  (c-name "g_thread_pool_push")
  (return-type "gboolean")
  (parameters
    '("gpointer" "data")
    '("GError**" "error")
  )
)

(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")
  )
)

(define-method set_sort_function
  (of-object "GThreadPool")
  (c-name "g_thread_pool_set_sort_function")
  (return-type "none")
  (parameters
    '("GCompareDataFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-method unprocessed
  (of-object "GThreadPool")
  (c-name "g_thread_pool_unprocessed")
  (return-type "guint")
)

(define-function g_time_val_from_iso8601
  (c-name "g_time_val_from_iso8601")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "iso_date")
    '("GTimeVal*" "time_")
  )
)

(define-method add
  (of-object "GTimeVal")
  (c-name "g_time_val_add")
  (return-type "none")
  (parameters
    '("glong" "microseconds")
  )
)

(define-method to_iso8601
  (of-object "GTimeVal")
  (c-name "g_time_val_to_iso8601")
  (return-type "gchar*")
)

(define-method adjust_time
  (of-object "GTimeZone")
  (c-name "g_time_zone_adjust_time")
  (return-type "gint")
  (parameters
    '("GTimeType" "type")
    '("gint64*" "time_")
  )
)

(define-method find_interval
  (of-object "GTimeZone")
  (c-name "g_time_zone_find_interval")
  (return-type "gint")
  (parameters
    '("GTimeType" "type")
    '("gint64" "time_")
  )
)

(define-method get_abbreviation
  (of-object "GTimeZone")
  (c-name "g_time_zone_get_abbreviation")
  (return-type "const-gchar*")
  (parameters
    '("gint" "interval")
  )
)

(define-method get_identifier
  (of-object "GTimeZone")
  (c-name "g_time_zone_get_identifier")
  (return-type "const-gchar*")
)

(define-method get_offset
  (of-object "GTimeZone")
  (c-name "g_time_zone_get_offset")
  (return-type "gint32")
  (parameters
    '("gint" "interval")
  )
)

(define-method is_dst
  (of-object "GTimeZone")
  (c-name "g_time_zone_is_dst")
  (return-type "gboolean")
  (parameters
    '("gint" "interval")
  )
)

(define-method ref
  (of-object "GTimeZone")
  (c-name "g_time_zone_ref")
  (return-type "GTimeZone*")
)

(define-method unref
  (of-object "GTimeZone")
  (c-name "g_time_zone_unref")
  (return-type "none")
)

(define-function g_time_zone_new
  (c-name "g_time_zone_new")
  (is-constructor-of "GTimeZone")
  (return-type "GTimeZone*")
  (parameters
    '("const-gchar*" "identifier")
  )
)

(define-function g_time_zone_new_identifier
  (c-name "g_time_zone_new_identifier")
  (is-constructor-of "GTimeZone")
  (return-type "GTimeZone*")
  (parameters
    '("const-gchar*" "identifier")
  )
)

(define-function g_time_zone_new_local
  (c-name "g_time_zone_new_local")
  (is-constructor-of "GTimeZone")
  (return-type "GTimeZone*")
)

(define-function g_time_zone_new_offset
  (c-name "g_time_zone_new_offset")
  (is-constructor-of "GTimeZone")
  (return-type "GTimeZone*")
  (parameters
    '("gint32" "seconds")
  )
)

(define-function g_time_zone_new_utc
  (c-name "g_time_zone_new_utc")
  (is-constructor-of "GTimeZone")
  (return-type "GTimeZone*")
)

(define-function g_timer_new
  (c-name "g_timer_new")
  (return-type "GTimer*")
)

(define-method continue
  (of-object "GTimer")
  (c-name "g_timer_continue")
  (return-type "none")
)

(define-method destroy
  (of-object "GTimer")
  (c-name "g_timer_destroy")
  (return-type "none")
)

(define-method elapsed
  (of-object "GTimer")
  (c-name "g_timer_elapsed")
  (return-type "gdouble")
  (parameters
    '("gulong*" "microseconds")
  )
)

(define-method is_active
  (of-object "GTimer")
  (c-name "g_timer_is_active")
  (return-type "gboolean")
)

(define-method reset
  (of-object "GTimer")
  (c-name "g_timer_reset")
  (return-type "none")
)

(define-method start
  (of-object "GTimer")
  (c-name "g_timer_start")
  (return-type "none")
)

(define-method stop
  (of-object "GTimer")
  (c-name "g_timer_stop")
  (return-type "none")
)

(define-function g_trash_stack_height
  (c-name "g_trash_stack_height")
  (return-type "guint")
  (parameters
    '("GTrashStack**" "stack_p")
  )
)

(define-function g_trash_stack_peek
  (c-name "g_trash_stack_peek")
  (return-type "gpointer")
  (parameters
    '("GTrashStack**" "stack_p")
  )
)

(define-function g_trash_stack_pop
  (c-name "g_trash_stack_pop")
  (return-type "gpointer")
  (parameters
    '("GTrashStack**" "stack_p")
  )
)

(define-function g_trash_stack_push
  (c-name "g_trash_stack_push")
  (return-type "none")
  (parameters
    '("GTrashStack**" "stack_p")
    '("gpointer" "data_p")
  )
)

(define-method destroy
  (of-object "GTree")
  (c-name "g_tree_destroy")
  (return-type "none")
)

(define-method foreach
  (of-object "GTree")
  (c-name "g_tree_foreach")
  (return-type "none")
  (parameters
    '("GTraverseFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-method foreach_node
  (of-object "GTree")
  (c-name "g_tree_foreach_node")
  (return-type "none")
  (parameters
    '("GTraverseNodeFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-method height
  (of-object "GTree")
  (c-name "g_tree_height")
  (return-type "gint")
)

(define-method insert
  (of-object "GTree")
  (c-name "g_tree_insert")
  (return-type "none")
  (parameters
    '("gpointer" "key")
    '("gpointer" "value")
  )
)

(define-method insert_node
  (of-object "GTree")
  (c-name "g_tree_insert_node")
  (return-type "GTreeNode*")
  (parameters
    '("gpointer" "key")
    '("gpointer" "value")
  )
)

(define-method lookup
  (of-object "GTree")
  (c-name "g_tree_lookup")
  (return-type "gpointer")
  (parameters
    '("gconstpointer" "key")
  )
)

(define-method lookup_extended
  (of-object "GTree")
  (c-name "g_tree_lookup_extended")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "lookup_key")
    '("gpointer*" "orig_key")
    '("gpointer*" "value")
  )
)

(define-method lookup_node
  (of-object "GTree")
  (c-name "g_tree_lookup_node")
  (return-type "GTreeNode*")
  (parameters
    '("gconstpointer" "key")
  )
)

(define-method lower_bound
  (of-object "GTree")
  (c-name "g_tree_lower_bound")
  (return-type "GTreeNode*")
  (parameters
    '("gconstpointer" "key")
  )
)

(define-method nnodes
  (of-object "GTree")
  (c-name "g_tree_nnodes")
  (return-type "gint")
)

(define-method node_first
  (of-object "GTree")
  (c-name "g_tree_node_first")
  (return-type "GTreeNode*")
)

(define-method node_last
  (of-object "GTree")
  (c-name "g_tree_node_last")
  (return-type "GTreeNode*")
)

(define-method ref
  (of-object "GTree")
  (c-name "g_tree_ref")
  (return-type "GTree*")
)

(define-method remove
  (of-object "GTree")
  (c-name "g_tree_remove")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "key")
  )
)

(define-method remove_all
  (of-object "GTree")
  (c-name "g_tree_remove_all")
  (return-type "none")
)

(define-method replace
  (of-object "GTree")
  (c-name "g_tree_replace")
  (return-type "none")
  (parameters
    '("gpointer" "key")
    '("gpointer" "value")
  )
)

(define-method replace_node
  (of-object "GTree")
  (c-name "g_tree_replace_node")
  (return-type "GTreeNode*")
  (parameters
    '("gpointer" "key")
    '("gpointer" "value")
  )
)

(define-method search
  (of-object "GTree")
  (c-name "g_tree_search")
  (return-type "gpointer")
  (parameters
    '("GCompareFunc" "search_func")
    '("gconstpointer" "user_data")
  )
)

(define-method search_node
  (of-object "GTree")
  (c-name "g_tree_search_node")
  (return-type "GTreeNode*")
  (parameters
    '("GCompareFunc" "search_func")
    '("gconstpointer" "user_data")
  )
)

(define-method steal
  (of-object "GTree")
  (c-name "g_tree_steal")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "key")
  )
)

(define-method traverse
  (of-object "GTree")
  (c-name "g_tree_traverse")
  (return-type "none")
  (parameters
    '("GTraverseFunc" "traverse_func")
    '("GTraverseType" "traverse_type")
    '("gpointer" "user_data")
  )
)

(define-method unref
  (of-object "GTree")
  (c-name "g_tree_unref")
  (return-type "none")
)

(define-method upper_bound
  (of-object "GTree")
  (c-name "g_tree_upper_bound")
  (return-type "GTreeNode*")
  (parameters
    '("gconstpointer" "key")
  )
)

(define-function g_tree_new
  (c-name "g_tree_new")
  (is-constructor-of "GTree")
  (return-type "GTree*")
  (parameters
    '("GCompareFunc" "key_compare_func")
  )
)

(define-function g_tree_new_full
  (c-name "g_tree_new_full")
  (is-constructor-of "GTree")
  (return-type "GTree*")
  (parameters
    '("GCompareDataFunc" "key_compare_func")
    '("gpointer" "key_compare_data")
    '("GDestroyNotify" "key_destroy_func")
    '("GDestroyNotify" "value_destroy_func")
  )
)

(define-function g_tree_new_with_data
  (c-name "g_tree_new_with_data")
  (is-constructor-of "GTree")
  (return-type "GTree*")
  (parameters
    '("GCompareDataFunc" "key_compare_func")
    '("gpointer" "key_compare_data")
  )
)

(define-method key
  (of-object "GTreeNode")
  (c-name "g_tree_node_key")
  (return-type "gpointer")
)

(define-method next
  (of-object "GTreeNode")
  (c-name "g_tree_node_next")
  (return-type "GTreeNode*")
)

(define-method previous
  (of-object "GTreeNode")
  (c-name "g_tree_node_previous")
  (return-type "GTreeNode*")
)

(define-method value
  (of-object "GTreeNode")
  (c-name "g_tree_node_value")
  (return-type "gpointer")
)

(define-method destroy
  (of-object "GTuples")
  (c-name "g_tuples_destroy")
  (return-type "none")
)

(define-method index
  (of-object "GTuples")
  (c-name "g_tuples_index")
  (return-type "gpointer")
  (parameters
    '("gint" "index_")
    '("gint" "field")
  )
)

(define-function g_uri_build
  (c-name "g_uri_build")
  (return-type "GUri*")
  (parameters
    '("GUriFlags" "flags")
    '("const-gchar*" "scheme")
    '("const-gchar*" "userinfo")
    '("const-gchar*" "host")
    '("gint" "port")
    '("const-gchar*" "path")
    '("const-gchar*" "query")
    '("const-gchar*" "fragment")
  )
)

(define-function g_uri_build_with_user
  (c-name "g_uri_build_with_user")
  (return-type "GUri*")
  (parameters
    '("GUriFlags" "flags")
    '("const-gchar*" "scheme")
    '("const-gchar*" "user")
    '("const-gchar*" "password")
    '("const-gchar*" "auth_params")
    '("const-gchar*" "host")
    '("gint" "port")
    '("const-gchar*" "path")
    '("const-gchar*" "query")
    '("const-gchar*" "fragment")
  )
)

(define-function g_uri_error_quark
  (c-name "g_uri_error_quark")
  (return-type "GQuark")
)

(define-function g_uri_escape_bytes
  (c-name "g_uri_escape_bytes")
  (return-type "char*")
  (parameters
    '("const-guint8*" "unescaped")
    '("gsize" "length")
    '("const-char*" "reserved_chars_allowed")
  )
)

(define-function g_uri_escape_string
  (c-name "g_uri_escape_string")
  (return-type "char*")
  (parameters
    '("const-char*" "unescaped")
    '("const-char*" "reserved_chars_allowed")
    '("gboolean" "allow_utf8")
  )
)

(define-function g_uri_is_valid
  (c-name "g_uri_is_valid")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri_string")
    '("GUriFlags" "flags")
    '("GError**" "error")
  )
)

(define-function g_uri_join
  (c-name "g_uri_join")
  (return-type "gchar*")
  (parameters
    '("GUriFlags" "flags")
    '("const-gchar*" "scheme")
    '("const-gchar*" "userinfo")
    '("const-gchar*" "host")
    '("gint" "port")
    '("const-gchar*" "path")
    '("const-gchar*" "query")
    '("const-gchar*" "fragment")
  )
)

(define-function g_uri_join_with_user
  (c-name "g_uri_join_with_user")
  (return-type "gchar*")
  (parameters
    '("GUriFlags" "flags")
    '("const-gchar*" "scheme")
    '("const-gchar*" "user")
    '("const-gchar*" "password")
    '("const-gchar*" "auth_params")
    '("const-gchar*" "host")
    '("gint" "port")
    '("const-gchar*" "path")
    '("const-gchar*" "query")
    '("const-gchar*" "fragment")
  )
)

(define-function g_uri_list_extract_uris
  (c-name "g_uri_list_extract_uris")
  (return-type "gchar**")
  (parameters
    '("const-gchar*" "uri_list")
  )
)

(define-function g_uri_parse
  (c-name "g_uri_parse")
  (return-type "GUri*")
  (parameters
    '("const-gchar*" "uri_string")
    '("GUriFlags" "flags")
    '("GError**" "error")
  )
)

(define-function g_uri_parse_params
  (c-name "g_uri_parse_params")
  (return-type "GHashTable*")
  (parameters
    '("const-gchar*" "params")
    '("gssize" "length")
    '("const-gchar*" "separators")
    '("GUriParamsFlags" "flags")
    '("GError**" "error")
  )
)

(define-function g_uri_parse_scheme
  (c-name "g_uri_parse_scheme")
  (return-type "char*")
  (parameters
    '("const-char*" "uri")
  )
)

(define-function g_uri_peek_scheme
  (c-name "g_uri_peek_scheme")
  (return-type "const-char*")
  (parameters
    '("const-char*" "uri")
  )
)

(define-function g_uri_resolve_relative
  (c-name "g_uri_resolve_relative")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "base_uri_string")
    '("const-gchar*" "uri_ref")
    '("GUriFlags" "flags")
    '("GError**" "error")
  )
)

(define-function g_uri_split
  (c-name "g_uri_split")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri_ref")
    '("GUriFlags" "flags")
    '("gchar**" "scheme")
    '("gchar**" "userinfo")
    '("gchar**" "host")
    '("gint*" "port")
    '("gchar**" "path")
    '("gchar**" "query")
    '("gchar**" "fragment")
    '("GError**" "error")
  )
)

(define-function g_uri_split_network
  (c-name "g_uri_split_network")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri_string")
    '("GUriFlags" "flags")
    '("gchar**" "scheme")
    '("gchar**" "host")
    '("gint*" "port")
    '("GError**" "error")
  )
)

(define-function g_uri_split_with_user
  (c-name "g_uri_split_with_user")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri_ref")
    '("GUriFlags" "flags")
    '("gchar**" "scheme")
    '("gchar**" "user")
    '("gchar**" "password")
    '("gchar**" "auth_params")
    '("gchar**" "host")
    '("gint*" "port")
    '("gchar**" "path")
    '("gchar**" "query")
    '("gchar**" "fragment")
    '("GError**" "error")
  )
)

(define-function g_uri_unescape_bytes
  (c-name "g_uri_unescape_bytes")
  (return-type "GBytes*")
  (parameters
    '("const-char*" "escaped_string")
    '("gssize" "length")
    '("const-char*" "illegal_characters")
    '("GError**" "error")
  )
)

(define-function g_uri_unescape_segment
  (c-name "g_uri_unescape_segment")
  (return-type "char*")
  (parameters
    '("const-char*" "escaped_string")
    '("const-char*" "escaped_string_end")
    '("const-char*" "illegal_characters")
  )
)

(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-method get_auth_params
  (of-object "GUri")
  (c-name "g_uri_get_auth_params")
  (return-type "const-gchar*")
)

(define-method get_flags
  (of-object "GUri")
  (c-name "g_uri_get_flags")
  (return-type "GUriFlags")
)

(define-method get_fragment
  (of-object "GUri")
  (c-name "g_uri_get_fragment")
  (return-type "const-gchar*")
)

(define-method get_host
  (of-object "GUri")
  (c-name "g_uri_get_host")
  (return-type "const-gchar*")
)

(define-method get_password
  (of-object "GUri")
  (c-name "g_uri_get_password")
  (return-type "const-gchar*")
)

(define-method get_path
  (of-object "GUri")
  (c-name "g_uri_get_path")
  (return-type "const-gchar*")
)

(define-method get_port
  (of-object "GUri")
  (c-name "g_uri_get_port")
  (return-type "gint")
)

(define-method get_query
  (of-object "GUri")
  (c-name "g_uri_get_query")
  (return-type "const-gchar*")
)

(define-method get_scheme
  (of-object "GUri")
  (c-name "g_uri_get_scheme")
  (return-type "const-gchar*")
)

(define-method get_user
  (of-object "GUri")
  (c-name "g_uri_get_user")
  (return-type "const-gchar*")
)

(define-method get_userinfo
  (of-object "GUri")
  (c-name "g_uri_get_userinfo")
  (return-type "const-gchar*")
)

(define-method parse_relative
  (of-object "GUri")
  (c-name "g_uri_parse_relative")
  (return-type "GUri*")
  (parameters
    '("const-gchar*" "uri_ref")
    '("GUriFlags" "flags")
    '("GError**" "error")
  )
)

(define-method ref
  (of-object "GUri")
  (c-name "g_uri_ref")
  (return-type "GUri*")
)

(define-method to_string
  (of-object "GUri")
  (c-name "g_uri_to_string")
  (return-type "char*")
)

(define-method to_string_partial
  (of-object "GUri")
  (c-name "g_uri_to_string_partial")
  (return-type "char*")
  (parameters
    '("GUriHideFlags" "flags")
  )
)

(define-method unref
  (of-object "GUri")
  (c-name "g_uri_unref")
  (return-type "none")
)

(define-method init
  (of-object "GUriParamsIter")
  (c-name "g_uri_params_iter_init")
  (return-type "none")
  (parameters
    '("const-gchar*" "params")
    '("gssize" "length")
    '("const-gchar*" "separators")
    '("GUriParamsFlags" "flags")
  )
)

(define-method next
  (of-object "GUriParamsIter")
  (c-name "g_uri_params_iter_next")
  (return-type "gboolean")
  (parameters
    '("gchar**" "attribute")
    '("gchar**" "value")
    '("GError**" "error")
  )
)

(define-function g_variant_is_object_path
  (c-name "g_variant_is_object_path")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "string")
  )
)

(define-function g_variant_is_signature
  (c-name "g_variant_is_signature")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "string")
  )
)

(define-function g_variant_parse
  (c-name "g_variant_parse")
  (return-type "GVariant*")
  (parameters
    '("const-GVariantType*" "type")
    '("const-gchar*" "text")
    '("const-gchar*" "limit")
    '("const-gchar**" "endptr")
    '("GError**" "error")
  )
)

(define-function g_variant_parse_error_print_context
  (c-name "g_variant_parse_error_print_context")
  (return-type "gchar*")
  (parameters
    '("GError*" "error")
    '("const-gchar*" "source_str")
  )
)

(define-function g_variant_parse_error_quark
  (c-name "g_variant_parse_error_quark")
  (return-type "GQuark")
)

(define-function g_variant_parser_get_error_quark
  (c-name "g_variant_parser_get_error_quark")
  (return-type "GQuark")
)

(define-method byteswap
  (of-object "GVariant")
  (c-name "g_variant_byteswap")
  (return-type "GVariant*")
)

(define-method check_format_string
  (of-object "GVariant")
  (c-name "g_variant_check_format_string")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "format_string")
    '("gboolean" "copy_only")
  )
)

(define-method classify
  (of-object "GVariant")
  (c-name "g_variant_classify")
  (return-type "GVariantClass")
)

(define-method compare
  (of-object "GVariant")
  (c-name "g_variant_compare")
  (return-type "gint")
  (parameters
    '("gconstpointer" "two")
  )
)

(define-method dup_bytestring
  (of-object "GVariant")
  (c-name "g_variant_dup_bytestring")
  (return-type "gchar*")
  (parameters
    '("gsize*" "length")
  )
)

(define-method dup_bytestring_array
  (of-object "GVariant")
  (c-name "g_variant_dup_bytestring_array")
  (return-type "gchar**")
  (parameters
    '("gsize*" "length")
  )
)

(define-method dup_objv
  (of-object "GVariant")
  (c-name "g_variant_dup_objv")
  (return-type "gchar**")
  (parameters
    '("gsize*" "length")
  )
)

(define-method dup_string
  (of-object "GVariant")
  (c-name "g_variant_dup_string")
  (return-type "gchar*")
  (parameters
    '("gsize*" "length")
  )
)

(define-method dup_strv
  (of-object "GVariant")
  (c-name "g_variant_dup_strv")
  (return-type "gchar**")
  (parameters
    '("gsize*" "length")
  )
)

(define-method equal
  (of-object "GVariant")
  (c-name "g_variant_equal")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "two")
  )
)

(define-method get
  (of-object "GVariant")
  (c-name "g_variant_get")
  (return-type "none")
  (parameters
    '("const-gchar*" "format_string")
  )
  (varargs #t)
)

(define-method get_boolean
  (of-object "GVariant")
  (c-name "g_variant_get_boolean")
  (return-type "gboolean")
)

(define-method get_byte
  (of-object "GVariant")
  (c-name "g_variant_get_byte")
  (return-type "guint8")
)

(define-method get_bytestring
  (of-object "GVariant")
  (c-name "g_variant_get_bytestring")
  (return-type "const-gchar*")
)

(define-method get_bytestring_array
  (of-object "GVariant")
  (c-name "g_variant_get_bytestring_array")
  (return-type "const-gchar**")
  (parameters
    '("gsize*" "length")
  )
)

(define-method get_child
  (of-object "GVariant")
  (c-name "g_variant_get_child")
  (return-type "none")
  (parameters
    '("gsize" "index_")
    '("const-gchar*" "format_string")
  )
  (varargs #t)
)

(define-method get_child_value
  (of-object "GVariant")
  (c-name "g_variant_get_child_value")
  (return-type "GVariant*")
  (parameters
    '("gsize" "index_")
  )
)

(define-method get_data
  (of-object "GVariant")
  (c-name "g_variant_get_data")
  (return-type "gconstpointer")
)

(define-method get_data_as_bytes
  (of-object "GVariant")
  (c-name "g_variant_get_data_as_bytes")
  (return-type "GBytes*")
)

(define-method get_double
  (of-object "GVariant")
  (c-name "g_variant_get_double")
  (return-type "gdouble")
)

(define-method get_fixed_array
  (of-object "GVariant")
  (c-name "g_variant_get_fixed_array")
  (return-type "gconstpointer")
  (parameters
    '("gsize*" "n_elements")
    '("gsize" "element_size")
  )
)

(define-method get_handle
  (of-object "GVariant")
  (c-name "g_variant_get_handle")
  (return-type "gint32")
)

(define-method get_int16
  (of-object "GVariant")
  (c-name "g_variant_get_int16")
  (return-type "gint16")
)

(define-method get_int32
  (of-object "GVariant")
  (c-name "g_variant_get_int32")
  (return-type "gint32")
)

(define-method get_int64
  (of-object "GVariant")
  (c-name "g_variant_get_int64")
  (return-type "gint64")
)

(define-method get_maybe
  (of-object "GVariant")
  (c-name "g_variant_get_maybe")
  (return-type "GVariant*")
)

(define-method get_normal_form
  (of-object "GVariant")
  (c-name "g_variant_get_normal_form")
  (return-type "GVariant*")
)

(define-method get_objv
  (of-object "GVariant")
  (c-name "g_variant_get_objv")
  (return-type "const-gchar**")
  (parameters
    '("gsize*" "length")
  )
)

(define-method get_size
  (of-object "GVariant")
  (c-name "g_variant_get_size")
  (return-type "gsize")
)

(define-method get_string
  (of-object "GVariant")
  (c-name "g_variant_get_string")
  (return-type "const-gchar*")
  (parameters
    '("gsize*" "length")
  )
)

(define-method get_strv
  (of-object "GVariant")
  (c-name "g_variant_get_strv")
  (return-type "const-gchar**")
  (parameters
    '("gsize*" "length")
  )
)

(define-method get_type
  (of-object "GVariant")
  (c-name "g_variant_get_type")
  (return-type "const-GVariantType*")
)

(define-method get_type_string
  (of-object "GVariant")
  (c-name "g_variant_get_type_string")
  (return-type "const-gchar*")
)

(define-method get_uint16
  (of-object "GVariant")
  (c-name "g_variant_get_uint16")
  (return-type "guint16")
)

(define-method get_uint32
  (of-object "GVariant")
  (c-name "g_variant_get_uint32")
  (return-type "guint32")
)

(define-method get_uint64
  (of-object "GVariant")
  (c-name "g_variant_get_uint64")
  (return-type "guint64")
)

(define-method get_va
  (of-object "GVariant")
  (c-name "g_variant_get_va")
  (return-type "none")
  (parameters
    '("const-gchar*" "format_string")
    '("const-gchar**" "endptr")
    '("va_list*" "app")
  )
)

(define-method get_variant
  (of-object "GVariant")
  (c-name "g_variant_get_variant")
  (return-type "GVariant*")
)

(define-method hash
  (of-object "GVariant")
  (c-name "g_variant_hash")
  (return-type "guint")
)

(define-method is_container
  (of-object "GVariant")
  (c-name "g_variant_is_container")
  (return-type "gboolean")
)

(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-method is_of_type
  (of-object "GVariant")
  (c-name "g_variant_is_of_type")
  (return-type "gboolean")
  (parameters
    '("const-GVariantType*" "type")
  )
)

(define-method iter_new
  (of-object "GVariant")
  (c-name "g_variant_iter_new")
  (return-type "GVariantIter*")
)

(define-method lookup
  (of-object "GVariant")
  (c-name "g_variant_lookup")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "key")
    '("const-gchar*" "format_string")
  )
  (varargs #t)
)

(define-method lookup_value
  (of-object "GVariant")
  (c-name "g_variant_lookup_value")
  (return-type "GVariant*")
  (parameters
    '("const-gchar*" "key")
    '("const-GVariantType*" "expected_type")
  )
)

(define-method n_children
  (of-object "GVariant")
  (c-name "g_variant_n_children")
  (return-type "gsize")
)

(define-method print
  (of-object "GVariant")
  (c-name "g_variant_print")
  (return-type "gchar*")
  (parameters
    '("gboolean" "type_annotate")
  )
)

(define-method print_string
  (of-object "GVariant")
  (c-name "g_variant_print_string")
  (return-type "GString*")
  (parameters
    '("GString*" "string")
    '("gboolean" "type_annotate")
  )
)

(define-method ref
  (of-object "GVariant")
  (c-name "g_variant_ref")
  (return-type "GVariant*")
)

(define-method ref_sink
  (of-object "GVariant")
  (c-name "g_variant_ref_sink")
  (return-type "GVariant*")
)

(define-method store
  (of-object "GVariant")
  (c-name "g_variant_store")
  (return-type "none")
  (parameters
    '("gpointer" "data")
  )
)

(define-method take_ref
  (of-object "GVariant")
  (c-name "g_variant_take_ref")
  (return-type "GVariant*")
)

(define-method unref
  (of-object "GVariant")
  (c-name "g_variant_unref")
  (return-type "none")
)

(define-function g_variant_new
  (c-name "g_variant_new")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-gchar*" "format_string")
  )
  (varargs #t)
)

(define-function g_variant_new_array
  (c-name "g_variant_new_array")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-GVariantType*" "child_type")
    '("GVariant*-const*" "children")
    '("gsize" "n_children")
  )
)

(define-function g_variant_new_boolean
  (c-name "g_variant_new_boolean")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("gboolean" "value")
  )
)

(define-function g_variant_new_byte
  (c-name "g_variant_new_byte")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("guint8" "value")
  )
)

(define-function g_variant_new_bytestring
  (c-name "g_variant_new_bytestring")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-gchar*" "string")
  )
)

(define-function g_variant_new_bytestring_array
  (c-name "g_variant_new_bytestring_array")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-gchar*-const*" "strv")
    '("gssize" "length")
  )
)

(define-function g_variant_new_dict_entry
  (c-name "g_variant_new_dict_entry")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("GVariant*" "key")
    '("GVariant*" "value")
  )
)

(define-function g_variant_new_double
  (c-name "g_variant_new_double")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("gdouble" "value")
  )
)

(define-function g_variant_new_fixed_array
  (c-name "g_variant_new_fixed_array")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-GVariantType*" "element_type")
    '("gconstpointer" "elements")
    '("gsize" "n_elements")
    '("gsize" "element_size")
  )
)

(define-function g_variant_new_from_bytes
  (c-name "g_variant_new_from_bytes")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-GVariantType*" "type")
    '("GBytes*" "bytes")
    '("gboolean" "trusted")
  )
)

(define-function g_variant_new_from_data
  (c-name "g_variant_new_from_data")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-GVariantType*" "type")
    '("gconstpointer" "data")
    '("gsize" "size")
    '("gboolean" "trusted")
    '("GDestroyNotify" "notify")
    '("gpointer" "user_data")
  )
)

(define-function g_variant_new_handle
  (c-name "g_variant_new_handle")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("gint32" "value")
  )
)

(define-function g_variant_new_int16
  (c-name "g_variant_new_int16")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("gint16" "value")
  )
)

(define-function g_variant_new_int32
  (c-name "g_variant_new_int32")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("gint32" "value")
  )
)

(define-function g_variant_new_int64
  (c-name "g_variant_new_int64")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("gint64" "value")
  )
)

(define-function g_variant_new_maybe
  (c-name "g_variant_new_maybe")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-GVariantType*" "child_type")
    '("GVariant*" "child")
  )
)

(define-function g_variant_new_object_path
  (c-name "g_variant_new_object_path")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-gchar*" "object_path")
  )
)

(define-function g_variant_new_objv
  (c-name "g_variant_new_objv")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-gchar*-const*" "strv")
    '("gssize" "length")
  )
)

(define-function g_variant_new_parsed
  (c-name "g_variant_new_parsed")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(define-function g_variant_new_parsed_va
  (c-name "g_variant_new_parsed_va")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-gchar*" "format")
    '("va_list*" "app")
  )
)

(define-function g_variant_new_printf
  (c-name "g_variant_new_printf")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-gchar*" "format_string")
  )
  (varargs #t)
)

(define-function g_variant_new_signature
  (c-name "g_variant_new_signature")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-gchar*" "signature")
  )
)

(define-function g_variant_new_string
  (c-name "g_variant_new_string")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-gchar*" "string")
  )
)

(define-function g_variant_new_strv
  (c-name "g_variant_new_strv")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-gchar*-const*" "strv")
    '("gssize" "length")
  )
)

(define-function g_variant_new_take_string
  (c-name "g_variant_new_take_string")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("gchar*" "string")
  )
)

(define-function g_variant_new_tuple
  (c-name "g_variant_new_tuple")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("GVariant*-const*" "children")
    '("gsize" "n_children")
  )
)

(define-function g_variant_new_uint16
  (c-name "g_variant_new_uint16")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("guint16" "value")
  )
)

(define-function g_variant_new_uint32
  (c-name "g_variant_new_uint32")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("guint32" "value")
  )
)

(define-function g_variant_new_uint64
  (c-name "g_variant_new_uint64")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("guint64" "value")
  )
)

(define-function g_variant_new_va
  (c-name "g_variant_new_va")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("const-gchar*" "format_string")
    '("const-gchar**" "endptr")
    '("va_list*" "app")
  )
)

(define-function g_variant_new_variant
  (c-name "g_variant_new_variant")
  (is-constructor-of "GVariant")
  (return-type "GVariant*")
  (parameters
    '("GVariant*" "value")
  )
)

(define-method add
  (of-object "GVariantBuilder")
  (c-name "g_variant_builder_add")
  (return-type "none")
  (parameters
    '("const-gchar*" "format_string")
  )
  (varargs #t)
)

(define-method add_parsed
  (of-object "GVariantBuilder")
  (c-name "g_variant_builder_add_parsed")
  (return-type "none")
  (parameters
    '("const-gchar*" "format")
  )
  (varargs #t)
)

(define-method add_value
  (of-object "GVariantBuilder")
  (c-name "g_variant_builder_add_value")
  (return-type "none")
  (parameters
    '("GVariant*" "value")
  )
)

(define-method clear
  (of-object "GVariantBuilder")
  (c-name "g_variant_builder_clear")
  (return-type "none")
)

(define-method close
  (of-object "GVariantBuilder")
  (c-name "g_variant_builder_close")
  (return-type "none")
)

(define-method end
  (of-object "GVariantBuilder")
  (c-name "g_variant_builder_end")
  (return-type "GVariant*")
)

(define-method init
  (of-object "GVariantBuilder")
  (c-name "g_variant_builder_init")
  (return-type "none")
  (parameters
    '("const-GVariantType*" "type")
  )
)

(define-method init_static
  (of-object "GVariantBuilder")
  (c-name "g_variant_builder_init_static")
  (return-type "none")
  (parameters
    '("const-GVariantType*" "type")
  )
)

(define-method open
  (of-object "GVariantBuilder")
  (c-name "g_variant_builder_open")
  (return-type "none")
  (parameters
    '("const-GVariantType*" "type")
  )
)

(define-method ref
  (of-object "GVariantBuilder")
  (c-name "g_variant_builder_ref")
  (return-type "GVariantBuilder*")
)

(define-method unref
  (of-object "GVariantBuilder")
  (c-name "g_variant_builder_unref")
  (return-type "none")
)

(define-function g_variant_builder_new
  (c-name "g_variant_builder_new")
  (is-constructor-of "GVariantBuilder")
  (return-type "GVariantBuilder*")
  (parameters
    '("const-GVariantType*" "type")
  )
)

(define-method clear
  (of-object "GVariantDict")
  (c-name "g_variant_dict_clear")
  (return-type "none")
)

(define-method contains
  (of-object "GVariantDict")
  (c-name "g_variant_dict_contains")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "key")
  )
)

(define-method end
  (of-object "GVariantDict")
  (c-name "g_variant_dict_end")
  (return-type "GVariant*")
)

(define-method init
  (of-object "GVariantDict")
  (c-name "g_variant_dict_init")
  (return-type "none")
  (parameters
    '("GVariant*" "from_asv")
  )
)

(define-method insert
  (of-object "GVariantDict")
  (c-name "g_variant_dict_insert")
  (return-type "none")
  (parameters
    '("const-gchar*" "key")
    '("const-gchar*" "format_string")
  )
  (varargs #t)
)

(define-method insert_value
  (of-object "GVariantDict")
  (c-name "g_variant_dict_insert_value")
  (return-type "none")
  (parameters
    '("const-gchar*" "key")
    '("GVariant*" "value")
  )
)

(define-method lookup
  (of-object "GVariantDict")
  (c-name "g_variant_dict_lookup")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "key")
    '("const-gchar*" "format_string")
  )
  (varargs #t)
)

(define-method lookup_value
  (of-object "GVariantDict")
  (c-name "g_variant_dict_lookup_value")
  (return-type "GVariant*")
  (parameters
    '("const-gchar*" "key")
    '("const-GVariantType*" "expected_type")
  )
)

(define-method ref
  (of-object "GVariantDict")
  (c-name "g_variant_dict_ref")
  (return-type "GVariantDict*")
)

(define-method remove
  (of-object "GVariantDict")
  (c-name "g_variant_dict_remove")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "key")
  )
)

(define-method unref
  (of-object "GVariantDict")
  (c-name "g_variant_dict_unref")
  (return-type "none")
)

(define-function g_variant_dict_new
  (c-name "g_variant_dict_new")
  (is-constructor-of "GVariantDict")
  (return-type "GVariantDict*")
  (parameters
    '("GVariant*" "from_asv")
  )
)

(define-method copy
  (of-object "GVariantIter")
  (c-name "g_variant_iter_copy")
  (return-type "GVariantIter*")
)

(define-method free
  (of-object "GVariantIter")
  (c-name "g_variant_iter_free")
  (return-type "none")
)

(define-method init
  (of-object "GVariantIter")
  (c-name "g_variant_iter_init")
  (return-type "gsize")
  (parameters
    '("GVariant*" "value")
  )
)

(define-method loop
  (of-object "GVariantIter")
  (c-name "g_variant_iter_loop")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "format_string")
  )
  (varargs #t)
)

(define-method n_children
  (of-object "GVariantIter")
  (c-name "g_variant_iter_n_children")
  (return-type "gsize")
)

(define-method next
  (of-object "GVariantIter")
  (c-name "g_variant_iter_next")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "format_string")
  )
  (varargs #t)
)

(define-method next_value
  (of-object "GVariantIter")
  (c-name "g_variant_iter_next_value")
  (return-type "GVariant*")
)

(define-function g_variant_type_checked_
  (c-name "g_variant_type_checked_")
  (return-type "const-GVariantType*")
  (parameters
    '("const-gchar*" "type_string")
  )
)

(define-function g_variant_type_string_get_depth_
  (c-name "g_variant_type_string_get_depth_")
  (return-type "gsize")
  (parameters
    '("const-gchar*" "type_string")
  )
)

(define-function g_variant_type_string_is_valid
  (c-name "g_variant_type_string_is_valid")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "type_string")
  )
)

(define-function g_variant_type_string_scan
  (c-name "g_variant_type_string_scan")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "string")
    '("const-gchar*" "limit")
    '("const-gchar**" "endptr")
  )
)

(define-method copy
  (of-object "GVariantType")
  (c-name "g_variant_type_copy")
  (return-type "GVariantType*")
)

(define-method dup_string
  (of-object "GVariantType")
  (c-name "g_variant_type_dup_string")
  (return-type "gchar*")
)

(define-method element
  (of-object "GVariantType")
  (c-name "g_variant_type_element")
  (return-type "const-GVariantType*")
)

(define-method equal
  (of-object "GVariantType")
  (c-name "g_variant_type_equal")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "type2")
  )
)

(define-method first
  (of-object "GVariantType")
  (c-name "g_variant_type_first")
  (return-type "const-GVariantType*")
)

(define-method free
  (of-object "GVariantType")
  (c-name "g_variant_type_free")
  (return-type "none")
)

(define-method get_string_length
  (of-object "GVariantType")
  (c-name "g_variant_type_get_string_length")
  (return-type "gsize")
)

(define-method hash
  (of-object "GVariantType")
  (c-name "g_variant_type_hash")
  (return-type "guint")
)

(define-method is_array
  (of-object "GVariantType")
  (c-name "g_variant_type_is_array")
  (return-type "gboolean")
)

(define-method is_basic
  (of-object "GVariantType")
  (c-name "g_variant_type_is_basic")
  (return-type "gboolean")
)

(define-method is_container
  (of-object "GVariantType")
  (c-name "g_variant_type_is_container")
  (return-type "gboolean")
)

(define-method is_definite
  (of-object "GVariantType")
  (c-name "g_variant_type_is_definite")
  (return-type "gboolean")
)

(define-method is_dict_entry
  (of-object "GVariantType")
  (c-name "g_variant_type_is_dict_entry")
  (return-type "gboolean")
)

(define-method is_maybe
  (of-object "GVariantType")
  (c-name "g_variant_type_is_maybe")
  (return-type "gboolean")
)

(define-method is_subtype_of
  (of-object "GVariantType")
  (c-name "g_variant_type_is_subtype_of")
  (return-type "gboolean")
  (parameters
    '("const-GVariantType*" "supertype")
  )
)

(define-method is_tuple
  (of-object "GVariantType")
  (c-name "g_variant_type_is_tuple")
  (return-type "gboolean")
)

(define-method is_variant
  (of-object "GVariantType")
  (c-name "g_variant_type_is_variant")
  (return-type "gboolean")
)

(define-method key
  (of-object "GVariantType")
  (c-name "g_variant_type_key")
  (return-type "const-GVariantType*")
)

(define-method n_items
  (of-object "GVariantType")
  (c-name "g_variant_type_n_items")
  (return-type "gsize")
)

(define-method next
  (of-object "GVariantType")
  (c-name "g_variant_type_next")
  (return-type "const-GVariantType*")
)

(define-method peek_string
  (of-object "GVariantType")
  (c-name "g_variant_type_peek_string")
  (return-type "const-gchar*")
)

(define-method value
  (of-object "GVariantType")
  (c-name "g_variant_type_value")
  (return-type "const-GVariantType*")
)

(define-function g_variant_type_new
  (c-name "g_variant_type_new")
  (is-constructor-of "GVariantType")
  (return-type "GVariantType*")
  (parameters
    '("const-gchar*" "type_string")
  )
)

(define-function g_variant_type_new_array
  (c-name "g_variant_type_new_array")
  (is-constructor-of "GVariantType")
  (return-type "GVariantType*")
  (parameters
    '("const-GVariantType*" "element")
  )
)

(define-function g_variant_type_new_dict_entry
  (c-name "g_variant_type_new_dict_entry")
  (is-constructor-of "GVariantType")
  (return-type "GVariantType*")
  (parameters
    '("const-GVariantType*" "key")
    '("const-GVariantType*" "value")
  )
)

(define-function g_variant_type_new_maybe
  (c-name "g_variant_type_new_maybe")
  (is-constructor-of "GVariantType")
  (return-type "GVariantType*")
  (parameters
    '("const-GVariantType*" "element")
  )
)

(define-function g_variant_type_new_tuple
  (c-name "g_variant_type_new_tuple")
  (is-constructor-of "GVariantType")
  (return-type "GVariantType*")
  (parameters
    '("const-GVariantType*-const*" "items")
    '("gint" "length")
  )
)


;; Objects for namespace GLibUnix

(define-object Pipe
  (in-module "GLibUnix")
  (c-name "GUnixPipe")
  (gtype-id "GUNIX_TYPE_PIPE")
)


;; Functions for namespace GLibUnix

(define-function g_closefrom
  (c-name "g_closefrom")
  (return-type "int")
  (parameters
    '("int" "lowfd")
  )
)

(define-function g_unix_error_quark
  (c-name "g_unix_error_quark")
  (return-type "GQuark")
)

(define-function g_unix_fd_add
  (c-name "g_unix_fd_add")
  (return-type "guint")
  (parameters
    '("gint" "fd")
    '("GIOCondition" "condition")
    '("GUnixFDSourceFunc" "function")
    '("gpointer" "user_data")
  )
)

(define-function g_unix_fd_add_full
  (c-name "g_unix_fd_add_full")
  (return-type "guint")
  (parameters
    '("gint" "priority")
    '("gint" "fd")
    '("GIOCondition" "condition")
    '("GUnixFDSourceFunc" "function")
    '("gpointer" "user_data")
    '("GDestroyNotify" "notify")
  )
)

(define-function g_unix_fd_query_path
  (c-name "g_unix_fd_query_path")
  (return-type "char*")
  (parameters
    '("int" "fd")
    '("GError**" "error")
  )
)

(define-function g_unix_fd_source_new
  (c-name "g_unix_fd_source_new")
  (return-type "GSource*")
  (parameters
    '("gint" "fd")
    '("GIOCondition" "condition")
  )
)

(define-function g_fdwalk_set_cloexec
  (c-name "g_fdwalk_set_cloexec")
  (return-type "int")
  (parameters
    '("int" "lowfd")
  )
)

(define-function g_unix_get_passwd_entry
  (c-name "g_unix_get_passwd_entry")
  (return-type "passwd*")
  (parameters
    '("const-gchar*" "user_name")
    '("GError**" "error")
  )
)

(define-function g_unix_open_pipe
  (c-name "g_unix_open_pipe")
  (return-type "gboolean")
  (parameters
    '("gint*" "fds")
    '("gint" "flags")
    '("GError**" "error")
  )
)

(define-function g_unix_set_fd_nonblocking
  (c-name "g_unix_set_fd_nonblocking")
  (return-type "gboolean")
  (parameters
    '("gint" "fd")
    '("gboolean" "nonblock")
    '("GError**" "error")
  )
)

(define-function g_unix_signal_add
  (c-name "g_unix_signal_add")
  (return-type "guint")
  (parameters
    '("gint" "signum")
    '("GSourceFunc" "handler")
    '("gpointer" "user_data")
  )
)

(define-function g_unix_signal_add_full
  (c-name "g_unix_signal_add_full")
  (return-type "guint")
  (parameters
    '("gint" "priority")
    '("gint" "signum")
    '("GSourceFunc" "handler")
    '("gpointer" "user_data")
    '("GDestroyNotify" "notify")
  )
)

(define-function g_unix_signal_source_new
  (c-name "g_unix_signal_source_new")
  (return-type "GSource*")
  (parameters
    '("gint" "signum")
  )
)

(define-method clear
  (of-object "GUnixPipe")
  (c-name "g_unix_pipe_clear")
  (return-type "none")
)

(define-method close
  (of-object "GUnixPipe")
  (c-name "g_unix_pipe_close")
  (return-type "gboolean")
  (parameters
    '("GUnixPipeEnd" "end")
    '("GError**" "error")
  )
)

(define-method get
  (of-object "GUnixPipe")
  (c-name "g_unix_pipe_get")
  (return-type "int")
  (parameters
    '("GUnixPipeEnd" "end")
  )
)

(define-method open
  (of-object "GUnixPipe")
  (c-name "g_unix_pipe_open")
  (return-type "gboolean")
  (parameters
    '("int" "flags")
    '("GError**" "error")
  )
)

(define-method steal
  (of-object "GUnixPipe")
  (c-name "g_unix_pipe_steal")
  (return-type "int")
  (parameters
    '("GUnixPipeEnd" "end")
  )
)

