;; Namespace GLib

;; Enums

(define-enum-extended BookmarkFileError
  (in-module "GLib")
  (c-name "GBookmarkFileError")
  (values
    '("invalid-uri" "G_BOOKMARK_FILE_ERROR_INVALID_URI" "0")
    '("invalid-value" "G_BOOKMARK_FILE_ERROR_INVALID_VALUE" "1")
    '("app-not-registered" "G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED" "2")
    '("uri-not-found" "G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND" "3")
    '("read" "G_BOOKMARK_FILE_ERROR_READ" "4")
    '("unknown-encoding" "G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING" "5")
    '("write" "G_BOOKMARK_FILE_ERROR_WRITE" "6")
    '("file-not-found" "G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND" "7")
  )
)

(define-enum-extended ChecksumType
  (in-module "GLib")
  (c-name "GChecksumType")
  (values
    '("md5" "G_CHECKSUM_MD5" "0")
    '("sha1" "G_CHECKSUM_SHA1" "1")
    '("sha256" "G_CHECKSUM_SHA256" "2")
    '("sha512" "G_CHECKSUM_SHA512" "3")
    '("sha384" "G_CHECKSUM_SHA384" "4")
  )
)

(define-enum-extended ConvertError
  (in-module "GLib")
  (c-name "GConvertError")
  (values
    '("no-conversion" "G_CONVERT_ERROR_NO_CONVERSION" "0")
    '("illegal-sequence" "G_CONVERT_ERROR_ILLEGAL_SEQUENCE" "1")
    '("failed" "G_CONVERT_ERROR_FAILED" "2")
    '("partial-input" "G_CONVERT_ERROR_PARTIAL_INPUT" "3")
    '("bad-uri" "G_CONVERT_ERROR_BAD_URI" "4")
    '("not-absolute-path" "G_CONVERT_ERROR_NOT_ABSOLUTE_PATH" "5")
    '("no-memory" "G_CONVERT_ERROR_NO_MEMORY" "6")
    '("embedded-nul" "G_CONVERT_ERROR_EMBEDDED_NUL" "7")
  )
)

(define-enum-extended DateDMY
  (in-module "GLib")
  (c-name "GDateDMY")
  (values
    '("day" "G_DATE_DAY" "0")
    '("month" "G_DATE_MONTH" "1")
    '("year" "G_DATE_YEAR" "2")
  )
)

(define-enum-extended DateMonth
  (in-module "GLib")
  (c-name "GDateMonth")
  (values
    '("bad-month" "G_DATE_BAD_MONTH" "0")
    '("january" "G_DATE_JANUARY" "1")
    '("february" "G_DATE_FEBRUARY" "2")
    '("march" "G_DATE_MARCH" "3")
    '("april" "G_DATE_APRIL" "4")
    '("may" "G_DATE_MAY" "5")
    '("june" "G_DATE_JUNE" "6")
    '("july" "G_DATE_JULY" "7")
    '("august" "G_DATE_AUGUST" "8")
    '("september" "G_DATE_SEPTEMBER" "9")
    '("october" "G_DATE_OCTOBER" "10")
    '("november" "G_DATE_NOVEMBER" "11")
    '("december" "G_DATE_DECEMBER" "12")
  )
)

(define-enum-extended DateWeekday
  (in-module "GLib")
  (c-name "GDateWeekday")
  (values
    '("bad-weekday" "G_DATE_BAD_WEEKDAY" "0")
    '("monday" "G_DATE_MONDAY" "1")
    '("tuesday" "G_DATE_TUESDAY" "2")
    '("wednesday" "G_DATE_WEDNESDAY" "3")
    '("thursday" "G_DATE_THURSDAY" "4")
    '("friday" "G_DATE_FRIDAY" "5")
    '("saturday" "G_DATE_SATURDAY" "6")
    '("sunday" "G_DATE_SUNDAY" "7")
  )
)

(define-enum-extended ErrorType
  (in-module "GLib")
  (c-name "GErrorType")
  (values
    '("unknown" "G_ERR_UNKNOWN" "0")
    '("unexp-eof" "G_ERR_UNEXP_EOF" "1")
    '("unexp-eof-in-string" "G_ERR_UNEXP_EOF_IN_STRING" "2")
    '("unexp-eof-in-comment" "G_ERR_UNEXP_EOF_IN_COMMENT" "3")
    '("non-digit-in-const" "G_ERR_NON_DIGIT_IN_CONST" "4")
    '("digit-radix" "G_ERR_DIGIT_RADIX" "5")
    '("float-radix" "G_ERR_FLOAT_RADIX" "6")
    '("float-malformed" "G_ERR_FLOAT_MALFORMED" "7")
  )
)

(define-enum-extended FileError
  (in-module "GLib")
  (c-name "GFileError")
  (values
    '("exist" "G_FILE_ERROR_EXIST" "0")
    '("isdir" "G_FILE_ERROR_ISDIR" "1")
    '("acces" "G_FILE_ERROR_ACCES" "2")
    '("nametoolong" "G_FILE_ERROR_NAMETOOLONG" "3")
    '("noent" "G_FILE_ERROR_NOENT" "4")
    '("notdir" "G_FILE_ERROR_NOTDIR" "5")
    '("nxio" "G_FILE_ERROR_NXIO" "6")
    '("nodev" "G_FILE_ERROR_NODEV" "7")
    '("rofs" "G_FILE_ERROR_ROFS" "8")
    '("txtbsy" "G_FILE_ERROR_TXTBSY" "9")
    '("fault" "G_FILE_ERROR_FAULT" "10")
    '("loop" "G_FILE_ERROR_LOOP" "11")
    '("nospc" "G_FILE_ERROR_NOSPC" "12")
    '("nomem" "G_FILE_ERROR_NOMEM" "13")
    '("mfile" "G_FILE_ERROR_MFILE" "14")
    '("nfile" "G_FILE_ERROR_NFILE" "15")
    '("badf" "G_FILE_ERROR_BADF" "16")
    '("inval" "G_FILE_ERROR_INVAL" "17")
    '("pipe" "G_FILE_ERROR_PIPE" "18")
    '("again" "G_FILE_ERROR_AGAIN" "19")
    '("intr" "G_FILE_ERROR_INTR" "20")
    '("io" "G_FILE_ERROR_IO" "21")
    '("perm" "G_FILE_ERROR_PERM" "22")
    '("nosys" "G_FILE_ERROR_NOSYS" "23")
    '("failed" "G_FILE_ERROR_FAILED" "24")
  )
)

(define-enum-extended IOChannelError
  (in-module "GLib")
  (c-name "GIOChannelError")
  (values
    '("fbig" "G_IO_CHANNEL_ERROR_FBIG" "0")
    '("inval" "G_IO_CHANNEL_ERROR_INVAL" "1")
    '("io" "G_IO_CHANNEL_ERROR_IO" "2")
    '("isdir" "G_IO_CHANNEL_ERROR_ISDIR" "3")
    '("nospc" "G_IO_CHANNEL_ERROR_NOSPC" "4")
    '("nxio" "G_IO_CHANNEL_ERROR_NXIO" "5")
    '("overflow" "G_IO_CHANNEL_ERROR_OVERFLOW" "6")
    '("pipe" "G_IO_CHANNEL_ERROR_PIPE" "7")
    '("failed" "G_IO_CHANNEL_ERROR_FAILED" "8")
  )
)

(define-enum-extended IOError
  (in-module "GLib")
  (c-name "GIOError")
  (values
    '("none" "G_IO_ERROR_NONE" "0")
    '("again" "G_IO_ERROR_AGAIN" "1")
    '("inval" "G_IO_ERROR_INVAL" "2")
    '("unknown" "G_IO_ERROR_UNKNOWN" "3")
  )
)

(define-enum-extended IOStatus
  (in-module "GLib")
  (c-name "GIOStatus")
  (values
    '("error" "G_IO_STATUS_ERROR" "0")
    '("normal" "G_IO_STATUS_NORMAL" "1")
    '("eof" "G_IO_STATUS_EOF" "2")
    '("again" "G_IO_STATUS_AGAIN" "3")
  )
)

(define-enum-extended KeyFileError
  (in-module "GLib")
  (c-name "GKeyFileError")
  (values
    '("unknown-encoding" "G_KEY_FILE_ERROR_UNKNOWN_ENCODING" "0")
    '("parse" "G_KEY_FILE_ERROR_PARSE" "1")
    '("not-found" "G_KEY_FILE_ERROR_NOT_FOUND" "2")
    '("key-not-found" "G_KEY_FILE_ERROR_KEY_NOT_FOUND" "3")
    '("group-not-found" "G_KEY_FILE_ERROR_GROUP_NOT_FOUND" "4")
    '("invalid-value" "G_KEY_FILE_ERROR_INVALID_VALUE" "5")
  )
)

(define-enum-extended LogWriterOutput
  (in-module "GLib")
  (c-name "GLogWriterOutput")
  (values
    '("handled" "G_LOG_WRITER_HANDLED" "1")
    '("unhandled" "G_LOG_WRITER_UNHANDLED" "0")
  )
)

(define-enum-extended MarkupError
  (in-module "GLib")
  (c-name "GMarkupError")
  (values
    '("bad-utf8" "G_MARKUP_ERROR_BAD_UTF8" "0")
    '("empty" "G_MARKUP_ERROR_EMPTY" "1")
    '("parse" "G_MARKUP_ERROR_PARSE" "2")
    '("unknown-element" "G_MARKUP_ERROR_UNKNOWN_ELEMENT" "3")
    '("unknown-attribute" "G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE" "4")
    '("invalid-content" "G_MARKUP_ERROR_INVALID_CONTENT" "5")
    '("missing-attribute" "G_MARKUP_ERROR_MISSING_ATTRIBUTE" "6")
  )
)

(define-enum-extended NormalizeMode
  (in-module "GLib")
  (c-name "GNormalizeMode")
  (values
    '("default" "G_NORMALIZE_DEFAULT" "0")
    '("nfd" "G_NORMALIZE_NFD" "0")
    '("default-compose" "G_NORMALIZE_DEFAULT_COMPOSE" "1")
    '("nfc" "G_NORMALIZE_NFC" "1")
    '("all" "G_NORMALIZE_ALL" "2")
    '("nfkd" "G_NORMALIZE_NFKD" "2")
    '("all-compose" "G_NORMALIZE_ALL_COMPOSE" "3")
    '("nfkc" "G_NORMALIZE_NFKC" "3")
  )
)

(define-enum-extended NumberParserError
  (in-module "GLib")
  (c-name "GNumberParserError")
  (values
    '("invalid" "G_NUMBER_PARSER_ERROR_INVALID" "0")
    '("out-of-bounds" "G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS" "1")
  )
)

(define-enum-extended OnceStatus
  (in-module "GLib")
  (c-name "GOnceStatus")
  (values
    '("notcalled" "G_ONCE_STATUS_NOTCALLED" "0")
    '("progress" "G_ONCE_STATUS_PROGRESS" "1")
    '("ready" "G_ONCE_STATUS_READY" "2")
  )
)

(define-enum-extended OptionArg
  (in-module "GLib")
  (c-name "GOptionArg")
  (values
    '("none" "G_OPTION_ARG_NONE" "0")
    '("string" "G_OPTION_ARG_STRING" "1")
    '("int" "G_OPTION_ARG_INT" "2")
    '("callback" "G_OPTION_ARG_CALLBACK" "3")
    '("filename" "G_OPTION_ARG_FILENAME" "4")
    '("string-array" "G_OPTION_ARG_STRING_ARRAY" "5")
    '("filename-array" "G_OPTION_ARG_FILENAME_ARRAY" "6")
    '("double" "G_OPTION_ARG_DOUBLE" "7")
    '("int64" "G_OPTION_ARG_INT64" "8")
  )
)

(define-enum-extended OptionError
  (in-module "GLib")
  (c-name "GOptionError")
  (values
    '("unknown-option" "G_OPTION_ERROR_UNKNOWN_OPTION" "0")
    '("bad-value" "G_OPTION_ERROR_BAD_VALUE" "1")
    '("failed" "G_OPTION_ERROR_FAILED" "2")
  )
)

(define-enum-extended RegexError
  (in-module "GLib")
  (c-name "GRegexError")
  (values
    '("compile" "G_REGEX_ERROR_COMPILE" "0")
    '("optimize" "G_REGEX_ERROR_OPTIMIZE" "1")
    '("replace" "G_REGEX_ERROR_REPLACE" "2")
    '("match" "G_REGEX_ERROR_MATCH" "3")
    '("internal" "G_REGEX_ERROR_INTERNAL" "4")
    '("stray-backslash" "G_REGEX_ERROR_STRAY_BACKSLASH" "101")
    '("missing-control-char" "G_REGEX_ERROR_MISSING_CONTROL_CHAR" "102")
    '("unrecognized-escape" "G_REGEX_ERROR_UNRECOGNIZED_ESCAPE" "103")
    '("quantifiers-out-of-order" "G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER" "104")
    '("quantifier-too-big" "G_REGEX_ERROR_QUANTIFIER_TOO_BIG" "105")
    '("unterminated-character-class" "G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS" "106")
    '("invalid-escape-in-character-class" "G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS" "107")
    '("range-out-of-order" "G_REGEX_ERROR_RANGE_OUT_OF_ORDER" "108")
    '("nothing-to-repeat" "G_REGEX_ERROR_NOTHING_TO_REPEAT" "109")
    '("unrecognized-character" "G_REGEX_ERROR_UNRECOGNIZED_CHARACTER" "112")
    '("posix-named-class-outside-class" "G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS" "113")
    '("unmatched-parenthesis" "G_REGEX_ERROR_UNMATCHED_PARENTHESIS" "114")
    '("inexistent-subpattern-reference" "G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE" "115")
    '("unterminated-comment" "G_REGEX_ERROR_UNTERMINATED_COMMENT" "118")
    '("expression-too-large" "G_REGEX_ERROR_EXPRESSION_TOO_LARGE" "120")
    '("memory-error" "G_REGEX_ERROR_MEMORY_ERROR" "121")
    '("variable-length-lookbehind" "G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND" "125")
    '("malformed-condition" "G_REGEX_ERROR_MALFORMED_CONDITION" "126")
    '("too-many-conditional-branches" "G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES" "127")
    '("assertion-expected" "G_REGEX_ERROR_ASSERTION_EXPECTED" "128")
    '("unknown-posix-class-name" "G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME" "130")
    '("posix-collating-elements-not-supported" "G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED" "131")
    '("hex-code-too-large" "G_REGEX_ERROR_HEX_CODE_TOO_LARGE" "134")
    '("invalid-condition" "G_REGEX_ERROR_INVALID_CONDITION" "135")
    '("single-byte-match-in-lookbehind" "G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND" "136")
    '("infinite-loop" "G_REGEX_ERROR_INFINITE_LOOP" "140")
    '("missing-subpattern-name-terminator" "G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR" "142")
    '("duplicate-subpattern-name" "G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME" "143")
    '("malformed-property" "G_REGEX_ERROR_MALFORMED_PROPERTY" "146")
    '("unknown-property" "G_REGEX_ERROR_UNKNOWN_PROPERTY" "147")
    '("subpattern-name-too-long" "G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG" "148")
    '("too-many-subpatterns" "G_REGEX_ERROR_TOO_MANY_SUBPATTERNS" "149")
    '("invalid-octal-value" "G_REGEX_ERROR_INVALID_OCTAL_VALUE" "151")
    '("too-many-branches-in-define" "G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE" "154")
    '("define-repetion" "G_REGEX_ERROR_DEFINE_REPETION" "155")
    '("inconsistent-newline-options" "G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS" "156")
    '("missing-back-reference" "G_REGEX_ERROR_MISSING_BACK_REFERENCE" "157")
    '("invalid-relative-reference" "G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE" "158")
    '("backtracking-control-verb-argument-forbidden" "G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN" "159")
    '("unknown-backtracking-control-verb" "G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB" "160")
    '("number-too-big" "G_REGEX_ERROR_NUMBER_TOO_BIG" "161")
    '("missing-subpattern-name" "G_REGEX_ERROR_MISSING_SUBPATTERN_NAME" "162")
    '("missing-digit" "G_REGEX_ERROR_MISSING_DIGIT" "163")
    '("invalid-data-character" "G_REGEX_ERROR_INVALID_DATA_CHARACTER" "164")
    '("extra-subpattern-name" "G_REGEX_ERROR_EXTRA_SUBPATTERN_NAME" "165")
    '("backtracking-control-verb-argument-required" "G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED" "166")
    '("invalid-control-char" "G_REGEX_ERROR_INVALID_CONTROL_CHAR" "168")
    '("missing-name" "G_REGEX_ERROR_MISSING_NAME" "169")
    '("not-supported-in-class" "G_REGEX_ERROR_NOT_SUPPORTED_IN_CLASS" "171")
    '("too-many-forward-references" "G_REGEX_ERROR_TOO_MANY_FORWARD_REFERENCES" "172")
    '("name-too-long" "G_REGEX_ERROR_NAME_TOO_LONG" "175")
    '("character-value-too-large" "G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE" "176")
  )
)

(define-enum-extended SeekType
  (in-module "GLib")
  (c-name "GSeekType")
  (values
    '("cur" "G_SEEK_CUR" "0")
    '("set" "G_SEEK_SET" "1")
    '("end" "G_SEEK_END" "2")
  )
)

(define-enum-extended ShellError
  (in-module "GLib")
  (c-name "GShellError")
  (values
    '("bad-quoting" "G_SHELL_ERROR_BAD_QUOTING" "0")
    '("empty-string" "G_SHELL_ERROR_EMPTY_STRING" "1")
    '("failed" "G_SHELL_ERROR_FAILED" "2")
  )
)

(define-enum-extended SliceConfig
  (in-module "GLib")
  (c-name "GSliceConfig")
  (values
    '("always-malloc" "G_SLICE_CONFIG_ALWAYS_MALLOC" "1")
    '("bypass-magazines" "G_SLICE_CONFIG_BYPASS_MAGAZINES" "2")
    '("working-set-msecs" "G_SLICE_CONFIG_WORKING_SET_MSECS" "3")
    '("color-increment" "G_SLICE_CONFIG_COLOR_INCREMENT" "4")
    '("chunk-sizes" "G_SLICE_CONFIG_CHUNK_SIZES" "5")
    '("contention-counter" "G_SLICE_CONFIG_CONTENTION_COUNTER" "6")
  )
)

(define-enum-extended SpawnError
  (in-module "GLib")
  (c-name "GSpawnError")
  (values
    '("fork" "G_SPAWN_ERROR_FORK" "0")
    '("read" "G_SPAWN_ERROR_READ" "1")
    '("chdir" "G_SPAWN_ERROR_CHDIR" "2")
    '("acces" "G_SPAWN_ERROR_ACCES" "3")
    '("perm" "G_SPAWN_ERROR_PERM" "4")
    '("too-big" "G_SPAWN_ERROR_TOO_BIG" "5")
    '("2big" "G_SPAWN_ERROR_2BIG" "5")
    '("noexec" "G_SPAWN_ERROR_NOEXEC" "6")
    '("nametoolong" "G_SPAWN_ERROR_NAMETOOLONG" "7")
    '("noent" "G_SPAWN_ERROR_NOENT" "8")
    '("nomem" "G_SPAWN_ERROR_NOMEM" "9")
    '("notdir" "G_SPAWN_ERROR_NOTDIR" "10")
    '("loop" "G_SPAWN_ERROR_LOOP" "11")
    '("txtbusy" "G_SPAWN_ERROR_TXTBUSY" "12")
    '("io" "G_SPAWN_ERROR_IO" "13")
    '("nfile" "G_SPAWN_ERROR_NFILE" "14")
    '("mfile" "G_SPAWN_ERROR_MFILE" "15")
    '("inval" "G_SPAWN_ERROR_INVAL" "16")
    '("isdir" "G_SPAWN_ERROR_ISDIR" "17")
    '("libbad" "G_SPAWN_ERROR_LIBBAD" "18")
    '("failed" "G_SPAWN_ERROR_FAILED" "19")
  )
)

(define-enum-extended TestFileType
  (in-module "GLib")
  (c-name "GTestFileType")
  (values
    '("dist" "G_TEST_DIST" "0")
    '("built" "G_TEST_BUILT" "1")
  )
)

(define-enum-extended TestLogType
  (in-module "GLib")
  (c-name "GTestLogType")
  (values
    '("none" "G_TEST_LOG_NONE" "0")
    '("error" "G_TEST_LOG_ERROR" "1")
    '("start-binary" "G_TEST_LOG_START_BINARY" "2")
    '("list-case" "G_TEST_LOG_LIST_CASE" "3")
    '("skip-case" "G_TEST_LOG_SKIP_CASE" "4")
    '("start-case" "G_TEST_LOG_START_CASE" "5")
    '("stop-case" "G_TEST_LOG_STOP_CASE" "6")
    '("min-result" "G_TEST_LOG_MIN_RESULT" "7")
    '("max-result" "G_TEST_LOG_MAX_RESULT" "8")
    '("message" "G_TEST_LOG_MESSAGE" "9")
    '("start-suite" "G_TEST_LOG_START_SUITE" "10")
    '("stop-suite" "G_TEST_LOG_STOP_SUITE" "11")
  )
)

(define-enum-extended TestResult
  (in-module "GLib")
  (c-name "GTestResult")
  (values
    '("success" "G_TEST_RUN_SUCCESS" "0")
    '("skipped" "G_TEST_RUN_SKIPPED" "1")
    '("failure" "G_TEST_RUN_FAILURE" "2")
    '("incomplete" "G_TEST_RUN_INCOMPLETE" "3")
  )
)

(define-enum-extended ThreadError
  (in-module "GLib")
  (c-name "GThreadError")
  (values
    '("thread-error-again" "G_THREAD_ERROR_AGAIN" "0")
  )
)

(define-enum-extended ThreadPriority
  (in-module "GLib")
  (c-name "GThreadPriority")
  (values
    '("low" "G_THREAD_PRIORITY_LOW" "0")
    '("normal" "G_THREAD_PRIORITY_NORMAL" "1")
    '("high" "G_THREAD_PRIORITY_HIGH" "2")
    '("urgent" "G_THREAD_PRIORITY_URGENT" "3")
  )
)

(define-enum-extended TimeType
  (in-module "GLib")
  (c-name "GTimeType")
  (values
    '("standard" "G_TIME_TYPE_STANDARD" "0")
    '("daylight" "G_TIME_TYPE_DAYLIGHT" "1")
    '("universal" "G_TIME_TYPE_UNIVERSAL" "2")
  )
)

(define-enum-extended TokenType
  (in-module "GLib")
  (c-name "GTokenType")
  (values
    '("eof" "G_TOKEN_EOF" "0")
    '("left-paren" "G_TOKEN_LEFT_PAREN" "40")
    '("right-paren" "G_TOKEN_RIGHT_PAREN" "41")
    '("left-curly" "G_TOKEN_LEFT_CURLY" "123")
    '("right-curly" "G_TOKEN_RIGHT_CURLY" "125")
    '("left-brace" "G_TOKEN_LEFT_BRACE" "91")
    '("right-brace" "G_TOKEN_RIGHT_BRACE" "93")
    '("equal-sign" "G_TOKEN_EQUAL_SIGN" "61")
    '("comma" "G_TOKEN_COMMA" "44")
    '("none" "G_TOKEN_NONE" "256")
    '("error" "G_TOKEN_ERROR" "257")
    '("char" "G_TOKEN_CHAR" "258")
    '("binary" "G_TOKEN_BINARY" "259")
    '("octal" "G_TOKEN_OCTAL" "260")
    '("int" "G_TOKEN_INT" "261")
    '("hex" "G_TOKEN_HEX" "262")
    '("float" "G_TOKEN_FLOAT" "263")
    '("string" "G_TOKEN_STRING" "264")
    '("symbol" "G_TOKEN_SYMBOL" "265")
    '("identifier" "G_TOKEN_IDENTIFIER" "266")
    '("identifier-null" "G_TOKEN_IDENTIFIER_NULL" "267")
    '("comment-single" "G_TOKEN_COMMENT_SINGLE" "268")
    '("comment-multi" "G_TOKEN_COMMENT_MULTI" "269")
  )
)

(define-enum-extended TraverseType
  (in-module "GLib")
  (c-name "GTraverseType")
  (values
    '("in-order" "G_IN_ORDER" "0")
    '("pre-order" "G_PRE_ORDER" "1")
    '("post-order" "G_POST_ORDER" "2")
    '("level-order" "G_LEVEL_ORDER" "3")
  )
)

(define-enum-extended UnicodeBreakType
  (in-module "GLib")
  (c-name "GUnicodeBreakType")
  (values
    '("mandatory" "G_UNICODE_BREAK_MANDATORY" "0")
    '("carriage-return" "G_UNICODE_BREAK_CARRIAGE_RETURN" "1")
    '("line-feed" "G_UNICODE_BREAK_LINE_FEED" "2")
    '("combining-mark" "G_UNICODE_BREAK_COMBINING_MARK" "3")
    '("surrogate" "G_UNICODE_BREAK_SURROGATE" "4")
    '("zero-width-space" "G_UNICODE_BREAK_ZERO_WIDTH_SPACE" "5")
    '("inseparable" "G_UNICODE_BREAK_INSEPARABLE" "6")
    '("non-breaking-glue" "G_UNICODE_BREAK_NON_BREAKING_GLUE" "7")
    '("contingent" "G_UNICODE_BREAK_CONTINGENT" "8")
    '("space" "G_UNICODE_BREAK_SPACE" "9")
    '("after" "G_UNICODE_BREAK_AFTER" "10")
    '("before" "G_UNICODE_BREAK_BEFORE" "11")
    '("before-and-after" "G_UNICODE_BREAK_BEFORE_AND_AFTER" "12")
    '("hyphen" "G_UNICODE_BREAK_HYPHEN" "13")
    '("non-starter" "G_UNICODE_BREAK_NON_STARTER" "14")
    '("open-punctuation" "G_UNICODE_BREAK_OPEN_PUNCTUATION" "15")
    '("close-punctuation" "G_UNICODE_BREAK_CLOSE_PUNCTUATION" "16")
    '("quotation" "G_UNICODE_BREAK_QUOTATION" "17")
    '("exclamation" "G_UNICODE_BREAK_EXCLAMATION" "18")
    '("ideographic" "G_UNICODE_BREAK_IDEOGRAPHIC" "19")
    '("numeric" "G_UNICODE_BREAK_NUMERIC" "20")
    '("infix-separator" "G_UNICODE_BREAK_INFIX_SEPARATOR" "21")
    '("symbol" "G_UNICODE_BREAK_SYMBOL" "22")
    '("alphabetic" "G_UNICODE_BREAK_ALPHABETIC" "23")
    '("prefix" "G_UNICODE_BREAK_PREFIX" "24")
    '("postfix" "G_UNICODE_BREAK_POSTFIX" "25")
    '("complex-context" "G_UNICODE_BREAK_COMPLEX_CONTEXT" "26")
    '("ambiguous" "G_UNICODE_BREAK_AMBIGUOUS" "27")
    '("unknown" "G_UNICODE_BREAK_UNKNOWN" "28")
    '("next-line" "G_UNICODE_BREAK_NEXT_LINE" "29")
    '("word-joiner" "G_UNICODE_BREAK_WORD_JOINER" "30")
    '("hangul-l-jamo" "G_UNICODE_BREAK_HANGUL_L_JAMO" "31")
    '("hangul-v-jamo" "G_UNICODE_BREAK_HANGUL_V_JAMO" "32")
    '("hangul-t-jamo" "G_UNICODE_BREAK_HANGUL_T_JAMO" "33")
    '("hangul-lv-syllable" "G_UNICODE_BREAK_HANGUL_LV_SYLLABLE" "34")
    '("hangul-lvt-syllable" "G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE" "35")
    '("close-paranthesis" "G_UNICODE_BREAK_CLOSE_PARANTHESIS" "36")
    '("close-parenthesis" "G_UNICODE_BREAK_CLOSE_PARENTHESIS" "36")
    '("conditional-japanese-starter" "G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER" "37")
    '("hebrew-letter" "G_UNICODE_BREAK_HEBREW_LETTER" "38")
    '("regional-indicator" "G_UNICODE_BREAK_REGIONAL_INDICATOR" "39")
    '("emoji-base" "G_UNICODE_BREAK_EMOJI_BASE" "40")
    '("emoji-modifier" "G_UNICODE_BREAK_EMOJI_MODIFIER" "41")
    '("zero-width-joiner" "G_UNICODE_BREAK_ZERO_WIDTH_JOINER" "42")
    '("aksara" "G_UNICODE_BREAK_AKSARA" "43")
    '("aksara-pre-base" "G_UNICODE_BREAK_AKSARA_PRE_BASE" "44")
    '("aksara-start" "G_UNICODE_BREAK_AKSARA_START" "45")
    '("virama-final" "G_UNICODE_BREAK_VIRAMA_FINAL" "46")
    '("virama" "G_UNICODE_BREAK_VIRAMA" "47")
    '("unambiguous-hyphen" "G_UNICODE_BREAK_UNAMBIGUOUS_HYPHEN" "48")
  )
)

(define-enum-extended UnicodeScript
  (in-module "GLib")
  (c-name "GUnicodeScript")
  (values
    '("invalid-code" "G_UNICODE_SCRIPT_INVALID_CODE" "-1")
    '("common" "G_UNICODE_SCRIPT_COMMON" "0")
    '("inherited" "G_UNICODE_SCRIPT_INHERITED" "1")
    '("arabic" "G_UNICODE_SCRIPT_ARABIC" "2")
    '("armenian" "G_UNICODE_SCRIPT_ARMENIAN" "3")
    '("bengali" "G_UNICODE_SCRIPT_BENGALI" "4")
    '("bopomofo" "G_UNICODE_SCRIPT_BOPOMOFO" "5")
    '("cherokee" "G_UNICODE_SCRIPT_CHEROKEE" "6")
    '("coptic" "G_UNICODE_SCRIPT_COPTIC" "7")
    '("cyrillic" "G_UNICODE_SCRIPT_CYRILLIC" "8")
    '("deseret" "G_UNICODE_SCRIPT_DESERET" "9")
    '("devanagari" "G_UNICODE_SCRIPT_DEVANAGARI" "10")
    '("ethiopic" "G_UNICODE_SCRIPT_ETHIOPIC" "11")
    '("georgian" "G_UNICODE_SCRIPT_GEORGIAN" "12")
    '("gothic" "G_UNICODE_SCRIPT_GOTHIC" "13")
    '("greek" "G_UNICODE_SCRIPT_GREEK" "14")
    '("gujarati" "G_UNICODE_SCRIPT_GUJARATI" "15")
    '("gurmukhi" "G_UNICODE_SCRIPT_GURMUKHI" "16")
    '("han" "G_UNICODE_SCRIPT_HAN" "17")
    '("hangul" "G_UNICODE_SCRIPT_HANGUL" "18")
    '("hebrew" "G_UNICODE_SCRIPT_HEBREW" "19")
    '("hiragana" "G_UNICODE_SCRIPT_HIRAGANA" "20")
    '("kannada" "G_UNICODE_SCRIPT_KANNADA" "21")
    '("katakana" "G_UNICODE_SCRIPT_KATAKANA" "22")
    '("khmer" "G_UNICODE_SCRIPT_KHMER" "23")
    '("lao" "G_UNICODE_SCRIPT_LAO" "24")
    '("latin" "G_UNICODE_SCRIPT_LATIN" "25")
    '("malayalam" "G_UNICODE_SCRIPT_MALAYALAM" "26")
    '("mongolian" "G_UNICODE_SCRIPT_MONGOLIAN" "27")
    '("myanmar" "G_UNICODE_SCRIPT_MYANMAR" "28")
    '("ogham" "G_UNICODE_SCRIPT_OGHAM" "29")
    '("old-italic" "G_UNICODE_SCRIPT_OLD_ITALIC" "30")
    '("oriya" "G_UNICODE_SCRIPT_ORIYA" "31")
    '("runic" "G_UNICODE_SCRIPT_RUNIC" "32")
    '("sinhala" "G_UNICODE_SCRIPT_SINHALA" "33")
    '("syriac" "G_UNICODE_SCRIPT_SYRIAC" "34")
    '("tamil" "G_UNICODE_SCRIPT_TAMIL" "35")
    '("telugu" "G_UNICODE_SCRIPT_TELUGU" "36")
    '("thaana" "G_UNICODE_SCRIPT_THAANA" "37")
    '("thai" "G_UNICODE_SCRIPT_THAI" "38")
    '("tibetan" "G_UNICODE_SCRIPT_TIBETAN" "39")
    '("canadian-aboriginal" "G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL" "40")
    '("yi" "G_UNICODE_SCRIPT_YI" "41")
    '("tagalog" "G_UNICODE_SCRIPT_TAGALOG" "42")
    '("hanunoo" "G_UNICODE_SCRIPT_HANUNOO" "43")
    '("buhid" "G_UNICODE_SCRIPT_BUHID" "44")
    '("tagbanwa" "G_UNICODE_SCRIPT_TAGBANWA" "45")
    '("braille" "G_UNICODE_SCRIPT_BRAILLE" "46")
    '("cypriot" "G_UNICODE_SCRIPT_CYPRIOT" "47")
    '("limbu" "G_UNICODE_SCRIPT_LIMBU" "48")
    '("osmanya" "G_UNICODE_SCRIPT_OSMANYA" "49")
    '("shavian" "G_UNICODE_SCRIPT_SHAVIAN" "50")
    '("linear-b" "G_UNICODE_SCRIPT_LINEAR_B" "51")
    '("tai-le" "G_UNICODE_SCRIPT_TAI_LE" "52")
    '("ugaritic" "G_UNICODE_SCRIPT_UGARITIC" "53")
    '("new-tai-lue" "G_UNICODE_SCRIPT_NEW_TAI_LUE" "54")
    '("buginese" "G_UNICODE_SCRIPT_BUGINESE" "55")
    '("glagolitic" "G_UNICODE_SCRIPT_GLAGOLITIC" "56")
    '("tifinagh" "G_UNICODE_SCRIPT_TIFINAGH" "57")
    '("syloti-nagri" "G_UNICODE_SCRIPT_SYLOTI_NAGRI" "58")
    '("old-persian" "G_UNICODE_SCRIPT_OLD_PERSIAN" "59")
    '("kharoshthi" "G_UNICODE_SCRIPT_KHAROSHTHI" "60")
    '("unknown" "G_UNICODE_SCRIPT_UNKNOWN" "61")
    '("balinese" "G_UNICODE_SCRIPT_BALINESE" "62")
    '("cuneiform" "G_UNICODE_SCRIPT_CUNEIFORM" "63")
    '("phoenician" "G_UNICODE_SCRIPT_PHOENICIAN" "64")
    '("phags-pa" "G_UNICODE_SCRIPT_PHAGS_PA" "65")
    '("nko" "G_UNICODE_SCRIPT_NKO" "66")
    '("kayah-li" "G_UNICODE_SCRIPT_KAYAH_LI" "67")
    '("lepcha" "G_UNICODE_SCRIPT_LEPCHA" "68")
    '("rejang" "G_UNICODE_SCRIPT_REJANG" "69")
    '("sundanese" "G_UNICODE_SCRIPT_SUNDANESE" "70")
    '("saurashtra" "G_UNICODE_SCRIPT_SAURASHTRA" "71")
    '("cham" "G_UNICODE_SCRIPT_CHAM" "72")
    '("ol-chiki" "G_UNICODE_SCRIPT_OL_CHIKI" "73")
    '("vai" "G_UNICODE_SCRIPT_VAI" "74")
    '("carian" "G_UNICODE_SCRIPT_CARIAN" "75")
    '("lycian" "G_UNICODE_SCRIPT_LYCIAN" "76")
    '("lydian" "G_UNICODE_SCRIPT_LYDIAN" "77")
    '("avestan" "G_UNICODE_SCRIPT_AVESTAN" "78")
    '("bamum" "G_UNICODE_SCRIPT_BAMUM" "79")
    '("egyptian-hieroglyphs" "G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS" "80")
    '("imperial-aramaic" "G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC" "81")
    '("inscriptional-pahlavi" "G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI" "82")
    '("inscriptional-parthian" "G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN" "83")
    '("javanese" "G_UNICODE_SCRIPT_JAVANESE" "84")
    '("kaithi" "G_UNICODE_SCRIPT_KAITHI" "85")
    '("lisu" "G_UNICODE_SCRIPT_LISU" "86")
    '("meetei-mayek" "G_UNICODE_SCRIPT_MEETEI_MAYEK" "87")
    '("old-south-arabian" "G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN" "88")
    '("old-turkic" "G_UNICODE_SCRIPT_OLD_TURKIC" "89")
    '("samaritan" "G_UNICODE_SCRIPT_SAMARITAN" "90")
    '("tai-tham" "G_UNICODE_SCRIPT_TAI_THAM" "91")
    '("tai-viet" "G_UNICODE_SCRIPT_TAI_VIET" "92")
    '("batak" "G_UNICODE_SCRIPT_BATAK" "93")
    '("brahmi" "G_UNICODE_SCRIPT_BRAHMI" "94")
    '("mandaic" "G_UNICODE_SCRIPT_MANDAIC" "95")
    '("chakma" "G_UNICODE_SCRIPT_CHAKMA" "96")
    '("meroitic-cursive" "G_UNICODE_SCRIPT_MEROITIC_CURSIVE" "97")
    '("meroitic-hieroglyphs" "G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS" "98")
    '("miao" "G_UNICODE_SCRIPT_MIAO" "99")
    '("sharada" "G_UNICODE_SCRIPT_SHARADA" "100")
    '("sora-sompeng" "G_UNICODE_SCRIPT_SORA_SOMPENG" "101")
    '("takri" "G_UNICODE_SCRIPT_TAKRI" "102")
    '("bassa-vah" "G_UNICODE_SCRIPT_BASSA_VAH" "103")
    '("caucasian-albanian" "G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN" "104")
    '("duployan" "G_UNICODE_SCRIPT_DUPLOYAN" "105")
    '("elbasan" "G_UNICODE_SCRIPT_ELBASAN" "106")
    '("grantha" "G_UNICODE_SCRIPT_GRANTHA" "107")
    '("khojki" "G_UNICODE_SCRIPT_KHOJKI" "108")
    '("khudawadi" "G_UNICODE_SCRIPT_KHUDAWADI" "109")
    '("linear-a" "G_UNICODE_SCRIPT_LINEAR_A" "110")
    '("mahajani" "G_UNICODE_SCRIPT_MAHAJANI" "111")
    '("manichaean" "G_UNICODE_SCRIPT_MANICHAEAN" "112")
    '("mende-kikakui" "G_UNICODE_SCRIPT_MENDE_KIKAKUI" "113")
    '("modi" "G_UNICODE_SCRIPT_MODI" "114")
    '("mro" "G_UNICODE_SCRIPT_MRO" "115")
    '("nabataean" "G_UNICODE_SCRIPT_NABATAEAN" "116")
    '("old-north-arabian" "G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN" "117")
    '("old-permic" "G_UNICODE_SCRIPT_OLD_PERMIC" "118")
    '("pahawh-hmong" "G_UNICODE_SCRIPT_PAHAWH_HMONG" "119")
    '("palmyrene" "G_UNICODE_SCRIPT_PALMYRENE" "120")
    '("pau-cin-hau" "G_UNICODE_SCRIPT_PAU_CIN_HAU" "121")
    '("psalter-pahlavi" "G_UNICODE_SCRIPT_PSALTER_PAHLAVI" "122")
    '("siddham" "G_UNICODE_SCRIPT_SIDDHAM" "123")
    '("tirhuta" "G_UNICODE_SCRIPT_TIRHUTA" "124")
    '("warang-citi" "G_UNICODE_SCRIPT_WARANG_CITI" "125")
    '("ahom" "G_UNICODE_SCRIPT_AHOM" "126")
    '("anatolian-hieroglyphs" "G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS" "127")
    '("hatran" "G_UNICODE_SCRIPT_HATRAN" "128")
    '("multani" "G_UNICODE_SCRIPT_MULTANI" "129")
    '("old-hungarian" "G_UNICODE_SCRIPT_OLD_HUNGARIAN" "130")
    '("signwriting" "G_UNICODE_SCRIPT_SIGNWRITING" "131")
    '("adlam" "G_UNICODE_SCRIPT_ADLAM" "132")
    '("bhaiksuki" "G_UNICODE_SCRIPT_BHAIKSUKI" "133")
    '("marchen" "G_UNICODE_SCRIPT_MARCHEN" "134")
    '("newa" "G_UNICODE_SCRIPT_NEWA" "135")
    '("osage" "G_UNICODE_SCRIPT_OSAGE" "136")
    '("tangut" "G_UNICODE_SCRIPT_TANGUT" "137")
    '("masaram-gondi" "G_UNICODE_SCRIPT_MASARAM_GONDI" "138")
    '("nushu" "G_UNICODE_SCRIPT_NUSHU" "139")
    '("soyombo" "G_UNICODE_SCRIPT_SOYOMBO" "140")
    '("zanabazar-square" "G_UNICODE_SCRIPT_ZANABAZAR_SQUARE" "141")
    '("dogra" "G_UNICODE_SCRIPT_DOGRA" "142")
    '("gunjala-gondi" "G_UNICODE_SCRIPT_GUNJALA_GONDI" "143")
    '("hanifi-rohingya" "G_UNICODE_SCRIPT_HANIFI_ROHINGYA" "144")
    '("makasar" "G_UNICODE_SCRIPT_MAKASAR" "145")
    '("medefaidrin" "G_UNICODE_SCRIPT_MEDEFAIDRIN" "146")
    '("old-sogdian" "G_UNICODE_SCRIPT_OLD_SOGDIAN" "147")
    '("sogdian" "G_UNICODE_SCRIPT_SOGDIAN" "148")
    '("elymaic" "G_UNICODE_SCRIPT_ELYMAIC" "149")
    '("nandinagari" "G_UNICODE_SCRIPT_NANDINAGARI" "150")
    '("nyiakeng-puachue-hmong" "G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG" "151")
    '("wancho" "G_UNICODE_SCRIPT_WANCHO" "152")
    '("chorasmian" "G_UNICODE_SCRIPT_CHORASMIAN" "153")
    '("dives-akuru" "G_UNICODE_SCRIPT_DIVES_AKURU" "154")
    '("khitan-small-script" "G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT" "155")
    '("yezidi" "G_UNICODE_SCRIPT_YEZIDI" "156")
    '("cypro-minoan" "G_UNICODE_SCRIPT_CYPRO_MINOAN" "157")
    '("old-uyghur" "G_UNICODE_SCRIPT_OLD_UYGHUR" "158")
    '("tangsa" "G_UNICODE_SCRIPT_TANGSA" "159")
    '("toto" "G_UNICODE_SCRIPT_TOTO" "160")
    '("vithkuqi" "G_UNICODE_SCRIPT_VITHKUQI" "161")
    '("math" "G_UNICODE_SCRIPT_MATH" "162")
    '("kawi" "G_UNICODE_SCRIPT_KAWI" "163")
    '("nag-mundari" "G_UNICODE_SCRIPT_NAG_MUNDARI" "164")
    '("todhri" "G_UNICODE_SCRIPT_TODHRI" "165")
    '("garay" "G_UNICODE_SCRIPT_GARAY" "166")
    '("tulu-tigalari" "G_UNICODE_SCRIPT_TULU_TIGALARI" "167")
    '("sunuwar" "G_UNICODE_SCRIPT_SUNUWAR" "168")
    '("gurung-khema" "G_UNICODE_SCRIPT_GURUNG_KHEMA" "169")
    '("kirat-rai" "G_UNICODE_SCRIPT_KIRAT_RAI" "170")
    '("ol-onal" "G_UNICODE_SCRIPT_OL_ONAL" "171")
    '("sidetic" "G_UNICODE_SCRIPT_SIDETIC" "172")
    '("tolong-siki" "G_UNICODE_SCRIPT_TOLONG_SIKI" "173")
    '("tai-yo" "G_UNICODE_SCRIPT_TAI_YO" "174")
    '("beria-erfe" "G_UNICODE_SCRIPT_BERIA_ERFE" "175")
  )
)

(define-enum-extended UnicodeType
  (in-module "GLib")
  (c-name "GUnicodeType")
  (values
    '("control" "G_UNICODE_CONTROL" "0")
    '("format" "G_UNICODE_FORMAT" "1")
    '("unassigned" "G_UNICODE_UNASSIGNED" "2")
    '("private-use" "G_UNICODE_PRIVATE_USE" "3")
    '("surrogate" "G_UNICODE_SURROGATE" "4")
    '("lowercase-letter" "G_UNICODE_LOWERCASE_LETTER" "5")
    '("modifier-letter" "G_UNICODE_MODIFIER_LETTER" "6")
    '("other-letter" "G_UNICODE_OTHER_LETTER" "7")
    '("titlecase-letter" "G_UNICODE_TITLECASE_LETTER" "8")
    '("uppercase-letter" "G_UNICODE_UPPERCASE_LETTER" "9")
    '("spacing-mark" "G_UNICODE_SPACING_MARK" "10")
    '("enclosing-mark" "G_UNICODE_ENCLOSING_MARK" "11")
    '("non-spacing-mark" "G_UNICODE_NON_SPACING_MARK" "12")
    '("decimal-number" "G_UNICODE_DECIMAL_NUMBER" "13")
    '("letter-number" "G_UNICODE_LETTER_NUMBER" "14")
    '("other-number" "G_UNICODE_OTHER_NUMBER" "15")
    '("connect-punctuation" "G_UNICODE_CONNECT_PUNCTUATION" "16")
    '("dash-punctuation" "G_UNICODE_DASH_PUNCTUATION" "17")
    '("close-punctuation" "G_UNICODE_CLOSE_PUNCTUATION" "18")
    '("final-punctuation" "G_UNICODE_FINAL_PUNCTUATION" "19")
    '("initial-punctuation" "G_UNICODE_INITIAL_PUNCTUATION" "20")
    '("other-punctuation" "G_UNICODE_OTHER_PUNCTUATION" "21")
    '("open-punctuation" "G_UNICODE_OPEN_PUNCTUATION" "22")
    '("currency-symbol" "G_UNICODE_CURRENCY_SYMBOL" "23")
    '("modifier-symbol" "G_UNICODE_MODIFIER_SYMBOL" "24")
    '("math-symbol" "G_UNICODE_MATH_SYMBOL" "25")
    '("other-symbol" "G_UNICODE_OTHER_SYMBOL" "26")
    '("line-separator" "G_UNICODE_LINE_SEPARATOR" "27")
    '("paragraph-separator" "G_UNICODE_PARAGRAPH_SEPARATOR" "28")
    '("space-separator" "G_UNICODE_SPACE_SEPARATOR" "29")
  )
)

(define-enum-extended UriError
  (in-module "GLib")
  (c-name "GUriError")
  (values
    '("failed" "G_URI_ERROR_FAILED" "0")
    '("bad-scheme" "G_URI_ERROR_BAD_SCHEME" "1")
    '("bad-user" "G_URI_ERROR_BAD_USER" "2")
    '("bad-password" "G_URI_ERROR_BAD_PASSWORD" "3")
    '("bad-auth-params" "G_URI_ERROR_BAD_AUTH_PARAMS" "4")
    '("bad-host" "G_URI_ERROR_BAD_HOST" "5")
    '("bad-port" "G_URI_ERROR_BAD_PORT" "6")
    '("bad-path" "G_URI_ERROR_BAD_PATH" "7")
    '("bad-query" "G_URI_ERROR_BAD_QUERY" "8")
    '("bad-fragment" "G_URI_ERROR_BAD_FRAGMENT" "9")
  )
)

(define-enum-extended UserDirectory
  (in-module "GLib")
  (c-name "GUserDirectory")
  (values
    '("directory-desktop" "G_USER_DIRECTORY_DESKTOP" "0")
    '("directory-documents" "G_USER_DIRECTORY_DOCUMENTS" "1")
    '("directory-download" "G_USER_DIRECTORY_DOWNLOAD" "2")
    '("directory-music" "G_USER_DIRECTORY_MUSIC" "3")
    '("directory-pictures" "G_USER_DIRECTORY_PICTURES" "4")
    '("directory-public-share" "G_USER_DIRECTORY_PUBLIC_SHARE" "5")
    '("directory-templates" "G_USER_DIRECTORY_TEMPLATES" "6")
    '("directory-videos" "G_USER_DIRECTORY_VIDEOS" "7")
    '("directory-projects" "G_USER_DIRECTORY_PROJECTS" "8")
    '("n-directories" "G_USER_N_DIRECTORIES" "9")
  )
)

(define-enum-extended VariantClass
  (in-module "GLib")
  (c-name "GVariantClass")
  (values
    '("boolean" "G_VARIANT_CLASS_BOOLEAN" "98")
    '("byte" "G_VARIANT_CLASS_BYTE" "121")
    '("int16" "G_VARIANT_CLASS_INT16" "110")
    '("uint16" "G_VARIANT_CLASS_UINT16" "113")
    '("int32" "G_VARIANT_CLASS_INT32" "105")
    '("uint32" "G_VARIANT_CLASS_UINT32" "117")
    '("int64" "G_VARIANT_CLASS_INT64" "120")
    '("uint64" "G_VARIANT_CLASS_UINT64" "116")
    '("handle" "G_VARIANT_CLASS_HANDLE" "104")
    '("double" "G_VARIANT_CLASS_DOUBLE" "100")
    '("string" "G_VARIANT_CLASS_STRING" "115")
    '("object-path" "G_VARIANT_CLASS_OBJECT_PATH" "111")
    '("signature" "G_VARIANT_CLASS_SIGNATURE" "103")
    '("variant" "G_VARIANT_CLASS_VARIANT" "118")
    '("maybe" "G_VARIANT_CLASS_MAYBE" "109")
    '("array" "G_VARIANT_CLASS_ARRAY" "97")
    '("tuple" "G_VARIANT_CLASS_TUPLE" "40")
    '("dict-entry" "G_VARIANT_CLASS_DICT_ENTRY" "123")
  )
)

(define-enum-extended VariantParseError
  (in-module "GLib")
  (c-name "GVariantParseError")
  (values
    '("failed" "G_VARIANT_PARSE_ERROR_FAILED" "0")
    '("basic-type-expected" "G_VARIANT_PARSE_ERROR_BASIC_TYPE_EXPECTED" "1")
    '("cannot-infer-type" "G_VARIANT_PARSE_ERROR_CANNOT_INFER_TYPE" "2")
    '("definite-type-expected" "G_VARIANT_PARSE_ERROR_DEFINITE_TYPE_EXPECTED" "3")
    '("input-not-at-end" "G_VARIANT_PARSE_ERROR_INPUT_NOT_AT_END" "4")
    '("invalid-character" "G_VARIANT_PARSE_ERROR_INVALID_CHARACTER" "5")
    '("invalid-format-string" "G_VARIANT_PARSE_ERROR_INVALID_FORMAT_STRING" "6")
    '("invalid-object-path" "G_VARIANT_PARSE_ERROR_INVALID_OBJECT_PATH" "7")
    '("invalid-signature" "G_VARIANT_PARSE_ERROR_INVALID_SIGNATURE" "8")
    '("invalid-type-string" "G_VARIANT_PARSE_ERROR_INVALID_TYPE_STRING" "9")
    '("no-common-type" "G_VARIANT_PARSE_ERROR_NO_COMMON_TYPE" "10")
    '("number-out-of-range" "G_VARIANT_PARSE_ERROR_NUMBER_OUT_OF_RANGE" "11")
    '("number-too-big" "G_VARIANT_PARSE_ERROR_NUMBER_TOO_BIG" "12")
    '("type-error" "G_VARIANT_PARSE_ERROR_TYPE_ERROR" "13")
    '("unexpected-token" "G_VARIANT_PARSE_ERROR_UNEXPECTED_TOKEN" "14")
    '("unknown-keyword" "G_VARIANT_PARSE_ERROR_UNKNOWN_KEYWORD" "15")
    '("unterminated-string-constant" "G_VARIANT_PARSE_ERROR_UNTERMINATED_STRING_CONSTANT" "16")
    '("value-expected" "G_VARIANT_PARSE_ERROR_VALUE_EXPECTED" "17")
    '("recursion" "G_VARIANT_PARSE_ERROR_RECURSION" "18")
  )
)


;; Flags

(define-flags-extended AsciiType
  (in-module "GLib")
  (c-name "GAsciiType")
  (values
    '("alnum" "G_ASCII_ALNUM" "1 << 0")
    '("alpha" "G_ASCII_ALPHA" "1 << 1")
    '("cntrl" "G_ASCII_CNTRL" "1 << 2")
    '("digit" "G_ASCII_DIGIT" "1 << 3")
    '("graph" "G_ASCII_GRAPH" "1 << 4")
    '("lower" "G_ASCII_LOWER" "1 << 5")
    '("print" "G_ASCII_PRINT" "1 << 6")
    '("punct" "G_ASCII_PUNCT" "1 << 7")
    '("space" "G_ASCII_SPACE" "1 << 8")
    '("upper" "G_ASCII_UPPER" "1 << 9")
    '("xdigit" "G_ASCII_XDIGIT" "1 << 10")
  )
)

(define-flags-extended FileSetContentsFlags
  (in-module "GLib")
  (c-name "GFileSetContentsFlags")
  (values
    '("none" "G_FILE_SET_CONTENTS_NONE" "0x0")
    '("consistent" "G_FILE_SET_CONTENTS_CONSISTENT" "1 << 0")
    '("durable" "G_FILE_SET_CONTENTS_DURABLE" "1 << 1")
    '("only-existing" "G_FILE_SET_CONTENTS_ONLY_EXISTING" "1 << 2")
  )
)

(define-flags-extended FileTest
  (in-module "GLib")
  (c-name "GFileTest")
  (values
    '("is-regular" "G_FILE_TEST_IS_REGULAR" "1 << 0")
    '("is-symlink" "G_FILE_TEST_IS_SYMLINK" "1 << 1")
    '("is-dir" "G_FILE_TEST_IS_DIR" "1 << 2")
    '("is-executable" "G_FILE_TEST_IS_EXECUTABLE" "1 << 3")
    '("exists" "G_FILE_TEST_EXISTS" "1 << 4")
  )
)

(define-flags-extended FormatSizeFlags
  (in-module "GLib")
  (c-name "GFormatSizeFlags")
  (values
    '("default" "G_FORMAT_SIZE_DEFAULT" "0x0")
    '("long-format" "G_FORMAT_SIZE_LONG_FORMAT" "1 << 0")
    '("iec-units" "G_FORMAT_SIZE_IEC_UNITS" "1 << 1")
    '("bits" "G_FORMAT_SIZE_BITS" "1 << 2")
    '("only-value" "G_FORMAT_SIZE_ONLY_VALUE" "1 << 3")
    '("only-unit" "G_FORMAT_SIZE_ONLY_UNIT" "1 << 4")
  )
)

(define-flags-extended HookFlagMask
  (in-module "GLib")
  (c-name "GHookFlagMask")
  (values
    '("active" "G_HOOK_FLAG_ACTIVE" "1 << 0")
    '("in-call" "G_HOOK_FLAG_IN_CALL" "1 << 1")
    '("reserved1" "G_HOOK_FLAG_RESERVED1" "1 << 2")
  )
)

(define-flags-extended IOCondition
  (in-module "GLib")
  (c-name "GIOCondition")
  (values
    '("in" "G_IO_IN" "1 << 0")
    '("out" "G_IO_OUT" "1 << 2")
    '("pri" "G_IO_PRI" "1 << 1")
    '("err" "G_IO_ERR" "1 << 3")
    '("hup" "G_IO_HUP" "1 << 4")
    '("nval" "G_IO_NVAL" "1 << 5")
  )
)

(define-flags-extended IOFlags
  (in-module "GLib")
  (c-name "GIOFlags")
  (values
    '("none" "G_IO_FLAG_NONE" "0x0")
    '("append" "G_IO_FLAG_APPEND" "1 << 0")
    '("nonblock" "G_IO_FLAG_NONBLOCK" "1 << 1")
    '("is-readable" "G_IO_FLAG_IS_READABLE" "1 << 2")
    '("is-writable" "G_IO_FLAG_IS_WRITABLE" "1 << 3")
    '("is-writeable" "G_IO_FLAG_IS_WRITEABLE" "1 << 3")
    '("is-seekable" "G_IO_FLAG_IS_SEEKABLE" "1 << 4")
    '("mask" "G_IO_FLAG_MASK" "0x1f")
    '("get-mask" "G_IO_FLAG_GET_MASK" "0x1f")
    '("set-mask" "G_IO_FLAG_SET_MASK" "0x3")
  )
)

(define-flags-extended KeyFileFlags
  (in-module "GLib")
  (c-name "GKeyFileFlags")
  (values
    '("none" "G_KEY_FILE_NONE" "0x0")
    '("keep-comments" "G_KEY_FILE_KEEP_COMMENTS" "1 << 0")
    '("keep-translations" "G_KEY_FILE_KEEP_TRANSLATIONS" "1 << 1")
  )
)

(define-flags-extended LogLevelFlags
  (in-module "GLib")
  (c-name "GLogLevelFlags")
  (values
    '("flag-recursion" "G_LOG_FLAG_RECURSION" "1 << 0")
    '("flag-fatal" "G_LOG_FLAG_FATAL" "1 << 1")
    '("level-error" "G_LOG_LEVEL_ERROR" "1 << 2")
    '("level-critical" "G_LOG_LEVEL_CRITICAL" "1 << 3")
    '("level-warning" "G_LOG_LEVEL_WARNING" "1 << 4")
    '("level-message" "G_LOG_LEVEL_MESSAGE" "1 << 5")
    '("level-info" "G_LOG_LEVEL_INFO" "1 << 6")
    '("level-debug" "G_LOG_LEVEL_DEBUG" "1 << 7")
    '("level-mask" "G_LOG_LEVEL_MASK" "-0x4")
  )
)

(define-flags-extended MainContextFlags
  (in-module "GLib")
  (c-name "GMainContextFlags")
  (values
    '("none" "G_MAIN_CONTEXT_FLAGS_NONE" "0x0")
    '("ownerless-polling" "G_MAIN_CONTEXT_FLAGS_OWNERLESS_POLLING" "1 << 0")
  )
)

(define-flags-extended MarkupCollectType
  (in-module "GLib")
  (c-name "GMarkupCollectType")
  (values
    '("invalid" "G_MARKUP_COLLECT_INVALID" "0x0")
    '("string" "G_MARKUP_COLLECT_STRING" "1 << 0")
    '("strdup" "G_MARKUP_COLLECT_STRDUP" "1 << 1")
    '("boolean" "G_MARKUP_COLLECT_BOOLEAN" "0x3")
    '("tristate" "G_MARKUP_COLLECT_TRISTATE" "1 << 2")
    '("optional" "G_MARKUP_COLLECT_OPTIONAL" "1 << 16")
  )
)

(define-flags-extended MarkupParseFlags
  (in-module "GLib")
  (c-name "GMarkupParseFlags")
  (values
    '("default-flags" "G_MARKUP_DEFAULT_FLAGS" "0x0")
    '("do-not-use-this-unsupported-flag" "G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG" "1 << 0")
    '("treat-cdata-as-text" "G_MARKUP_TREAT_CDATA_AS_TEXT" "1 << 1")
    '("prefix-error-position" "G_MARKUP_PREFIX_ERROR_POSITION" "1 << 2")
    '("ignore-qualified" "G_MARKUP_IGNORE_QUALIFIED" "1 << 3")
  )
)

(define-flags-extended OptionFlags
  (in-module "GLib")
  (c-name "GOptionFlags")
  (values
    '("none" "G_OPTION_FLAG_NONE" "0x0")
    '("hidden" "G_OPTION_FLAG_HIDDEN" "1 << 0")
    '("in-main" "G_OPTION_FLAG_IN_MAIN" "1 << 1")
    '("reverse" "G_OPTION_FLAG_REVERSE" "1 << 2")
    '("no-arg" "G_OPTION_FLAG_NO_ARG" "1 << 3")
    '("filename" "G_OPTION_FLAG_FILENAME" "1 << 4")
    '("optional-arg" "G_OPTION_FLAG_OPTIONAL_ARG" "1 << 5")
    '("noalias" "G_OPTION_FLAG_NOALIAS" "1 << 6")
    '("deprecated" "G_OPTION_FLAG_DEPRECATED" "1 << 7")
  )
)

(define-flags-extended RegexCompileFlags
  (in-module "GLib")
  (c-name "GRegexCompileFlags")
  (values
    '("default" "G_REGEX_DEFAULT" "0x0")
    '("caseless" "G_REGEX_CASELESS" "1 << 0")
    '("multiline" "G_REGEX_MULTILINE" "1 << 1")
    '("dotall" "G_REGEX_DOTALL" "1 << 2")
    '("extended" "G_REGEX_EXTENDED" "1 << 3")
    '("anchored" "G_REGEX_ANCHORED" "1 << 4")
    '("dollar-endonly" "G_REGEX_DOLLAR_ENDONLY" "1 << 5")
    '("ungreedy" "G_REGEX_UNGREEDY" "1 << 9")
    '("raw" "G_REGEX_RAW" "1 << 11")
    '("no-auto-capture" "G_REGEX_NO_AUTO_CAPTURE" "1 << 12")
    '("optimize" "G_REGEX_OPTIMIZE" "1 << 13")
    '("firstline" "G_REGEX_FIRSTLINE" "1 << 18")
    '("dupnames" "G_REGEX_DUPNAMES" "1 << 19")
    '("newline-cr" "G_REGEX_NEWLINE_CR" "1 << 20")
    '("newline-lf" "G_REGEX_NEWLINE_LF" "1 << 21")
    '("newline-reserved1" "G_REGEX_NEWLINE_RESERVED1" "1 << 22")
; The following values are private. They have previously been included
; in glibmm. They must be kept until we can break API.
    '("newline-crlf" "G_REGEX_NEWLINE_CRLF" "0x300000")
    '("newline-anycrlf" "G_REGEX_NEWLINE_ANYCRLF" "0x500000")
    '("bsr-anycrlf" "G_REGEX_BSR_ANYCRLF" "1 << 23")
    '("javascript-compat" "G_REGEX_JAVASCRIPT_COMPAT" "1 << 25")
  )
)

(define-flags-extended RegexMatchFlags
  (in-module "GLib")
  (c-name "GRegexMatchFlags")
  (values
    '("default" "G_REGEX_MATCH_DEFAULT" "0x0")
    '("anchored" "G_REGEX_MATCH_ANCHORED" "1 << 4")
    '("notbol" "G_REGEX_MATCH_NOTBOL" "1 << 7")
    '("noteol" "G_REGEX_MATCH_NOTEOL" "1 << 8")
    '("notempty" "G_REGEX_MATCH_NOTEMPTY" "1 << 10")
    '("partial" "G_REGEX_MATCH_PARTIAL" "1 << 15")
    '("newline-cr" "G_REGEX_MATCH_NEWLINE_CR" "1 << 20")
    '("newline-lf" "G_REGEX_MATCH_NEWLINE_LF" "1 << 21")
    '("newline-crlf" "G_REGEX_MATCH_NEWLINE_CRLF" "0x300000")
    '("newline-any" "G_REGEX_MATCH_NEWLINE_ANY" "1 << 22")
    '("newline-anycrlf" "G_REGEX_MATCH_NEWLINE_ANYCRLF" "0x500000")
    '("bsr-anycrlf" "G_REGEX_MATCH_BSR_ANYCRLF" "1 << 23")
    '("bsr-any" "G_REGEX_MATCH_BSR_ANY" "1 << 24")
    '("partial-soft" "G_REGEX_MATCH_PARTIAL_SOFT" "1 << 15")
    '("partial-hard" "G_REGEX_MATCH_PARTIAL_HARD" "1 << 27")
    '("notempty-atstart" "G_REGEX_MATCH_NOTEMPTY_ATSTART" "1 << 28")
  )
)

(define-flags-extended SpawnFlags
  (in-module "GLib")
  (c-name "GSpawnFlags")
  (values
    '("default" "G_SPAWN_DEFAULT" "0x0")
    '("leave-descriptors-open" "G_SPAWN_LEAVE_DESCRIPTORS_OPEN" "1 << 0")
    '("do-not-reap-child" "G_SPAWN_DO_NOT_REAP_CHILD" "1 << 1")
    '("search-path" "G_SPAWN_SEARCH_PATH" "1 << 2")
    '("stdout-to-dev-null" "G_SPAWN_STDOUT_TO_DEV_NULL" "1 << 3")
    '("stderr-to-dev-null" "G_SPAWN_STDERR_TO_DEV_NULL" "1 << 4")
    '("child-inherits-stdin" "G_SPAWN_CHILD_INHERITS_STDIN" "1 << 5")
    '("file-and-argv-zero" "G_SPAWN_FILE_AND_ARGV_ZERO" "1 << 6")
    '("search-path-from-envp" "G_SPAWN_SEARCH_PATH_FROM_ENVP" "1 << 7")
    '("cloexec-pipes" "G_SPAWN_CLOEXEC_PIPES" "1 << 8")
    '("child-inherits-stdout" "G_SPAWN_CHILD_INHERITS_STDOUT" "1 << 9")
    '("child-inherits-stderr" "G_SPAWN_CHILD_INHERITS_STDERR" "1 << 10")
    '("stdin-from-dev-null" "G_SPAWN_STDIN_FROM_DEV_NULL" "1 << 11")
  )
)

(define-flags-extended TestSubprocessFlags
  (in-module "GLib")
  (c-name "GTestSubprocessFlags")
  (values
    '("default" "G_TEST_SUBPROCESS_DEFAULT" "0x0")
    '("inherit-stdin" "G_TEST_SUBPROCESS_INHERIT_STDIN" "1 << 0")
    '("inherit-stdout" "G_TEST_SUBPROCESS_INHERIT_STDOUT" "1 << 1")
    '("inherit-stderr" "G_TEST_SUBPROCESS_INHERIT_STDERR" "1 << 2")
    '("inherit-descriptors" "G_TEST_SUBPROCESS_INHERIT_DESCRIPTORS" "1 << 3")
  )
)

(define-flags-extended TestTrapFlags
  (in-module "GLib")
  (c-name "GTestTrapFlags")
  (values
    '("default" "G_TEST_TRAP_DEFAULT" "0x0")
    '("silence-stdout" "G_TEST_TRAP_SILENCE_STDOUT" "1 << 7")
    '("silence-stderr" "G_TEST_TRAP_SILENCE_STDERR" "1 << 8")
    '("inherit-stdin" "G_TEST_TRAP_INHERIT_STDIN" "1 << 9")
  )
)

(define-flags-extended TraverseFlags
  (in-module "GLib")
  (c-name "GTraverseFlags")
  (values
    '("leaves" "G_TRAVERSE_LEAVES" "1 << 0")
    '("non-leaves" "G_TRAVERSE_NON_LEAVES" "1 << 1")
    '("all" "G_TRAVERSE_ALL" "0x3")
    '("mask" "G_TRAVERSE_MASK" "0x3")
    '("leafs" "G_TRAVERSE_LEAFS" "1 << 0")
    '("non-leafs" "G_TRAVERSE_NON_LEAFS" "1 << 1")
  )
)

(define-flags-extended UriFlags
  (in-module "GLib")
  (c-name "GUriFlags")
  (values
    '("none" "G_URI_FLAGS_NONE" "0x0")
    '("parse-relaxed" "G_URI_FLAGS_PARSE_RELAXED" "1 << 0")
    '("has-password" "G_URI_FLAGS_HAS_PASSWORD" "1 << 1")
    '("has-auth-params" "G_URI_FLAGS_HAS_AUTH_PARAMS" "1 << 2")
    '("encoded" "G_URI_FLAGS_ENCODED" "1 << 3")
    '("non-dns" "G_URI_FLAGS_NON_DNS" "1 << 4")
    '("encoded-query" "G_URI_FLAGS_ENCODED_QUERY" "1 << 5")
    '("encoded-path" "G_URI_FLAGS_ENCODED_PATH" "1 << 6")
    '("encoded-fragment" "G_URI_FLAGS_ENCODED_FRAGMENT" "1 << 7")
    '("scheme-normalize" "G_URI_FLAGS_SCHEME_NORMALIZE" "1 << 8")
  )
)

(define-flags-extended UriHideFlags
  (in-module "GLib")
  (c-name "GUriHideFlags")
  (values
    '("none" "G_URI_HIDE_NONE" "0x0")
    '("userinfo" "G_URI_HIDE_USERINFO" "1 << 0")
    '("password" "G_URI_HIDE_PASSWORD" "1 << 1")
    '("auth-params" "G_URI_HIDE_AUTH_PARAMS" "1 << 2")
    '("query" "G_URI_HIDE_QUERY" "1 << 3")
    '("fragment" "G_URI_HIDE_FRAGMENT" "1 << 4")
  )
)

(define-flags-extended UriParamsFlags
  (in-module "GLib")
  (c-name "GUriParamsFlags")
  (values
    '("none" "G_URI_PARAMS_NONE" "0x0")
    '("case-insensitive" "G_URI_PARAMS_CASE_INSENSITIVE" "1 << 0")
    '("www-form" "G_URI_PARAMS_WWW_FORM" "1 << 1")
    '("parse-relaxed" "G_URI_PARAMS_PARSE_RELAXED" "1 << 2")
  )
)

;; Namespace GLibUnix

;; Enums

(define-enum-extended PipeEnd
  (in-module "GLibUnix")
  (c-name "GUnixPipeEnd")
  (values
    '("read" "G_UNIX_PIPE_END_READ" "0")
    '("write" "G_UNIX_PIPE_END_WRITE" "1")
  )
)


;; Flags

