// This file was generated by gir (https://github.com/gtk-rs/gir)
// from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT

use glib_sys::*;
use std::env;
use std::error::Error;
use std::ffi::OsString;
use std::mem::{align_of, size_of};
use std::path::Path;
use std::process::Command;
use std::str;
use tempfile::Builder;

static PACKAGES: &[&str] = &["glib-2.0"];

#[derive(Clone, Debug)]
struct Compiler {
    pub args: Vec<String>,
}

impl Compiler {
    pub fn new() -> Result<Self, Box<dyn Error>> {
        let mut args = get_var("CC", "cc")?;
        args.push("-Wno-deprecated-declarations".to_owned());
        // For _Generic
        args.push("-std=c11".to_owned());
        // For %z support in printf when using MinGW.
        args.push("-D__USE_MINGW_ANSI_STDIO".to_owned());
        args.extend(get_var("CFLAGS", "")?);
        args.extend(get_var("CPPFLAGS", "")?);
        args.extend(pkg_config_cflags(PACKAGES)?);
        Ok(Self { args })
    }

    pub fn compile(&self, src: &Path, out: &Path) -> Result<(), Box<dyn Error>> {
        let mut cmd = self.to_command();
        cmd.arg(src);
        cmd.arg("-o");
        cmd.arg(out);
        let status = cmd.spawn()?.wait()?;
        if !status.success() {
            return Err(format!("compilation command {:?} failed, {}", &cmd, status).into());
        }
        Ok(())
    }

    fn to_command(&self) -> Command {
        let mut cmd = Command::new(&self.args[0]);
        cmd.args(&self.args[1..]);
        cmd
    }
}

fn get_var(name: &str, default: &str) -> Result<Vec<String>, Box<dyn Error>> {
    match env::var(name) {
        Ok(value) => Ok(shell_words::split(&value)?),
        Err(env::VarError::NotPresent) => Ok(shell_words::split(default)?),
        Err(err) => Err(format!("{} {}", name, err).into()),
    }
}

fn pkg_config_cflags(packages: &[&str]) -> Result<Vec<String>, Box<dyn Error>> {
    if packages.is_empty() {
        return Ok(Vec::new());
    }
    let pkg_config = env::var_os("PKG_CONFIG").unwrap_or_else(|| OsString::from("pkg-config"));
    let mut cmd = Command::new(pkg_config);
    cmd.arg("--cflags");
    cmd.args(packages);
    let out = cmd.output()?;
    if !out.status.success() {
        return Err(format!("command {:?} returned {}", &cmd, out.status).into());
    }
    let stdout = str::from_utf8(&out.stdout)?;
    Ok(shell_words::split(stdout.trim())?)
}

#[derive(Copy, Clone, Debug, Eq, PartialEq)]
struct Layout {
    size: usize,
    alignment: usize,
}

#[derive(Copy, Clone, Debug, Default, Eq, PartialEq)]
struct Results {
    /// Number of successfully completed tests.
    passed: usize,
    /// Total number of failed tests (including those that failed to compile).
    failed: usize,
}

impl Results {
    fn record_passed(&mut self) {
        self.passed += 1;
    }
    fn record_failed(&mut self) {
        self.failed += 1;
    }
    fn summary(&self) -> String {
        format!("{} passed; {} failed", self.passed, self.failed)
    }
    fn expect_total_success(&self) {
        if self.failed == 0 {
            println!("OK: {}", self.summary());
        } else {
            panic!("FAILED: {}", self.summary());
        };
    }
}

#[test]
fn cross_validate_constants_with_c() {
    let mut c_constants: Vec<(String, String)> = Vec::new();

    for l in get_c_output("constant").unwrap().lines() {
        let mut words = l.trim().split(';');
        let name = words.next().expect("Failed to parse name").to_owned();
        let value = words
            .next()
            .and_then(|s| s.parse().ok())
            .expect("Failed to parse value");
        c_constants.push((name, value));
    }

    let mut results = Results::default();

    for ((rust_name, rust_value), (c_name, c_value)) in
        RUST_CONSTANTS.iter().zip(c_constants.iter())
    {
        if rust_name != c_name {
            results.record_failed();
            eprintln!("Name mismatch:\nRust: {:?}\nC:    {:?}", rust_name, c_name,);
            continue;
        }

        if rust_value != c_value {
            results.record_failed();
            eprintln!(
                "Constant value mismatch for {}\nRust: {:?}\nC:    {:?}",
                rust_name, rust_value, &c_value
            );
            continue;
        }

        results.record_passed();
    }

    results.expect_total_success();
}

#[test]
fn cross_validate_layout_with_c() {
    let mut c_layouts = Vec::new();

    for l in get_c_output("layout").unwrap().lines() {
        let mut words = l.trim().split(';');
        let name = words.next().expect("Failed to parse name").to_owned();
        let size = words
            .next()
            .and_then(|s| s.parse().ok())
            .expect("Failed to parse size");
        let alignment = words
            .next()
            .and_then(|s| s.parse().ok())
            .expect("Failed to parse alignment");
        c_layouts.push((name, Layout { size, alignment }));
    }

    let mut results = Results::default();

    for ((rust_name, rust_layout), (c_name, c_layout)) in RUST_LAYOUTS.iter().zip(c_layouts.iter())
    {
        if rust_name != c_name {
            results.record_failed();
            eprintln!("Name mismatch:\nRust: {:?}\nC:    {:?}", rust_name, c_name,);
            continue;
        }

        if rust_layout != c_layout {
            results.record_failed();
            eprintln!(
                "Layout mismatch for {}\nRust: {:?}\nC:    {:?}",
                rust_name, rust_layout, &c_layout
            );
            continue;
        }

        results.record_passed();
    }

    results.expect_total_success();
}

fn get_c_output(name: &str) -> Result<String, Box<dyn Error>> {
    let tmpdir = Builder::new().prefix("abi").tempdir()?;
    let exe = tmpdir.path().join(name);
    let c_file = Path::new("tests").join(name).with_extension("c");

    let cc = Compiler::new().expect("configured compiler");
    cc.compile(&c_file, &exe)?;

    let mut abi_cmd = Command::new(exe);
    let output = abi_cmd.output()?;
    if !output.status.success() {
        return Err(format!("command {:?} failed, {:?}", &abi_cmd, &output).into());
    }

    Ok(String::from_utf8(output.stdout)?)
}

const RUST_LAYOUTS: &[(&str, Layout)] = &[
    (
        "GArray",
        Layout {
            size: size_of::<GArray>(),
            alignment: align_of::<GArray>(),
        },
    ),
    (
        "GAsciiType",
        Layout {
            size: size_of::<GAsciiType>(),
            alignment: align_of::<GAsciiType>(),
        },
    ),
    (
        "GBookmarkFileError",
        Layout {
            size: size_of::<GBookmarkFileError>(),
            alignment: align_of::<GBookmarkFileError>(),
        },
    ),
    (
        "GByteArray",
        Layout {
            size: size_of::<GByteArray>(),
            alignment: align_of::<GByteArray>(),
        },
    ),
    (
        "GChecksumType",
        Layout {
            size: size_of::<GChecksumType>(),
            alignment: align_of::<GChecksumType>(),
        },
    ),
    (
        "GCond",
        Layout {
            size: size_of::<GCond>(),
            alignment: align_of::<GCond>(),
        },
    ),
    (
        "GConvertError",
        Layout {
            size: size_of::<GConvertError>(),
            alignment: align_of::<GConvertError>(),
        },
    ),
    (
        "GDate",
        Layout {
            size: size_of::<GDate>(),
            alignment: align_of::<GDate>(),
        },
    ),
    (
        "GDateDMY",
        Layout {
            size: size_of::<GDateDMY>(),
            alignment: align_of::<GDateDMY>(),
        },
    ),
    (
        "GDateDay",
        Layout {
            size: size_of::<GDateDay>(),
            alignment: align_of::<GDateDay>(),
        },
    ),
    (
        "GDateMonth",
        Layout {
            size: size_of::<GDateMonth>(),
            alignment: align_of::<GDateMonth>(),
        },
    ),
    (
        "GDateWeekday",
        Layout {
            size: size_of::<GDateWeekday>(),
            alignment: align_of::<GDateWeekday>(),
        },
    ),
    (
        "GDateYear",
        Layout {
            size: size_of::<GDateYear>(),
            alignment: align_of::<GDateYear>(),
        },
    ),
    (
        "GDebugKey",
        Layout {
            size: size_of::<GDebugKey>(),
            alignment: align_of::<GDebugKey>(),
        },
    ),
    (
        "GError",
        Layout {
            size: size_of::<GError>(),
            alignment: align_of::<GError>(),
        },
    ),
    (
        "GErrorType",
        Layout {
            size: size_of::<GErrorType>(),
            alignment: align_of::<GErrorType>(),
        },
    ),
    (
        "GFileError",
        Layout {
            size: size_of::<GFileError>(),
            alignment: align_of::<GFileError>(),
        },
    ),
    (
        "GFileSetContentsFlags",
        Layout {
            size: size_of::<GFileSetContentsFlags>(),
            alignment: align_of::<GFileSetContentsFlags>(),
        },
    ),
    (
        "GFileTest",
        Layout {
            size: size_of::<GFileTest>(),
            alignment: align_of::<GFileTest>(),
        },
    ),
    (
        "GFormatSizeFlags",
        Layout {
            size: size_of::<GFormatSizeFlags>(),
            alignment: align_of::<GFormatSizeFlags>(),
        },
    ),
    (
        "GHashTableIter",
        Layout {
            size: size_of::<GHashTableIter>(),
            alignment: align_of::<GHashTableIter>(),
        },
    ),
    (
        "GHook",
        Layout {
            size: size_of::<GHook>(),
            alignment: align_of::<GHook>(),
        },
    ),
    (
        "GHookFlagMask",
        Layout {
            size: size_of::<GHookFlagMask>(),
            alignment: align_of::<GHookFlagMask>(),
        },
    ),
    (
        "GHookList",
        Layout {
            size: size_of::<GHookList>(),
            alignment: align_of::<GHookList>(),
        },
    ),
    (
        "GIOChannelError",
        Layout {
            size: size_of::<GIOChannelError>(),
            alignment: align_of::<GIOChannelError>(),
        },
    ),
    (
        "GIOCondition",
        Layout {
            size: size_of::<GIOCondition>(),
            alignment: align_of::<GIOCondition>(),
        },
    ),
    (
        "GIOError",
        Layout {
            size: size_of::<GIOError>(),
            alignment: align_of::<GIOError>(),
        },
    ),
    (
        "GIOFlags",
        Layout {
            size: size_of::<GIOFlags>(),
            alignment: align_of::<GIOFlags>(),
        },
    ),
    (
        "GIOFuncs",
        Layout {
            size: size_of::<GIOFuncs>(),
            alignment: align_of::<GIOFuncs>(),
        },
    ),
    (
        "GIOStatus",
        Layout {
            size: size_of::<GIOStatus>(),
            alignment: align_of::<GIOStatus>(),
        },
    ),
    (
        "GKeyFileError",
        Layout {
            size: size_of::<GKeyFileError>(),
            alignment: align_of::<GKeyFileError>(),
        },
    ),
    (
        "GKeyFileFlags",
        Layout {
            size: size_of::<GKeyFileFlags>(),
            alignment: align_of::<GKeyFileFlags>(),
        },
    ),
    (
        "GList",
        Layout {
            size: size_of::<GList>(),
            alignment: align_of::<GList>(),
        },
    ),
    (
        "GLogField",
        Layout {
            size: size_of::<GLogField>(),
            alignment: align_of::<GLogField>(),
        },
    ),
    (
        "GLogLevelFlags",
        Layout {
            size: size_of::<GLogLevelFlags>(),
            alignment: align_of::<GLogLevelFlags>(),
        },
    ),
    (
        "GLogWriterOutput",
        Layout {
            size: size_of::<GLogWriterOutput>(),
            alignment: align_of::<GLogWriterOutput>(),
        },
    ),
    (
        "GMarkupCollectType",
        Layout {
            size: size_of::<GMarkupCollectType>(),
            alignment: align_of::<GMarkupCollectType>(),
        },
    ),
    (
        "GMarkupError",
        Layout {
            size: size_of::<GMarkupError>(),
            alignment: align_of::<GMarkupError>(),
        },
    ),
    (
        "GMarkupParseFlags",
        Layout {
            size: size_of::<GMarkupParseFlags>(),
            alignment: align_of::<GMarkupParseFlags>(),
        },
    ),
    (
        "GMarkupParser",
        Layout {
            size: size_of::<GMarkupParser>(),
            alignment: align_of::<GMarkupParser>(),
        },
    ),
    (
        "GMemVTable",
        Layout {
            size: size_of::<GMemVTable>(),
            alignment: align_of::<GMemVTable>(),
        },
    ),
    (
        "GMutex",
        Layout {
            size: size_of::<GMutex>(),
            alignment: align_of::<GMutex>(),
        },
    ),
    (
        "GNode",
        Layout {
            size: size_of::<GNode>(),
            alignment: align_of::<GNode>(),
        },
    ),
    (
        "GNormalizeMode",
        Layout {
            size: size_of::<GNormalizeMode>(),
            alignment: align_of::<GNormalizeMode>(),
        },
    ),
    (
        "GNumberParserError",
        Layout {
            size: size_of::<GNumberParserError>(),
            alignment: align_of::<GNumberParserError>(),
        },
    ),
    (
        "GOnce",
        Layout {
            size: size_of::<GOnce>(),
            alignment: align_of::<GOnce>(),
        },
    ),
    (
        "GOnceStatus",
        Layout {
            size: size_of::<GOnceStatus>(),
            alignment: align_of::<GOnceStatus>(),
        },
    ),
    (
        "GOptionArg",
        Layout {
            size: size_of::<GOptionArg>(),
            alignment: align_of::<GOptionArg>(),
        },
    ),
    (
        "GOptionEntry",
        Layout {
            size: size_of::<GOptionEntry>(),
            alignment: align_of::<GOptionEntry>(),
        },
    ),
    (
        "GOptionError",
        Layout {
            size: size_of::<GOptionError>(),
            alignment: align_of::<GOptionError>(),
        },
    ),
    (
        "GOptionFlags",
        Layout {
            size: size_of::<GOptionFlags>(),
            alignment: align_of::<GOptionFlags>(),
        },
    ),
    (
        "GPid",
        Layout {
            size: size_of::<GPid>(),
            alignment: align_of::<GPid>(),
        },
    ),
    (
        "GPollFD",
        Layout {
            size: size_of::<GPollFD>(),
            alignment: align_of::<GPollFD>(),
        },
    ),
    (
        "GPrivate",
        Layout {
            size: size_of::<GPrivate>(),
            alignment: align_of::<GPrivate>(),
        },
    ),
    (
        "GPtrArray",
        Layout {
            size: size_of::<GPtrArray>(),
            alignment: align_of::<GPtrArray>(),
        },
    ),
    (
        "GQuark",
        Layout {
            size: size_of::<GQuark>(),
            alignment: align_of::<GQuark>(),
        },
    ),
    (
        "GQueue",
        Layout {
            size: size_of::<GQueue>(),
            alignment: align_of::<GQueue>(),
        },
    ),
    (
        "GRWLock",
        Layout {
            size: size_of::<GRWLock>(),
            alignment: align_of::<GRWLock>(),
        },
    ),
    (
        "GRecMutex",
        Layout {
            size: size_of::<GRecMutex>(),
            alignment: align_of::<GRecMutex>(),
        },
    ),
    (
        "GRefString",
        Layout {
            size: size_of::<GRefString>(),
            alignment: align_of::<GRefString>(),
        },
    ),
    (
        "GRegexCompileFlags",
        Layout {
            size: size_of::<GRegexCompileFlags>(),
            alignment: align_of::<GRegexCompileFlags>(),
        },
    ),
    (
        "GRegexError",
        Layout {
            size: size_of::<GRegexError>(),
            alignment: align_of::<GRegexError>(),
        },
    ),
    (
        "GRegexMatchFlags",
        Layout {
            size: size_of::<GRegexMatchFlags>(),
            alignment: align_of::<GRegexMatchFlags>(),
        },
    ),
    (
        "GSList",
        Layout {
            size: size_of::<GSList>(),
            alignment: align_of::<GSList>(),
        },
    ),
    (
        "GScanner",
        Layout {
            size: size_of::<GScanner>(),
            alignment: align_of::<GScanner>(),
        },
    ),
    (
        "GSeekType",
        Layout {
            size: size_of::<GSeekType>(),
            alignment: align_of::<GSeekType>(),
        },
    ),
    (
        "GShellError",
        Layout {
            size: size_of::<GShellError>(),
            alignment: align_of::<GShellError>(),
        },
    ),
    (
        "GSliceConfig",
        Layout {
            size: size_of::<GSliceConfig>(),
            alignment: align_of::<GSliceConfig>(),
        },
    ),
    (
        "GSource",
        Layout {
            size: size_of::<GSource>(),
            alignment: align_of::<GSource>(),
        },
    ),
    (
        "GSourceCallbackFuncs",
        Layout {
            size: size_of::<GSourceCallbackFuncs>(),
            alignment: align_of::<GSourceCallbackFuncs>(),
        },
    ),
    (
        "GSourceFuncs",
        Layout {
            size: size_of::<GSourceFuncs>(),
            alignment: align_of::<GSourceFuncs>(),
        },
    ),
    (
        "GSpawnError",
        Layout {
            size: size_of::<GSpawnError>(),
            alignment: align_of::<GSpawnError>(),
        },
    ),
    (
        "GSpawnFlags",
        Layout {
            size: size_of::<GSpawnFlags>(),
            alignment: align_of::<GSpawnFlags>(),
        },
    ),
    (
        "GString",
        Layout {
            size: size_of::<GString>(),
            alignment: align_of::<GString>(),
        },
    ),
    (
        "GStrv",
        Layout {
            size: size_of::<GStrv>(),
            alignment: align_of::<GStrv>(),
        },
    ),
    (
        "GTestConfig",
        Layout {
            size: size_of::<GTestConfig>(),
            alignment: align_of::<GTestConfig>(),
        },
    ),
    (
        "GTestFileType",
        Layout {
            size: size_of::<GTestFileType>(),
            alignment: align_of::<GTestFileType>(),
        },
    ),
    (
        "GTestLogBuffer",
        Layout {
            size: size_of::<GTestLogBuffer>(),
            alignment: align_of::<GTestLogBuffer>(),
        },
    ),
    (
        "GTestLogMsg",
        Layout {
            size: size_of::<GTestLogMsg>(),
            alignment: align_of::<GTestLogMsg>(),
        },
    ),
    (
        "GTestLogType",
        Layout {
            size: size_of::<GTestLogType>(),
            alignment: align_of::<GTestLogType>(),
        },
    ),
    (
        "GTestResult",
        Layout {
            size: size_of::<GTestResult>(),
            alignment: align_of::<GTestResult>(),
        },
    ),
    (
        "GTestSubprocessFlags",
        Layout {
            size: size_of::<GTestSubprocessFlags>(),
            alignment: align_of::<GTestSubprocessFlags>(),
        },
    ),
    (
        "GTestTrapFlags",
        Layout {
            size: size_of::<GTestTrapFlags>(),
            alignment: align_of::<GTestTrapFlags>(),
        },
    ),
    (
        "GThreadError",
        Layout {
            size: size_of::<GThreadError>(),
            alignment: align_of::<GThreadError>(),
        },
    ),
    (
        "GThreadPool",
        Layout {
            size: size_of::<GThreadPool>(),
            alignment: align_of::<GThreadPool>(),
        },
    ),
    (
        "GTime",
        Layout {
            size: size_of::<GTime>(),
            alignment: align_of::<GTime>(),
        },
    ),
    (
        "GTimeSpan",
        Layout {
            size: size_of::<GTimeSpan>(),
            alignment: align_of::<GTimeSpan>(),
        },
    ),
    (
        "GTimeType",
        Layout {
            size: size_of::<GTimeType>(),
            alignment: align_of::<GTimeType>(),
        },
    ),
    (
        "GTimeVal",
        Layout {
            size: size_of::<GTimeVal>(),
            alignment: align_of::<GTimeVal>(),
        },
    ),
    (
        "GTokenType",
        Layout {
            size: size_of::<GTokenType>(),
            alignment: align_of::<GTokenType>(),
        },
    ),
    (
        "GTokenValue",
        Layout {
            size: size_of::<GTokenValue>(),
            alignment: align_of::<GTokenValue>(),
        },
    ),
    (
        "GTrashStack",
        Layout {
            size: size_of::<GTrashStack>(),
            alignment: align_of::<GTrashStack>(),
        },
    ),
    (
        "GTraverseFlags",
        Layout {
            size: size_of::<GTraverseFlags>(),
            alignment: align_of::<GTraverseFlags>(),
        },
    ),
    (
        "GTraverseType",
        Layout {
            size: size_of::<GTraverseType>(),
            alignment: align_of::<GTraverseType>(),
        },
    ),
    (
        "GType",
        Layout {
            size: size_of::<GType>(),
            alignment: align_of::<GType>(),
        },
    ),
    (
        "GUnicodeBreakType",
        Layout {
            size: size_of::<GUnicodeBreakType>(),
            alignment: align_of::<GUnicodeBreakType>(),
        },
    ),
    (
        "GUnicodeScript",
        Layout {
            size: size_of::<GUnicodeScript>(),
            alignment: align_of::<GUnicodeScript>(),
        },
    ),
    (
        "GUnicodeType",
        Layout {
            size: size_of::<GUnicodeType>(),
            alignment: align_of::<GUnicodeType>(),
        },
    ),
    (
        "GUriError",
        Layout {
            size: size_of::<GUriError>(),
            alignment: align_of::<GUriError>(),
        },
    ),
    (
        "GUriFlags",
        Layout {
            size: size_of::<GUriFlags>(),
            alignment: align_of::<GUriFlags>(),
        },
    ),
    (
        "GUriHideFlags",
        Layout {
            size: size_of::<GUriHideFlags>(),
            alignment: align_of::<GUriHideFlags>(),
        },
    ),
    (
        "GUriParamsFlags",
        Layout {
            size: size_of::<GUriParamsFlags>(),
            alignment: align_of::<GUriParamsFlags>(),
        },
    ),
    (
        "GUriParamsIter",
        Layout {
            size: size_of::<GUriParamsIter>(),
            alignment: align_of::<GUriParamsIter>(),
        },
    ),
    (
        "GUserDirectory",
        Layout {
            size: size_of::<GUserDirectory>(),
            alignment: align_of::<GUserDirectory>(),
        },
    ),
    (
        "GVariantBuilder",
        Layout {
            size: size_of::<GVariantBuilder>(),
            alignment: align_of::<GVariantBuilder>(),
        },
    ),
    (
        "GVariantClass",
        Layout {
            size: size_of::<GVariantClass>(),
            alignment: align_of::<GVariantClass>(),
        },
    ),
    (
        "GVariantDict",
        Layout {
            size: size_of::<GVariantDict>(),
            alignment: align_of::<GVariantDict>(),
        },
    ),
    (
        "GVariantIter",
        Layout {
            size: size_of::<GVariantIter>(),
            alignment: align_of::<GVariantIter>(),
        },
    ),
    (
        "GVariantParseError",
        Layout {
            size: size_of::<GVariantParseError>(),
            alignment: align_of::<GVariantParseError>(),
        },
    ),
];

const RUST_CONSTANTS: &[(&str, &str)] = &[
    ("GLIB_SYSDEF_AF_INET", "2"),
    ("GLIB_SYSDEF_AF_INET6", "10"),
    ("GLIB_SYSDEF_AF_UNIX", "1"),
    ("GLIB_SYSDEF_MSG_DONTROUTE", "4"),
    ("GLIB_SYSDEF_MSG_OOB", "1"),
    ("GLIB_SYSDEF_MSG_PEEK", "2"),
    ("(guint) G_ASCII_ALNUM", "1"),
    ("(guint) G_ASCII_ALPHA", "2"),
    ("(guint) G_ASCII_CNTRL", "4"),
    ("(guint) G_ASCII_DIGIT", "8"),
    ("G_ASCII_DTOSTR_BUF_SIZE", "39"),
    ("(guint) G_ASCII_GRAPH", "16"),
    ("(guint) G_ASCII_LOWER", "32"),
    ("(guint) G_ASCII_PRINT", "64"),
    ("(guint) G_ASCII_PUNCT", "128"),
    ("(guint) G_ASCII_SPACE", "256"),
    ("(guint) G_ASCII_UPPER", "512"),
    ("(guint) G_ASCII_XDIGIT", "1024"),
    ("G_BIG_ENDIAN", "4321"),
    ("(gint) G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED", "2"),
    ("(gint) G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND", "7"),
    ("(gint) G_BOOKMARK_FILE_ERROR_INVALID_URI", "0"),
    ("(gint) G_BOOKMARK_FILE_ERROR_INVALID_VALUE", "1"),
    ("(gint) G_BOOKMARK_FILE_ERROR_READ", "4"),
    ("(gint) G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING", "5"),
    ("(gint) G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND", "3"),
    ("(gint) G_BOOKMARK_FILE_ERROR_WRITE", "6"),
    ("(gint) G_CHECKSUM_MD5", "0"),
    ("(gint) G_CHECKSUM_SHA1", "1"),
    ("(gint) G_CHECKSUM_SHA256", "2"),
    ("(gint) G_CHECKSUM_SHA384", "4"),
    ("(gint) G_CHECKSUM_SHA512", "3"),
    ("(gint) G_CONVERT_ERROR_BAD_URI", "4"),
    ("(gint) G_CONVERT_ERROR_EMBEDDED_NUL", "7"),
    ("(gint) G_CONVERT_ERROR_FAILED", "2"),
    ("(gint) G_CONVERT_ERROR_ILLEGAL_SEQUENCE", "1"),
    ("(gint) G_CONVERT_ERROR_NOT_ABSOLUTE_PATH", "5"),
    ("(gint) G_CONVERT_ERROR_NO_CONVERSION", "0"),
    ("(gint) G_CONVERT_ERROR_NO_MEMORY", "6"),
    ("(gint) G_CONVERT_ERROR_PARTIAL_INPUT", "3"),
    ("G_CSET_A_2_Z", "ABCDEFGHIJKLMNOPQRSTUVWXYZ"),
    ("G_CSET_DIGITS", "0123456789"),
    ("G_CSET_a_2_z", "abcdefghijklmnopqrstuvwxyz"),
    ("G_DATALIST_FLAGS_MASK", "3"),
    ("(gint) G_DATE_APRIL", "4"),
    ("(gint) G_DATE_AUGUST", "8"),
    ("G_DATE_BAD_DAY", "0"),
    ("G_DATE_BAD_JULIAN", "0"),
    ("(gint) G_DATE_BAD_MONTH", "0"),
    ("(gint) G_DATE_BAD_WEEKDAY", "0"),
    ("G_DATE_BAD_YEAR", "0"),
    ("(gint) G_DATE_DAY", "0"),
    ("(gint) G_DATE_DECEMBER", "12"),
    ("(gint) G_DATE_FEBRUARY", "2"),
    ("(gint) G_DATE_FRIDAY", "5"),
    ("(gint) G_DATE_JANUARY", "1"),
    ("(gint) G_DATE_JULY", "7"),
    ("(gint) G_DATE_JUNE", "6"),
    ("(gint) G_DATE_MARCH", "3"),
    ("(gint) G_DATE_MAY", "5"),
    ("(gint) G_DATE_MONDAY", "1"),
    ("(gint) G_DATE_MONTH", "1"),
    ("(gint) G_DATE_NOVEMBER", "11"),
    ("(gint) G_DATE_OCTOBER", "10"),
    ("(gint) G_DATE_SATURDAY", "6"),
    ("(gint) G_DATE_SEPTEMBER", "9"),
    ("(gint) G_DATE_SUNDAY", "7"),
    ("(gint) G_DATE_THURSDAY", "4"),
    ("(gint) G_DATE_TUESDAY", "2"),
    ("(gint) G_DATE_WEDNESDAY", "3"),
    ("(gint) G_DATE_YEAR", "2"),
    ("G_E", "2.718282"),
    ("(gint) G_ERR_DIGIT_RADIX", "5"),
    ("(gint) G_ERR_FLOAT_MALFORMED", "7"),
    ("(gint) G_ERR_FLOAT_RADIX", "6"),
    ("(gint) G_ERR_NON_DIGIT_IN_CONST", "4"),
    ("(gint) G_ERR_UNEXP_EOF", "1"),
    ("(gint) G_ERR_UNEXP_EOF_IN_COMMENT", "3"),
    ("(gint) G_ERR_UNEXP_EOF_IN_STRING", "2"),
    ("(gint) G_ERR_UNKNOWN", "0"),
    ("(gint) G_FILE_ERROR_ACCES", "2"),
    ("(gint) G_FILE_ERROR_AGAIN", "19"),
    ("(gint) G_FILE_ERROR_BADF", "16"),
    ("(gint) G_FILE_ERROR_EXIST", "0"),
    ("(gint) G_FILE_ERROR_FAILED", "24"),
    ("(gint) G_FILE_ERROR_FAULT", "10"),
    ("(gint) G_FILE_ERROR_INTR", "20"),
    ("(gint) G_FILE_ERROR_INVAL", "17"),
    ("(gint) G_FILE_ERROR_IO", "21"),
    ("(gint) G_FILE_ERROR_ISDIR", "1"),
    ("(gint) G_FILE_ERROR_LOOP", "11"),
    ("(gint) G_FILE_ERROR_MFILE", "14"),
    ("(gint) G_FILE_ERROR_NAMETOOLONG", "3"),
    ("(gint) G_FILE_ERROR_NFILE", "15"),
    ("(gint) G_FILE_ERROR_NODEV", "7"),
    ("(gint) G_FILE_ERROR_NOENT", "4"),
    ("(gint) G_FILE_ERROR_NOMEM", "13"),
    ("(gint) G_FILE_ERROR_NOSPC", "12"),
    ("(gint) G_FILE_ERROR_NOSYS", "23"),
    ("(gint) G_FILE_ERROR_NOTDIR", "5"),
    ("(gint) G_FILE_ERROR_NXIO", "6"),
    ("(gint) G_FILE_ERROR_PERM", "22"),
    ("(gint) G_FILE_ERROR_PIPE", "18"),
    ("(gint) G_FILE_ERROR_ROFS", "8"),
    ("(gint) G_FILE_ERROR_TXTBSY", "9"),
    ("(guint) G_FILE_SET_CONTENTS_CONSISTENT", "1"),
    ("(guint) G_FILE_SET_CONTENTS_DURABLE", "2"),
    ("(guint) G_FILE_SET_CONTENTS_NONE", "0"),
    ("(guint) G_FILE_SET_CONTENTS_ONLY_EXISTING", "4"),
    ("(guint) G_FILE_TEST_EXISTS", "16"),
    ("(guint) G_FILE_TEST_IS_DIR", "4"),
    ("(guint) G_FILE_TEST_IS_EXECUTABLE", "8"),
    ("(guint) G_FILE_TEST_IS_REGULAR", "1"),
    ("(guint) G_FILE_TEST_IS_SYMLINK", "2"),
    ("(guint) G_FORMAT_SIZE_BITS", "4"),
    ("(guint) G_FORMAT_SIZE_DEFAULT", "0"),
    ("(guint) G_FORMAT_SIZE_IEC_UNITS", "2"),
    ("(guint) G_FORMAT_SIZE_LONG_FORMAT", "1"),
    ("(guint) G_HOOK_FLAG_ACTIVE", "1"),
    ("(guint) G_HOOK_FLAG_IN_CALL", "2"),
    ("(guint) G_HOOK_FLAG_MASK", "15"),
    ("G_HOOK_FLAG_USER_SHIFT", "4"),
    ("G_IEEE754_DOUBLE_BIAS", "1023"),
    ("G_IEEE754_FLOAT_BIAS", "127"),
    ("(gint) G_IN_ORDER", "0"),
    ("(gint) G_IO_CHANNEL_ERROR_FAILED", "8"),
    ("(gint) G_IO_CHANNEL_ERROR_FBIG", "0"),
    ("(gint) G_IO_CHANNEL_ERROR_INVAL", "1"),
    ("(gint) G_IO_CHANNEL_ERROR_IO", "2"),
    ("(gint) G_IO_CHANNEL_ERROR_ISDIR", "3"),
    ("(gint) G_IO_CHANNEL_ERROR_NOSPC", "4"),
    ("(gint) G_IO_CHANNEL_ERROR_NXIO", "5"),
    ("(gint) G_IO_CHANNEL_ERROR_OVERFLOW", "6"),
    ("(gint) G_IO_CHANNEL_ERROR_PIPE", "7"),
    ("(guint) G_IO_ERR", "8"),
    ("(gint) G_IO_ERROR_AGAIN", "1"),
    ("(gint) G_IO_ERROR_INVAL", "2"),
    ("(gint) G_IO_ERROR_NONE", "0"),
    ("(gint) G_IO_ERROR_UNKNOWN", "3"),
    ("(guint) G_IO_FLAG_APPEND", "1"),
    ("(guint) G_IO_FLAG_GET_MASK", "31"),
    ("(guint) G_IO_FLAG_IS_READABLE", "4"),
    ("(guint) G_IO_FLAG_IS_SEEKABLE", "16"),
    ("(guint) G_IO_FLAG_IS_WRITABLE", "8"),
    ("(guint) G_IO_FLAG_IS_WRITEABLE", "8"),
    ("(guint) G_IO_FLAG_MASK", "31"),
    ("(guint) G_IO_FLAG_NONBLOCK", "2"),
    ("(guint) G_IO_FLAG_SET_MASK", "3"),
    ("(guint) G_IO_HUP", "16"),
    ("(guint) G_IO_IN", "1"),
    ("(guint) G_IO_NVAL", "32"),
    ("(guint) G_IO_OUT", "4"),
    ("(guint) G_IO_PRI", "2"),
    ("(gint) G_IO_STATUS_AGAIN", "3"),
    ("(gint) G_IO_STATUS_EOF", "2"),
    ("(gint) G_IO_STATUS_ERROR", "0"),
    ("(gint) G_IO_STATUS_NORMAL", "1"),
    ("G_KEY_FILE_DESKTOP_GROUP", "Desktop Entry"),
    ("G_KEY_FILE_DESKTOP_KEY_ACTIONS", "Actions"),
    ("G_KEY_FILE_DESKTOP_KEY_CATEGORIES", "Categories"),
    ("G_KEY_FILE_DESKTOP_KEY_COMMENT", "Comment"),
    ("G_KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE", "DBusActivatable"),
    ("G_KEY_FILE_DESKTOP_KEY_EXEC", "Exec"),
    ("G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME", "GenericName"),
    ("G_KEY_FILE_DESKTOP_KEY_HIDDEN", "Hidden"),
    ("G_KEY_FILE_DESKTOP_KEY_ICON", "Icon"),
    ("G_KEY_FILE_DESKTOP_KEY_MIME_TYPE", "MimeType"),
    ("G_KEY_FILE_DESKTOP_KEY_NAME", "Name"),
    ("G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN", "NotShowIn"),
    ("G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY", "NoDisplay"),
    ("G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN", "OnlyShowIn"),
    ("G_KEY_FILE_DESKTOP_KEY_PATH", "Path"),
    ("G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY", "StartupNotify"),
    ("G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS", "StartupWMClass"),
    ("G_KEY_FILE_DESKTOP_KEY_TERMINAL", "Terminal"),
    ("G_KEY_FILE_DESKTOP_KEY_TRY_EXEC", "TryExec"),
    ("G_KEY_FILE_DESKTOP_KEY_TYPE", "Type"),
    ("G_KEY_FILE_DESKTOP_KEY_URL", "URL"),
    ("G_KEY_FILE_DESKTOP_KEY_VERSION", "Version"),
    ("G_KEY_FILE_DESKTOP_TYPE_APPLICATION", "Application"),
    ("G_KEY_FILE_DESKTOP_TYPE_DIRECTORY", "Directory"),
    ("G_KEY_FILE_DESKTOP_TYPE_LINK", "Link"),
    ("(gint) G_KEY_FILE_ERROR_GROUP_NOT_FOUND", "4"),
    ("(gint) G_KEY_FILE_ERROR_INVALID_VALUE", "5"),
    ("(gint) G_KEY_FILE_ERROR_KEY_NOT_FOUND", "3"),
    ("(gint) G_KEY_FILE_ERROR_NOT_FOUND", "2"),
    ("(gint) G_KEY_FILE_ERROR_PARSE", "1"),
    ("(gint) G_KEY_FILE_ERROR_UNKNOWN_ENCODING", "0"),
    ("(guint) G_KEY_FILE_KEEP_COMMENTS", "1"),
    ("(guint) G_KEY_FILE_KEEP_TRANSLATIONS", "2"),
    ("(guint) G_KEY_FILE_NONE", "0"),
    ("(gint) G_LEVEL_ORDER", "3"),
    ("G_LITTLE_ENDIAN", "1234"),
    ("G_LN10", "2.302585"),
    ("G_LN2", "0.693147"),
    ("G_LOG_2_BASE_10", "0.301030"),
    ("G_LOG_DOMAIN", "0"),
    ("G_LOG_FATAL_MASK", "5"),
    ("(guint) G_LOG_FLAG_FATAL", "2"),
    ("(guint) G_LOG_FLAG_RECURSION", "1"),
    ("(guint) G_LOG_LEVEL_CRITICAL", "8"),
    ("(guint) G_LOG_LEVEL_DEBUG", "128"),
    ("(guint) G_LOG_LEVEL_ERROR", "4"),
    ("(guint) G_LOG_LEVEL_INFO", "64"),
    ("(guint) G_LOG_LEVEL_MASK", "-4"),
    ("(guint) G_LOG_LEVEL_MESSAGE", "32"),
    ("G_LOG_LEVEL_USER_SHIFT", "8"),
    ("(guint) G_LOG_LEVEL_WARNING", "16"),
    ("(gint) G_LOG_WRITER_HANDLED", "1"),
    ("(gint) G_LOG_WRITER_UNHANDLED", "0"),
    ("(guint) G_MARKUP_COLLECT_BOOLEAN", "3"),
    ("(guint) G_MARKUP_COLLECT_INVALID", "0"),
    ("(guint) G_MARKUP_COLLECT_OPTIONAL", "65536"),
    ("(guint) G_MARKUP_COLLECT_STRDUP", "2"),
    ("(guint) G_MARKUP_COLLECT_STRING", "1"),
    ("(guint) G_MARKUP_COLLECT_TRISTATE", "4"),
    ("(guint) G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG", "1"),
    ("(gint) G_MARKUP_ERROR_BAD_UTF8", "0"),
    ("(gint) G_MARKUP_ERROR_EMPTY", "1"),
    ("(gint) G_MARKUP_ERROR_INVALID_CONTENT", "5"),
    ("(gint) G_MARKUP_ERROR_MISSING_ATTRIBUTE", "6"),
    ("(gint) G_MARKUP_ERROR_PARSE", "2"),
    ("(gint) G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE", "4"),
    ("(gint) G_MARKUP_ERROR_UNKNOWN_ELEMENT", "3"),
    ("(guint) G_MARKUP_IGNORE_QUALIFIED", "8"),
    ("(guint) G_MARKUP_PREFIX_ERROR_POSITION", "4"),
    ("(guint) G_MARKUP_TREAT_CDATA_AS_TEXT", "2"),
    ("(gint) G_NORMALIZE_ALL", "2"),
    ("(gint) G_NORMALIZE_ALL_COMPOSE", "3"),
    ("(gint) G_NORMALIZE_DEFAULT", "0"),
    ("(gint) G_NORMALIZE_DEFAULT_COMPOSE", "1"),
    ("(gint) G_NORMALIZE_NFC", "1"),
    ("(gint) G_NORMALIZE_NFD", "0"),
    ("(gint) G_NORMALIZE_NFKC", "3"),
    ("(gint) G_NORMALIZE_NFKD", "2"),
    ("(gint) G_NUMBER_PARSER_ERROR_INVALID", "0"),
    ("(gint) G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS", "1"),
    ("(gint) G_ONCE_STATUS_NOTCALLED", "0"),
    ("(gint) G_ONCE_STATUS_PROGRESS", "1"),
    ("(gint) G_ONCE_STATUS_READY", "2"),
    ("(gint) G_OPTION_ARG_CALLBACK", "3"),
    ("(gint) G_OPTION_ARG_DOUBLE", "7"),
    ("(gint) G_OPTION_ARG_FILENAME", "4"),
    ("(gint) G_OPTION_ARG_FILENAME_ARRAY", "6"),
    ("(gint) G_OPTION_ARG_INT", "2"),
    ("(gint) G_OPTION_ARG_INT64", "8"),
    ("(gint) G_OPTION_ARG_NONE", "0"),
    ("(gint) G_OPTION_ARG_STRING", "1"),
    ("(gint) G_OPTION_ARG_STRING_ARRAY", "5"),
    ("(gint) G_OPTION_ERROR_BAD_VALUE", "1"),
    ("(gint) G_OPTION_ERROR_FAILED", "2"),
    ("(gint) G_OPTION_ERROR_UNKNOWN_OPTION", "0"),
    ("(guint) G_OPTION_FLAG_FILENAME", "16"),
    ("(guint) G_OPTION_FLAG_HIDDEN", "1"),
    ("(guint) G_OPTION_FLAG_IN_MAIN", "2"),
    ("(guint) G_OPTION_FLAG_NOALIAS", "64"),
    ("(guint) G_OPTION_FLAG_NONE", "0"),
    ("(guint) G_OPTION_FLAG_NO_ARG", "8"),
    ("(guint) G_OPTION_FLAG_OPTIONAL_ARG", "32"),
    ("(guint) G_OPTION_FLAG_REVERSE", "4"),
    ("G_OPTION_REMAINING", ""),
    ("G_PDP_ENDIAN", "3412"),
    ("G_PI", "3.141593"),
    ("G_PI_2", "1.570796"),
    ("G_PI_4", "0.785398"),
    ("(gint) G_POST_ORDER", "2"),
    ("(gint) G_PRE_ORDER", "1"),
    ("G_PRIORITY_DEFAULT", "0"),
    ("G_PRIORITY_DEFAULT_IDLE", "200"),
    ("G_PRIORITY_HIGH", "-100"),
    ("G_PRIORITY_HIGH_IDLE", "100"),
    ("G_PRIORITY_LOW", "300"),
    ("(guint) G_REGEX_ANCHORED", "16"),
    ("(guint) G_REGEX_BSR_ANYCRLF", "8388608"),
    ("(guint) G_REGEX_CASELESS", "1"),
    ("(guint) G_REGEX_DOLLAR_ENDONLY", "32"),
    ("(guint) G_REGEX_DOTALL", "4"),
    ("(guint) G_REGEX_DUPNAMES", "524288"),
    ("(gint) G_REGEX_ERROR_ASSERTION_EXPECTED", "128"),
    (
        "(gint) G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN",
        "159",
    ),
    (
        "(gint) G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED",
        "166",
    ),
    ("(gint) G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE", "176"),
    ("(gint) G_REGEX_ERROR_COMPILE", "0"),
    ("(gint) G_REGEX_ERROR_DEFINE_REPETION", "155"),
    ("(gint) G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME", "143"),
    ("(gint) G_REGEX_ERROR_EXPRESSION_TOO_LARGE", "120"),
    ("(gint) G_REGEX_ERROR_EXTRA_SUBPATTERN_NAME", "165"),
    ("(gint) G_REGEX_ERROR_HEX_CODE_TOO_LARGE", "134"),
    ("(gint) G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS", "156"),
    (
        "(gint) G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE",
        "115",
    ),
    ("(gint) G_REGEX_ERROR_INFINITE_LOOP", "140"),
    ("(gint) G_REGEX_ERROR_INTERNAL", "4"),
    ("(gint) G_REGEX_ERROR_INVALID_CONDITION", "135"),
    ("(gint) G_REGEX_ERROR_INVALID_CONTROL_CHAR", "168"),
    ("(gint) G_REGEX_ERROR_INVALID_DATA_CHARACTER", "164"),
    (
        "(gint) G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS",
        "107",
    ),
    ("(gint) G_REGEX_ERROR_INVALID_OCTAL_VALUE", "151"),
    ("(gint) G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE", "158"),
    ("(gint) G_REGEX_ERROR_MALFORMED_CONDITION", "126"),
    ("(gint) G_REGEX_ERROR_MALFORMED_PROPERTY", "146"),
    ("(gint) G_REGEX_ERROR_MATCH", "3"),
    ("(gint) G_REGEX_ERROR_MEMORY_ERROR", "121"),
    ("(gint) G_REGEX_ERROR_MISSING_BACK_REFERENCE", "157"),
    ("(gint) G_REGEX_ERROR_MISSING_CONTROL_CHAR", "102"),
    ("(gint) G_REGEX_ERROR_MISSING_DIGIT", "163"),
    ("(gint) G_REGEX_ERROR_MISSING_NAME", "169"),
    ("(gint) G_REGEX_ERROR_MISSING_SUBPATTERN_NAME", "162"),
    (
        "(gint) G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR",
        "142",
    ),
    ("(gint) G_REGEX_ERROR_NAME_TOO_LONG", "175"),
    ("(gint) G_REGEX_ERROR_NOTHING_TO_REPEAT", "109"),
    ("(gint) G_REGEX_ERROR_NOT_SUPPORTED_IN_CLASS", "171"),
    ("(gint) G_REGEX_ERROR_NUMBER_TOO_BIG", "161"),
    ("(gint) G_REGEX_ERROR_OPTIMIZE", "1"),
    (
        "(gint) G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED",
        "131",
    ),
    (
        "(gint) G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS",
        "113",
    ),
    ("(gint) G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER", "104"),
    ("(gint) G_REGEX_ERROR_QUANTIFIER_TOO_BIG", "105"),
    ("(gint) G_REGEX_ERROR_RANGE_OUT_OF_ORDER", "108"),
    ("(gint) G_REGEX_ERROR_REPLACE", "2"),
    (
        "(gint) G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND",
        "136",
    ),
    ("(gint) G_REGEX_ERROR_STRAY_BACKSLASH", "101"),
    ("(gint) G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG", "148"),
    ("(gint) G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE", "154"),
    ("(gint) G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES", "127"),
    ("(gint) G_REGEX_ERROR_TOO_MANY_FORWARD_REFERENCES", "172"),
    ("(gint) G_REGEX_ERROR_TOO_MANY_SUBPATTERNS", "149"),
    (
        "(gint) G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB",
        "160",
    ),
    ("(gint) G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME", "130"),
    ("(gint) G_REGEX_ERROR_UNKNOWN_PROPERTY", "147"),
    ("(gint) G_REGEX_ERROR_UNMATCHED_PARENTHESIS", "114"),
    ("(gint) G_REGEX_ERROR_UNRECOGNIZED_CHARACTER", "112"),
    ("(gint) G_REGEX_ERROR_UNRECOGNIZED_ESCAPE", "103"),
    ("(gint) G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS", "106"),
    ("(gint) G_REGEX_ERROR_UNTERMINATED_COMMENT", "118"),
    ("(gint) G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND", "125"),
    ("(guint) G_REGEX_EXTENDED", "8"),
    ("(guint) G_REGEX_FIRSTLINE", "262144"),
    ("(guint) G_REGEX_JAVASCRIPT_COMPAT", "33554432"),
    ("(guint) G_REGEX_MATCH_ANCHORED", "16"),
    ("(guint) G_REGEX_MATCH_BSR_ANY", "16777216"),
    ("(guint) G_REGEX_MATCH_BSR_ANYCRLF", "8388608"),
    ("(guint) G_REGEX_MATCH_NEWLINE_ANY", "4194304"),
    ("(guint) G_REGEX_MATCH_NEWLINE_ANYCRLF", "5242880"),
    ("(guint) G_REGEX_MATCH_NEWLINE_CR", "1048576"),
    ("(guint) G_REGEX_MATCH_NEWLINE_CRLF", "3145728"),
    ("(guint) G_REGEX_MATCH_NEWLINE_LF", "2097152"),
    ("(guint) G_REGEX_MATCH_NOTBOL", "128"),
    ("(guint) G_REGEX_MATCH_NOTEMPTY", "1024"),
    ("(guint) G_REGEX_MATCH_NOTEMPTY_ATSTART", "268435456"),
    ("(guint) G_REGEX_MATCH_NOTEOL", "256"),
    ("(guint) G_REGEX_MATCH_PARTIAL", "32768"),
    ("(guint) G_REGEX_MATCH_PARTIAL_HARD", "134217728"),
    ("(guint) G_REGEX_MATCH_PARTIAL_SOFT", "32768"),
    ("(guint) G_REGEX_MULTILINE", "2"),
    ("(guint) G_REGEX_NEWLINE_ANYCRLF", "5242880"),
    ("(guint) G_REGEX_NEWLINE_CR", "1048576"),
    ("(guint) G_REGEX_NEWLINE_CRLF", "3145728"),
    ("(guint) G_REGEX_NEWLINE_LF", "2097152"),
    ("(guint) G_REGEX_NO_AUTO_CAPTURE", "4096"),
    ("(guint) G_REGEX_OPTIMIZE", "8192"),
    ("(guint) G_REGEX_RAW", "2048"),
    ("(guint) G_REGEX_UNGREEDY", "512"),
    ("(gint) G_SEEK_CUR", "0"),
    ("(gint) G_SEEK_END", "2"),
    ("(gint) G_SEEK_SET", "1"),
    ("(gint) G_SHELL_ERROR_BAD_QUOTING", "0"),
    ("(gint) G_SHELL_ERROR_EMPTY_STRING", "1"),
    ("(gint) G_SHELL_ERROR_FAILED", "2"),
    ("(gint) G_SLICE_CONFIG_ALWAYS_MALLOC", "1"),
    ("(gint) G_SLICE_CONFIG_BYPASS_MAGAZINES", "2"),
    ("(gint) G_SLICE_CONFIG_CHUNK_SIZES", "5"),
    ("(gint) G_SLICE_CONFIG_COLOR_INCREMENT", "4"),
    ("(gint) G_SLICE_CONFIG_CONTENTION_COUNTER", "6"),
    ("(gint) G_SLICE_CONFIG_WORKING_SET_MSECS", "3"),
    ("G_SOURCE_CONTINUE", "1"),
    ("G_SOURCE_REMOVE", "0"),
    ("(guint) G_SPAWN_CHILD_INHERITS_STDIN", "32"),
    ("(guint) G_SPAWN_CLOEXEC_PIPES", "256"),
    ("(guint) G_SPAWN_DEFAULT", "0"),
    ("(guint) G_SPAWN_DO_NOT_REAP_CHILD", "2"),
    ("(gint) G_SPAWN_ERROR_2BIG", "5"),
    ("(gint) G_SPAWN_ERROR_ACCES", "3"),
    ("(gint) G_SPAWN_ERROR_CHDIR", "2"),
    ("(gint) G_SPAWN_ERROR_FAILED", "19"),
    ("(gint) G_SPAWN_ERROR_FORK", "0"),
    ("(gint) G_SPAWN_ERROR_INVAL", "16"),
    ("(gint) G_SPAWN_ERROR_IO", "13"),
    ("(gint) G_SPAWN_ERROR_ISDIR", "17"),
    ("(gint) G_SPAWN_ERROR_LIBBAD", "18"),
    ("(gint) G_SPAWN_ERROR_LOOP", "11"),
    ("(gint) G_SPAWN_ERROR_MFILE", "15"),
    ("(gint) G_SPAWN_ERROR_NAMETOOLONG", "7"),
    ("(gint) G_SPAWN_ERROR_NFILE", "14"),
    ("(gint) G_SPAWN_ERROR_NOENT", "8"),
    ("(gint) G_SPAWN_ERROR_NOEXEC", "6"),
    ("(gint) G_SPAWN_ERROR_NOMEM", "9"),
    ("(gint) G_SPAWN_ERROR_NOTDIR", "10"),
    ("(gint) G_SPAWN_ERROR_PERM", "4"),
    ("(gint) G_SPAWN_ERROR_READ", "1"),
    ("(gint) G_SPAWN_ERROR_TOO_BIG", "5"),
    ("(gint) G_SPAWN_ERROR_TXTBUSY", "12"),
    ("(guint) G_SPAWN_FILE_AND_ARGV_ZERO", "64"),
    ("(guint) G_SPAWN_LEAVE_DESCRIPTORS_OPEN", "1"),
    ("(guint) G_SPAWN_SEARCH_PATH", "4"),
    ("(guint) G_SPAWN_SEARCH_PATH_FROM_ENVP", "128"),
    ("(guint) G_SPAWN_STDERR_TO_DEV_NULL", "16"),
    ("(guint) G_SPAWN_STDOUT_TO_DEV_NULL", "8"),
    ("G_SQRT2", "1.414214"),
    ("G_STR_DELIMITERS", "_-|> <."),
    ("(gint) G_TEST_BUILT", "1"),
    ("(gint) G_TEST_DIST", "0"),
    ("(gint) G_TEST_LOG_ERROR", "1"),
    ("(gint) G_TEST_LOG_LIST_CASE", "3"),
    ("(gint) G_TEST_LOG_MAX_RESULT", "8"),
    ("(gint) G_TEST_LOG_MESSAGE", "9"),
    ("(gint) G_TEST_LOG_MIN_RESULT", "7"),
    ("(gint) G_TEST_LOG_NONE", "0"),
    ("(gint) G_TEST_LOG_SKIP_CASE", "4"),
    ("(gint) G_TEST_LOG_START_BINARY", "2"),
    ("(gint) G_TEST_LOG_START_CASE", "5"),
    ("(gint) G_TEST_LOG_START_SUITE", "10"),
    ("(gint) G_TEST_LOG_STOP_CASE", "6"),
    ("(gint) G_TEST_LOG_STOP_SUITE", "11"),
    ("G_TEST_OPTION_ISOLATE_DIRS", "isolate_dirs"),
    ("(gint) G_TEST_RUN_FAILURE", "2"),
    ("(gint) G_TEST_RUN_INCOMPLETE", "3"),
    ("(gint) G_TEST_RUN_SKIPPED", "1"),
    ("(gint) G_TEST_RUN_SUCCESS", "0"),
    ("(guint) G_TEST_SUBPROCESS_INHERIT_STDERR", "4"),
    ("(guint) G_TEST_SUBPROCESS_INHERIT_STDIN", "1"),
    ("(guint) G_TEST_SUBPROCESS_INHERIT_STDOUT", "2"),
    ("(guint) G_TEST_TRAP_INHERIT_STDIN", "512"),
    ("(guint) G_TEST_TRAP_SILENCE_STDERR", "256"),
    ("(guint) G_TEST_TRAP_SILENCE_STDOUT", "128"),
    ("(gint) G_THREAD_ERROR_AGAIN", "0"),
    ("G_TIME_SPAN_DAY", "86400000000"),
    ("G_TIME_SPAN_HOUR", "3600000000"),
    ("G_TIME_SPAN_MILLISECOND", "1000"),
    ("G_TIME_SPAN_MINUTE", "60000000"),
    ("G_TIME_SPAN_SECOND", "1000000"),
    ("(gint) G_TIME_TYPE_DAYLIGHT", "1"),
    ("(gint) G_TIME_TYPE_STANDARD", "0"),
    ("(gint) G_TIME_TYPE_UNIVERSAL", "2"),
    ("(gint) G_TOKEN_BINARY", "259"),
    ("(gint) G_TOKEN_CHAR", "258"),
    ("(gint) G_TOKEN_COMMA", "44"),
    ("(gint) G_TOKEN_COMMENT_MULTI", "269"),
    ("(gint) G_TOKEN_COMMENT_SINGLE", "268"),
    ("(gint) G_TOKEN_EOF", "0"),
    ("(gint) G_TOKEN_EQUAL_SIGN", "61"),
    ("(gint) G_TOKEN_ERROR", "257"),
    ("(gint) G_TOKEN_FLOAT", "263"),
    ("(gint) G_TOKEN_HEX", "262"),
    ("(gint) G_TOKEN_IDENTIFIER", "266"),
    ("(gint) G_TOKEN_IDENTIFIER_NULL", "267"),
    ("(gint) G_TOKEN_INT", "261"),
    ("(gint) G_TOKEN_LEFT_BRACE", "91"),
    ("(gint) G_TOKEN_LEFT_CURLY", "123"),
    ("(gint) G_TOKEN_LEFT_PAREN", "40"),
    ("(gint) G_TOKEN_NONE", "256"),
    ("(gint) G_TOKEN_OCTAL", "260"),
    ("(gint) G_TOKEN_RIGHT_BRACE", "93"),
    ("(gint) G_TOKEN_RIGHT_CURLY", "125"),
    ("(gint) G_TOKEN_RIGHT_PAREN", "41"),
    ("(gint) G_TOKEN_STRING", "264"),
    ("(gint) G_TOKEN_SYMBOL", "265"),
    ("(guint) G_TRAVERSE_ALL", "3"),
    ("(guint) G_TRAVERSE_LEAFS", "1"),
    ("(guint) G_TRAVERSE_LEAVES", "1"),
    ("(guint) G_TRAVERSE_MASK", "3"),
    ("(guint) G_TRAVERSE_NON_LEAFS", "2"),
    ("(guint) G_TRAVERSE_NON_LEAVES", "2"),
    ("G_UNICHAR_MAX_DECOMPOSITION_LENGTH", "18"),
    ("(gint) G_UNICODE_BREAK_AFTER", "10"),
    ("(gint) G_UNICODE_BREAK_ALPHABETIC", "23"),
    ("(gint) G_UNICODE_BREAK_AMBIGUOUS", "27"),
    ("(gint) G_UNICODE_BREAK_BEFORE", "11"),
    ("(gint) G_UNICODE_BREAK_BEFORE_AND_AFTER", "12"),
    ("(gint) G_UNICODE_BREAK_CARRIAGE_RETURN", "1"),
    ("(gint) G_UNICODE_BREAK_CLOSE_PARANTHESIS", "36"),
    ("(gint) G_UNICODE_BREAK_CLOSE_PARENTHESIS", "36"),
    ("(gint) G_UNICODE_BREAK_CLOSE_PUNCTUATION", "16"),
    ("(gint) G_UNICODE_BREAK_COMBINING_MARK", "3"),
    ("(gint) G_UNICODE_BREAK_COMPLEX_CONTEXT", "26"),
    ("(gint) G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER", "37"),
    ("(gint) G_UNICODE_BREAK_CONTINGENT", "8"),
    ("(gint) G_UNICODE_BREAK_EMOJI_BASE", "40"),
    ("(gint) G_UNICODE_BREAK_EMOJI_MODIFIER", "41"),
    ("(gint) G_UNICODE_BREAK_EXCLAMATION", "18"),
    ("(gint) G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE", "35"),
    ("(gint) G_UNICODE_BREAK_HANGUL_LV_SYLLABLE", "34"),
    ("(gint) G_UNICODE_BREAK_HANGUL_L_JAMO", "31"),
    ("(gint) G_UNICODE_BREAK_HANGUL_T_JAMO", "33"),
    ("(gint) G_UNICODE_BREAK_HANGUL_V_JAMO", "32"),
    ("(gint) G_UNICODE_BREAK_HEBREW_LETTER", "38"),
    ("(gint) G_UNICODE_BREAK_HYPHEN", "13"),
    ("(gint) G_UNICODE_BREAK_IDEOGRAPHIC", "19"),
    ("(gint) G_UNICODE_BREAK_INFIX_SEPARATOR", "21"),
    ("(gint) G_UNICODE_BREAK_INSEPARABLE", "6"),
    ("(gint) G_UNICODE_BREAK_LINE_FEED", "2"),
    ("(gint) G_UNICODE_BREAK_MANDATORY", "0"),
    ("(gint) G_UNICODE_BREAK_NEXT_LINE", "29"),
    ("(gint) G_UNICODE_BREAK_NON_BREAKING_GLUE", "7"),
    ("(gint) G_UNICODE_BREAK_NON_STARTER", "14"),
    ("(gint) G_UNICODE_BREAK_NUMERIC", "20"),
    ("(gint) G_UNICODE_BREAK_OPEN_PUNCTUATION", "15"),
    ("(gint) G_UNICODE_BREAK_POSTFIX", "25"),
    ("(gint) G_UNICODE_BREAK_PREFIX", "24"),
    ("(gint) G_UNICODE_BREAK_QUOTATION", "17"),
    ("(gint) G_UNICODE_BREAK_REGIONAL_INDICATOR", "39"),
    ("(gint) G_UNICODE_BREAK_SPACE", "9"),
    ("(gint) G_UNICODE_BREAK_SURROGATE", "4"),
    ("(gint) G_UNICODE_BREAK_SYMBOL", "22"),
    ("(gint) G_UNICODE_BREAK_UNKNOWN", "28"),
    ("(gint) G_UNICODE_BREAK_WORD_JOINER", "30"),
    ("(gint) G_UNICODE_BREAK_ZERO_WIDTH_JOINER", "42"),
    ("(gint) G_UNICODE_BREAK_ZERO_WIDTH_SPACE", "5"),
    ("(gint) G_UNICODE_CLOSE_PUNCTUATION", "18"),
    ("(gint) G_UNICODE_CONNECT_PUNCTUATION", "16"),
    ("(gint) G_UNICODE_CONTROL", "0"),
    ("(gint) G_UNICODE_CURRENCY_SYMBOL", "23"),
    ("(gint) G_UNICODE_DASH_PUNCTUATION", "17"),
    ("(gint) G_UNICODE_DECIMAL_NUMBER", "13"),
    ("(gint) G_UNICODE_ENCLOSING_MARK", "11"),
    ("(gint) G_UNICODE_FINAL_PUNCTUATION", "19"),
    ("(gint) G_UNICODE_FORMAT", "1"),
    ("(gint) G_UNICODE_INITIAL_PUNCTUATION", "20"),
    ("(gint) G_UNICODE_LETTER_NUMBER", "14"),
    ("(gint) G_UNICODE_LINE_SEPARATOR", "27"),
    ("(gint) G_UNICODE_LOWERCASE_LETTER", "5"),
    ("(gint) G_UNICODE_MATH_SYMBOL", "25"),
    ("(gint) G_UNICODE_MODIFIER_LETTER", "6"),
    ("(gint) G_UNICODE_MODIFIER_SYMBOL", "24"),
    ("(gint) G_UNICODE_NON_SPACING_MARK", "12"),
    ("(gint) G_UNICODE_OPEN_PUNCTUATION", "22"),
    ("(gint) G_UNICODE_OTHER_LETTER", "7"),
    ("(gint) G_UNICODE_OTHER_NUMBER", "15"),
    ("(gint) G_UNICODE_OTHER_PUNCTUATION", "21"),
    ("(gint) G_UNICODE_OTHER_SYMBOL", "26"),
    ("(gint) G_UNICODE_PARAGRAPH_SEPARATOR", "28"),
    ("(gint) G_UNICODE_PRIVATE_USE", "3"),
    ("(gint) G_UNICODE_SCRIPT_ADLAM", "132"),
    ("(gint) G_UNICODE_SCRIPT_AHOM", "126"),
    ("(gint) G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS", "127"),
    ("(gint) G_UNICODE_SCRIPT_ARABIC", "2"),
    ("(gint) G_UNICODE_SCRIPT_ARMENIAN", "3"),
    ("(gint) G_UNICODE_SCRIPT_AVESTAN", "78"),
    ("(gint) G_UNICODE_SCRIPT_BALINESE", "62"),
    ("(gint) G_UNICODE_SCRIPT_BAMUM", "79"),
    ("(gint) G_UNICODE_SCRIPT_BASSA_VAH", "103"),
    ("(gint) G_UNICODE_SCRIPT_BATAK", "93"),
    ("(gint) G_UNICODE_SCRIPT_BENGALI", "4"),
    ("(gint) G_UNICODE_SCRIPT_BHAIKSUKI", "133"),
    ("(gint) G_UNICODE_SCRIPT_BOPOMOFO", "5"),
    ("(gint) G_UNICODE_SCRIPT_BRAHMI", "94"),
    ("(gint) G_UNICODE_SCRIPT_BRAILLE", "46"),
    ("(gint) G_UNICODE_SCRIPT_BUGINESE", "55"),
    ("(gint) G_UNICODE_SCRIPT_BUHID", "44"),
    ("(gint) G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL", "40"),
    ("(gint) G_UNICODE_SCRIPT_CARIAN", "75"),
    ("(gint) G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN", "104"),
    ("(gint) G_UNICODE_SCRIPT_CHAKMA", "96"),
    ("(gint) G_UNICODE_SCRIPT_CHAM", "72"),
    ("(gint) G_UNICODE_SCRIPT_CHEROKEE", "6"),
    ("(gint) G_UNICODE_SCRIPT_CHORASMIAN", "153"),
    ("(gint) G_UNICODE_SCRIPT_COMMON", "0"),
    ("(gint) G_UNICODE_SCRIPT_COPTIC", "7"),
    ("(gint) G_UNICODE_SCRIPT_CUNEIFORM", "63"),
    ("(gint) G_UNICODE_SCRIPT_CYPRIOT", "47"),
    ("(gint) G_UNICODE_SCRIPT_CYRILLIC", "8"),
    ("(gint) G_UNICODE_SCRIPT_DESERET", "9"),
    ("(gint) G_UNICODE_SCRIPT_DEVANAGARI", "10"),
    ("(gint) G_UNICODE_SCRIPT_DIVES_AKURU", "154"),
    ("(gint) G_UNICODE_SCRIPT_DOGRA", "142"),
    ("(gint) G_UNICODE_SCRIPT_DUPLOYAN", "105"),
    ("(gint) G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS", "80"),
    ("(gint) G_UNICODE_SCRIPT_ELBASAN", "106"),
    ("(gint) G_UNICODE_SCRIPT_ELYMAIC", "149"),
    ("(gint) G_UNICODE_SCRIPT_ETHIOPIC", "11"),
    ("(gint) G_UNICODE_SCRIPT_GEORGIAN", "12"),
    ("(gint) G_UNICODE_SCRIPT_GLAGOLITIC", "56"),
    ("(gint) G_UNICODE_SCRIPT_GOTHIC", "13"),
    ("(gint) G_UNICODE_SCRIPT_GRANTHA", "107"),
    ("(gint) G_UNICODE_SCRIPT_GREEK", "14"),
    ("(gint) G_UNICODE_SCRIPT_GUJARATI", "15"),
    ("(gint) G_UNICODE_SCRIPT_GUNJALA_GONDI", "143"),
    ("(gint) G_UNICODE_SCRIPT_GURMUKHI", "16"),
    ("(gint) G_UNICODE_SCRIPT_HAN", "17"),
    ("(gint) G_UNICODE_SCRIPT_HANGUL", "18"),
    ("(gint) G_UNICODE_SCRIPT_HANIFI_ROHINGYA", "144"),
    ("(gint) G_UNICODE_SCRIPT_HANUNOO", "43"),
    ("(gint) G_UNICODE_SCRIPT_HATRAN", "128"),
    ("(gint) G_UNICODE_SCRIPT_HEBREW", "19"),
    ("(gint) G_UNICODE_SCRIPT_HIRAGANA", "20"),
    ("(gint) G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC", "81"),
    ("(gint) G_UNICODE_SCRIPT_INHERITED", "1"),
    ("(gint) G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI", "82"),
    ("(gint) G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN", "83"),
    ("(gint) G_UNICODE_SCRIPT_INVALID_CODE", "-1"),
    ("(gint) G_UNICODE_SCRIPT_JAVANESE", "84"),
    ("(gint) G_UNICODE_SCRIPT_KAITHI", "85"),
    ("(gint) G_UNICODE_SCRIPT_KANNADA", "21"),
    ("(gint) G_UNICODE_SCRIPT_KATAKANA", "22"),
    ("(gint) G_UNICODE_SCRIPT_KAYAH_LI", "67"),
    ("(gint) G_UNICODE_SCRIPT_KHAROSHTHI", "60"),
    ("(gint) G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT", "155"),
    ("(gint) G_UNICODE_SCRIPT_KHMER", "23"),
    ("(gint) G_UNICODE_SCRIPT_KHOJKI", "108"),
    ("(gint) G_UNICODE_SCRIPT_KHUDAWADI", "109"),
    ("(gint) G_UNICODE_SCRIPT_LAO", "24"),
    ("(gint) G_UNICODE_SCRIPT_LATIN", "25"),
    ("(gint) G_UNICODE_SCRIPT_LEPCHA", "68"),
    ("(gint) G_UNICODE_SCRIPT_LIMBU", "48"),
    ("(gint) G_UNICODE_SCRIPT_LINEAR_A", "110"),
    ("(gint) G_UNICODE_SCRIPT_LINEAR_B", "51"),
    ("(gint) G_UNICODE_SCRIPT_LISU", "86"),
    ("(gint) G_UNICODE_SCRIPT_LYCIAN", "76"),
    ("(gint) G_UNICODE_SCRIPT_LYDIAN", "77"),
    ("(gint) G_UNICODE_SCRIPT_MAHAJANI", "111"),
    ("(gint) G_UNICODE_SCRIPT_MAKASAR", "145"),
    ("(gint) G_UNICODE_SCRIPT_MALAYALAM", "26"),
    ("(gint) G_UNICODE_SCRIPT_MANDAIC", "95"),
    ("(gint) G_UNICODE_SCRIPT_MANICHAEAN", "112"),
    ("(gint) G_UNICODE_SCRIPT_MARCHEN", "134"),
    ("(gint) G_UNICODE_SCRIPT_MASARAM_GONDI", "138"),
    ("(gint) G_UNICODE_SCRIPT_MEDEFAIDRIN", "146"),
    ("(gint) G_UNICODE_SCRIPT_MEETEI_MAYEK", "87"),
    ("(gint) G_UNICODE_SCRIPT_MENDE_KIKAKUI", "113"),
    ("(gint) G_UNICODE_SCRIPT_MEROITIC_CURSIVE", "97"),
    ("(gint) G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS", "98"),
    ("(gint) G_UNICODE_SCRIPT_MIAO", "99"),
    ("(gint) G_UNICODE_SCRIPT_MODI", "114"),
    ("(gint) G_UNICODE_SCRIPT_MONGOLIAN", "27"),
    ("(gint) G_UNICODE_SCRIPT_MRO", "115"),
    ("(gint) G_UNICODE_SCRIPT_MULTANI", "129"),
    ("(gint) G_UNICODE_SCRIPT_MYANMAR", "28"),
    ("(gint) G_UNICODE_SCRIPT_NABATAEAN", "116"),
    ("(gint) G_UNICODE_SCRIPT_NANDINAGARI", "150"),
    ("(gint) G_UNICODE_SCRIPT_NEWA", "135"),
    ("(gint) G_UNICODE_SCRIPT_NEW_TAI_LUE", "54"),
    ("(gint) G_UNICODE_SCRIPT_NKO", "66"),
    ("(gint) G_UNICODE_SCRIPT_NUSHU", "139"),
    ("(gint) G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG", "151"),
    ("(gint) G_UNICODE_SCRIPT_OGHAM", "29"),
    ("(gint) G_UNICODE_SCRIPT_OLD_HUNGARIAN", "130"),
    ("(gint) G_UNICODE_SCRIPT_OLD_ITALIC", "30"),
    ("(gint) G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN", "117"),
    ("(gint) G_UNICODE_SCRIPT_OLD_PERMIC", "118"),
    ("(gint) G_UNICODE_SCRIPT_OLD_PERSIAN", "59"),
    ("(gint) G_UNICODE_SCRIPT_OLD_SOGDIAN", "147"),
    ("(gint) G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN", "88"),
    ("(gint) G_UNICODE_SCRIPT_OLD_TURKIC", "89"),
    ("(gint) G_UNICODE_SCRIPT_OL_CHIKI", "73"),
    ("(gint) G_UNICODE_SCRIPT_ORIYA", "31"),
    ("(gint) G_UNICODE_SCRIPT_OSAGE", "136"),
    ("(gint) G_UNICODE_SCRIPT_OSMANYA", "49"),
    ("(gint) G_UNICODE_SCRIPT_PAHAWH_HMONG", "119"),
    ("(gint) G_UNICODE_SCRIPT_PALMYRENE", "120"),
    ("(gint) G_UNICODE_SCRIPT_PAU_CIN_HAU", "121"),
    ("(gint) G_UNICODE_SCRIPT_PHAGS_PA", "65"),
    ("(gint) G_UNICODE_SCRIPT_PHOENICIAN", "64"),
    ("(gint) G_UNICODE_SCRIPT_PSALTER_PAHLAVI", "122"),
    ("(gint) G_UNICODE_SCRIPT_REJANG", "69"),
    ("(gint) G_UNICODE_SCRIPT_RUNIC", "32"),
    ("(gint) G_UNICODE_SCRIPT_SAMARITAN", "90"),
    ("(gint) G_UNICODE_SCRIPT_SAURASHTRA", "71"),
    ("(gint) G_UNICODE_SCRIPT_SHARADA", "100"),
    ("(gint) G_UNICODE_SCRIPT_SHAVIAN", "50"),
    ("(gint) G_UNICODE_SCRIPT_SIDDHAM", "123"),
    ("(gint) G_UNICODE_SCRIPT_SIGNWRITING", "131"),
    ("(gint) G_UNICODE_SCRIPT_SINHALA", "33"),
    ("(gint) G_UNICODE_SCRIPT_SOGDIAN", "148"),
    ("(gint) G_UNICODE_SCRIPT_SORA_SOMPENG", "101"),
    ("(gint) G_UNICODE_SCRIPT_SOYOMBO", "140"),
    ("(gint) G_UNICODE_SCRIPT_SUNDANESE", "70"),
    ("(gint) G_UNICODE_SCRIPT_SYLOTI_NAGRI", "58"),
    ("(gint) G_UNICODE_SCRIPT_SYRIAC", "34"),
    ("(gint) G_UNICODE_SCRIPT_TAGALOG", "42"),
    ("(gint) G_UNICODE_SCRIPT_TAGBANWA", "45"),
    ("(gint) G_UNICODE_SCRIPT_TAI_LE", "52"),
    ("(gint) G_UNICODE_SCRIPT_TAI_THAM", "91"),
    ("(gint) G_UNICODE_SCRIPT_TAI_VIET", "92"),
    ("(gint) G_UNICODE_SCRIPT_TAKRI", "102"),
    ("(gint) G_UNICODE_SCRIPT_TAMIL", "35"),
    ("(gint) G_UNICODE_SCRIPT_TANGUT", "137"),
    ("(gint) G_UNICODE_SCRIPT_TELUGU", "36"),
    ("(gint) G_UNICODE_SCRIPT_THAANA", "37"),
    ("(gint) G_UNICODE_SCRIPT_THAI", "38"),
    ("(gint) G_UNICODE_SCRIPT_TIBETAN", "39"),
    ("(gint) G_UNICODE_SCRIPT_TIFINAGH", "57"),
    ("(gint) G_UNICODE_SCRIPT_TIRHUTA", "124"),
    ("(gint) G_UNICODE_SCRIPT_UGARITIC", "53"),
    ("(gint) G_UNICODE_SCRIPT_UNKNOWN", "61"),
    ("(gint) G_UNICODE_SCRIPT_VAI", "74"),
    ("(gint) G_UNICODE_SCRIPT_WANCHO", "152"),
    ("(gint) G_UNICODE_SCRIPT_WARANG_CITI", "125"),
    ("(gint) G_UNICODE_SCRIPT_YEZIDI", "156"),
    ("(gint) G_UNICODE_SCRIPT_YI", "41"),
    ("(gint) G_UNICODE_SCRIPT_ZANABAZAR_SQUARE", "141"),
    ("(gint) G_UNICODE_SPACE_SEPARATOR", "29"),
    ("(gint) G_UNICODE_SPACING_MARK", "10"),
    ("(gint) G_UNICODE_SURROGATE", "4"),
    ("(gint) G_UNICODE_TITLECASE_LETTER", "8"),
    ("(gint) G_UNICODE_UNASSIGNED", "2"),
    ("(gint) G_UNICODE_UPPERCASE_LETTER", "9"),
    ("(gint) G_URI_ERROR_BAD_AUTH_PARAMS", "4"),
    ("(gint) G_URI_ERROR_BAD_FRAGMENT", "9"),
    ("(gint) G_URI_ERROR_BAD_HOST", "5"),
    ("(gint) G_URI_ERROR_BAD_PASSWORD", "3"),
    ("(gint) G_URI_ERROR_BAD_PATH", "7"),
    ("(gint) G_URI_ERROR_BAD_PORT", "6"),
    ("(gint) G_URI_ERROR_BAD_QUERY", "8"),
    ("(gint) G_URI_ERROR_BAD_SCHEME", "1"),
    ("(gint) G_URI_ERROR_BAD_USER", "2"),
    ("(gint) G_URI_ERROR_FAILED", "0"),
    ("(guint) G_URI_FLAGS_ENCODED", "8"),
    ("(guint) G_URI_FLAGS_ENCODED_FRAGMENT", "128"),
    ("(guint) G_URI_FLAGS_ENCODED_PATH", "64"),
    ("(guint) G_URI_FLAGS_ENCODED_QUERY", "32"),
    ("(guint) G_URI_FLAGS_HAS_AUTH_PARAMS", "4"),
    ("(guint) G_URI_FLAGS_HAS_PASSWORD", "2"),
    ("(guint) G_URI_FLAGS_NONE", "0"),
    ("(guint) G_URI_FLAGS_NON_DNS", "16"),
    ("(guint) G_URI_FLAGS_PARSE_RELAXED", "1"),
    ("(guint) G_URI_FLAGS_SCHEME_NORMALIZE", "256"),
    ("(guint) G_URI_HIDE_AUTH_PARAMS", "4"),
    ("(guint) G_URI_HIDE_FRAGMENT", "16"),
    ("(guint) G_URI_HIDE_NONE", "0"),
    ("(guint) G_URI_HIDE_PASSWORD", "2"),
    ("(guint) G_URI_HIDE_QUERY", "8"),
    ("(guint) G_URI_HIDE_USERINFO", "1"),
    ("(guint) G_URI_PARAMS_CASE_INSENSITIVE", "1"),
    ("(guint) G_URI_PARAMS_NONE", "0"),
    ("(guint) G_URI_PARAMS_PARSE_RELAXED", "4"),
    ("(guint) G_URI_PARAMS_WWW_FORM", "2"),
    ("G_URI_RESERVED_CHARS_GENERIC_DELIMITERS", ":/?#[]@"),
    (
        "G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS",
        "!$&'()*+,;=",
    ),
    ("G_USEC_PER_SEC", "1000000"),
    ("(gint) G_USER_DIRECTORY_DESKTOP", "0"),
    ("(gint) G_USER_DIRECTORY_DOCUMENTS", "1"),
    ("(gint) G_USER_DIRECTORY_DOWNLOAD", "2"),
    ("(gint) G_USER_DIRECTORY_MUSIC", "3"),
    ("(gint) G_USER_DIRECTORY_PICTURES", "4"),
    ("(gint) G_USER_DIRECTORY_PUBLIC_SHARE", "5"),
    ("(gint) G_USER_DIRECTORY_TEMPLATES", "6"),
    ("(gint) G_USER_DIRECTORY_VIDEOS", "7"),
    ("(gint) G_USER_N_DIRECTORIES", "8"),
    ("(gint) G_VARIANT_CLASS_ARRAY", "97"),
    ("(gint) G_VARIANT_CLASS_BOOLEAN", "98"),
    ("(gint) G_VARIANT_CLASS_BYTE", "121"),
    ("(gint) G_VARIANT_CLASS_DICT_ENTRY", "123"),
    ("(gint) G_VARIANT_CLASS_DOUBLE", "100"),
    ("(gint) G_VARIANT_CLASS_HANDLE", "104"),
    ("(gint) G_VARIANT_CLASS_INT16", "110"),
    ("(gint) G_VARIANT_CLASS_INT32", "105"),
    ("(gint) G_VARIANT_CLASS_INT64", "120"),
    ("(gint) G_VARIANT_CLASS_MAYBE", "109"),
    ("(gint) G_VARIANT_CLASS_OBJECT_PATH", "111"),
    ("(gint) G_VARIANT_CLASS_SIGNATURE", "103"),
    ("(gint) G_VARIANT_CLASS_STRING", "115"),
    ("(gint) G_VARIANT_CLASS_TUPLE", "40"),
    ("(gint) G_VARIANT_CLASS_UINT16", "113"),
    ("(gint) G_VARIANT_CLASS_UINT32", "117"),
    ("(gint) G_VARIANT_CLASS_UINT64", "116"),
    ("(gint) G_VARIANT_CLASS_VARIANT", "118"),
    ("(gint) G_VARIANT_PARSE_ERROR_BASIC_TYPE_EXPECTED", "1"),
    ("(gint) G_VARIANT_PARSE_ERROR_CANNOT_INFER_TYPE", "2"),
    ("(gint) G_VARIANT_PARSE_ERROR_DEFINITE_TYPE_EXPECTED", "3"),
    ("(gint) G_VARIANT_PARSE_ERROR_FAILED", "0"),
    ("(gint) G_VARIANT_PARSE_ERROR_INPUT_NOT_AT_END", "4"),
    ("(gint) G_VARIANT_PARSE_ERROR_INVALID_CHARACTER", "5"),
    ("(gint) G_VARIANT_PARSE_ERROR_INVALID_FORMAT_STRING", "6"),
    ("(gint) G_VARIANT_PARSE_ERROR_INVALID_OBJECT_PATH", "7"),
    ("(gint) G_VARIANT_PARSE_ERROR_INVALID_SIGNATURE", "8"),
    ("(gint) G_VARIANT_PARSE_ERROR_INVALID_TYPE_STRING", "9"),
    ("(gint) G_VARIANT_PARSE_ERROR_NO_COMMON_TYPE", "10"),
    ("(gint) G_VARIANT_PARSE_ERROR_NUMBER_OUT_OF_RANGE", "11"),
    ("(gint) G_VARIANT_PARSE_ERROR_NUMBER_TOO_BIG", "12"),
    ("(gint) G_VARIANT_PARSE_ERROR_RECURSION", "18"),
    ("(gint) G_VARIANT_PARSE_ERROR_TYPE_ERROR", "13"),
    ("(gint) G_VARIANT_PARSE_ERROR_UNEXPECTED_TOKEN", "14"),
    ("(gint) G_VARIANT_PARSE_ERROR_UNKNOWN_KEYWORD", "15"),
    (
        "(gint) G_VARIANT_PARSE_ERROR_UNTERMINATED_STRING_CONSTANT",
        "16",
    ),
    ("(gint) G_VARIANT_PARSE_ERROR_VALUE_EXPECTED", "17"),
    ("G_WIN32_MSG_HANDLE", "19981206"),
    ("g_macro__has_attribute___noreturn__", "0"),
];
