1 // This file was generated by gir (https://github.com/gtk-rs/gir)
2 // from gir-files (https://github.com/gtk-rs/gir-files)
3 // DO NOT EDIT
4 
5 extern crate glib_sys;
6 extern crate shell_words;
7 extern crate tempfile;
8 use glib_sys::*;
9 use std::env;
10 use std::error::Error;
11 use std::mem::{align_of, size_of};
12 use std::path::Path;
13 use std::process::Command;
14 use std::str;
15 use tempfile::Builder;
16 
17 static PACKAGES: &[&str] = &["glib-2.0"];
18 
19 #[derive(Clone, Debug)]
20 struct Compiler {
21     pub args: Vec<String>,
22 }
23 
24 impl Compiler {
new() -> Result<Compiler, Box<dyn Error>>25     pub fn new() -> Result<Compiler, Box<dyn Error>> {
26         let mut args = get_var("CC", "cc")?;
27         args.push("-Wno-deprecated-declarations".to_owned());
28         // For %z support in printf when using MinGW.
29         args.push("-D__USE_MINGW_ANSI_STDIO".to_owned());
30         args.extend(get_var("CFLAGS", "")?);
31         args.extend(get_var("CPPFLAGS", "")?);
32         args.extend(pkg_config_cflags(PACKAGES)?);
33         Ok(Compiler { args })
34     }
35 
define<'a, V: Into<Option<&'a str>>>(&mut self, var: &str, val: V)36     pub fn define<'a, V: Into<Option<&'a str>>>(&mut self, var: &str, val: V) {
37         let arg = match val.into() {
38             None => format!("-D{}", var),
39             Some(val) => format!("-D{}={}", var, val),
40         };
41         self.args.push(arg);
42     }
43 
compile(&self, src: &Path, out: &Path) -> Result<(), Box<dyn Error>>44     pub fn compile(&self, src: &Path, out: &Path) -> Result<(), Box<dyn Error>> {
45         let mut cmd = self.to_command();
46         cmd.arg(src);
47         cmd.arg("-o");
48         cmd.arg(out);
49         let status = cmd.spawn()?.wait()?;
50         if !status.success() {
51             return Err(format!("compilation command {:?} failed, {}", &cmd, status).into());
52         }
53         Ok(())
54     }
55 
to_command(&self) -> Command56     fn to_command(&self) -> Command {
57         let mut cmd = Command::new(&self.args[0]);
58         cmd.args(&self.args[1..]);
59         cmd
60     }
61 }
62 
get_var(name: &str, default: &str) -> Result<Vec<String>, Box<dyn Error>>63 fn get_var(name: &str, default: &str) -> Result<Vec<String>, Box<dyn Error>> {
64     match env::var(name) {
65         Ok(value) => Ok(shell_words::split(&value)?),
66         Err(env::VarError::NotPresent) => Ok(shell_words::split(default)?),
67         Err(err) => Err(format!("{} {}", name, err).into()),
68     }
69 }
70 
pkg_config_cflags(packages: &[&str]) -> Result<Vec<String>, Box<dyn Error>>71 fn pkg_config_cflags(packages: &[&str]) -> Result<Vec<String>, Box<dyn Error>> {
72     if packages.is_empty() {
73         return Ok(Vec::new());
74     }
75     let mut cmd = Command::new("pkg-config");
76     cmd.arg("--cflags");
77     cmd.args(packages);
78     let out = cmd.output()?;
79     if !out.status.success() {
80         return Err(format!("command {:?} returned {}", &cmd, out.status).into());
81     }
82     let stdout = str::from_utf8(&out.stdout)?;
83     Ok(shell_words::split(stdout.trim())?)
84 }
85 
86 #[derive(Copy, Clone, Debug, Eq, PartialEq)]
87 struct Layout {
88     size: usize,
89     alignment: usize,
90 }
91 
92 #[derive(Copy, Clone, Debug, Default, Eq, PartialEq)]
93 struct Results {
94     /// Number of successfully completed tests.
95     passed: usize,
96     /// Total number of failed tests (including those that failed to compile).
97     failed: usize,
98     /// Number of tests that failed to compile.
99     failed_to_compile: usize,
100 }
101 
102 impl Results {
record_passed(&mut self)103     fn record_passed(&mut self) {
104         self.passed += 1;
105     }
record_failed(&mut self)106     fn record_failed(&mut self) {
107         self.failed += 1;
108     }
record_failed_to_compile(&mut self)109     fn record_failed_to_compile(&mut self) {
110         self.failed += 1;
111         self.failed_to_compile += 1;
112     }
summary(&self) -> String113     fn summary(&self) -> String {
114         format!(
115             "{} passed; {} failed (compilation errors: {})",
116             self.passed, self.failed, self.failed_to_compile
117         )
118     }
expect_total_success(&self)119     fn expect_total_success(&self) {
120         if self.failed == 0 {
121             println!("OK: {}", self.summary());
122         } else {
123             panic!("FAILED: {}", self.summary());
124         };
125     }
126 }
127 
128 #[test]
cross_validate_constants_with_c()129 fn cross_validate_constants_with_c() {
130     let tmpdir = Builder::new()
131         .prefix("abi")
132         .tempdir()
133         .expect("temporary directory");
134     let cc = Compiler::new().expect("configured compiler");
135 
136     assert_eq!(
137         "1",
138         get_c_value(tmpdir.path(), &cc, "1").expect("C constant"),
139         "failed to obtain correct constant value for 1"
140     );
141 
142     let mut results: Results = Default::default();
143     for (i, &(name, rust_value)) in RUST_CONSTANTS.iter().enumerate() {
144         match get_c_value(tmpdir.path(), &cc, name) {
145             Err(e) => {
146                 results.record_failed_to_compile();
147                 eprintln!("{}", e);
148             }
149             Ok(ref c_value) => {
150                 if rust_value == c_value {
151                     results.record_passed();
152                 } else {
153                     results.record_failed();
154                     eprintln!(
155                         "Constant value mismatch for {}\nRust: {:?}\nC:    {:?}",
156                         name, rust_value, c_value
157                     );
158                 }
159             }
160         };
161         if (i + 1) % 25 == 0 {
162             println!("constants ... {}", results.summary());
163         }
164     }
165     results.expect_total_success();
166 }
167 
168 #[test]
cross_validate_layout_with_c()169 fn cross_validate_layout_with_c() {
170     let tmpdir = Builder::new()
171         .prefix("abi")
172         .tempdir()
173         .expect("temporary directory");
174     let cc = Compiler::new().expect("configured compiler");
175 
176     assert_eq!(
177         Layout {
178             size: 1,
179             alignment: 1
180         },
181         get_c_layout(tmpdir.path(), &cc, "char").expect("C layout"),
182         "failed to obtain correct layout for char type"
183     );
184 
185     let mut results: Results = Default::default();
186     for (i, &(name, rust_layout)) in RUST_LAYOUTS.iter().enumerate() {
187         match get_c_layout(tmpdir.path(), &cc, name) {
188             Err(e) => {
189                 results.record_failed_to_compile();
190                 eprintln!("{}", e);
191             }
192             Ok(c_layout) => {
193                 if rust_layout == c_layout {
194                     results.record_passed();
195                 } else {
196                     results.record_failed();
197                     eprintln!(
198                         "Layout mismatch for {}\nRust: {:?}\nC:    {:?}",
199                         name, rust_layout, &c_layout
200                     );
201                 }
202             }
203         };
204         if (i + 1) % 25 == 0 {
205             println!("layout    ... {}", results.summary());
206         }
207     }
208     results.expect_total_success();
209 }
210 
get_c_layout(dir: &Path, cc: &Compiler, name: &str) -> Result<Layout, Box<dyn Error>>211 fn get_c_layout(dir: &Path, cc: &Compiler, name: &str) -> Result<Layout, Box<dyn Error>> {
212     let exe = dir.join("layout");
213     let mut cc = cc.clone();
214     cc.define("ABI_TYPE_NAME", name);
215     cc.compile(Path::new("tests/layout.c"), &exe)?;
216 
217     let mut abi_cmd = Command::new(exe);
218     let output = abi_cmd.output()?;
219     if !output.status.success() {
220         return Err(format!("command {:?} failed, {:?}", &abi_cmd, &output).into());
221     }
222 
223     let stdout = str::from_utf8(&output.stdout)?;
224     let mut words = stdout.trim().split_whitespace();
225     let size = words.next().unwrap().parse().unwrap();
226     let alignment = words.next().unwrap().parse().unwrap();
227     Ok(Layout { size, alignment })
228 }
229 
get_c_value(dir: &Path, cc: &Compiler, name: &str) -> Result<String, Box<dyn Error>>230 fn get_c_value(dir: &Path, cc: &Compiler, name: &str) -> Result<String, Box<dyn Error>> {
231     let exe = dir.join("constant");
232     let mut cc = cc.clone();
233     cc.define("ABI_CONSTANT_NAME", name);
234     cc.compile(Path::new("tests/constant.c"), &exe)?;
235 
236     let mut abi_cmd = Command::new(exe);
237     let output = abi_cmd.output()?;
238     if !output.status.success() {
239         return Err(format!("command {:?} failed, {:?}", &abi_cmd, &output).into());
240     }
241 
242     let output = str::from_utf8(&output.stdout)?.trim();
243     if !output.starts_with("###gir test###") || !output.ends_with("###gir test###") {
244         return Err(format!(
245             "command {:?} return invalid output, {:?}",
246             &abi_cmd, &output
247         )
248         .into());
249     }
250 
251     Ok(String::from(&output[14..(output.len() - 14)]))
252 }
253 
254 const RUST_LAYOUTS: &[(&str, Layout)] = &[
255     (
256         "GArray",
257         Layout {
258             size: size_of::<GArray>(),
259             alignment: align_of::<GArray>(),
260         },
261     ),
262     (
263         "GAsciiType",
264         Layout {
265             size: size_of::<GAsciiType>(),
266             alignment: align_of::<GAsciiType>(),
267         },
268     ),
269     (
270         "GBookmarkFileError",
271         Layout {
272             size: size_of::<GBookmarkFileError>(),
273             alignment: align_of::<GBookmarkFileError>(),
274         },
275     ),
276     (
277         "GByteArray",
278         Layout {
279             size: size_of::<GByteArray>(),
280             alignment: align_of::<GByteArray>(),
281         },
282     ),
283     (
284         "GChecksumType",
285         Layout {
286             size: size_of::<GChecksumType>(),
287             alignment: align_of::<GChecksumType>(),
288         },
289     ),
290     (
291         "GCond",
292         Layout {
293             size: size_of::<GCond>(),
294             alignment: align_of::<GCond>(),
295         },
296     ),
297     (
298         "GConvertError",
299         Layout {
300             size: size_of::<GConvertError>(),
301             alignment: align_of::<GConvertError>(),
302         },
303     ),
304     (
305         "GDateDMY",
306         Layout {
307             size: size_of::<GDateDMY>(),
308             alignment: align_of::<GDateDMY>(),
309         },
310     ),
311     (
312         "GDateDay",
313         Layout {
314             size: size_of::<GDateDay>(),
315             alignment: align_of::<GDateDay>(),
316         },
317     ),
318     (
319         "GDateMonth",
320         Layout {
321             size: size_of::<GDateMonth>(),
322             alignment: align_of::<GDateMonth>(),
323         },
324     ),
325     (
326         "GDateWeekday",
327         Layout {
328             size: size_of::<GDateWeekday>(),
329             alignment: align_of::<GDateWeekday>(),
330         },
331     ),
332     (
333         "GDateYear",
334         Layout {
335             size: size_of::<GDateYear>(),
336             alignment: align_of::<GDateYear>(),
337         },
338     ),
339     (
340         "GDebugKey",
341         Layout {
342             size: size_of::<GDebugKey>(),
343             alignment: align_of::<GDebugKey>(),
344         },
345     ),
346     (
347         "GError",
348         Layout {
349             size: size_of::<GError>(),
350             alignment: align_of::<GError>(),
351         },
352     ),
353     (
354         "GErrorType",
355         Layout {
356             size: size_of::<GErrorType>(),
357             alignment: align_of::<GErrorType>(),
358         },
359     ),
360     (
361         "GFileError",
362         Layout {
363             size: size_of::<GFileError>(),
364             alignment: align_of::<GFileError>(),
365         },
366     ),
367     (
368         "GFileTest",
369         Layout {
370             size: size_of::<GFileTest>(),
371             alignment: align_of::<GFileTest>(),
372         },
373     ),
374     (
375         "GFormatSizeFlags",
376         Layout {
377             size: size_of::<GFormatSizeFlags>(),
378             alignment: align_of::<GFormatSizeFlags>(),
379         },
380     ),
381     (
382         "GHashTableIter",
383         Layout {
384             size: size_of::<GHashTableIter>(),
385             alignment: align_of::<GHashTableIter>(),
386         },
387     ),
388     (
389         "GHook",
390         Layout {
391             size: size_of::<GHook>(),
392             alignment: align_of::<GHook>(),
393         },
394     ),
395     (
396         "GHookFlagMask",
397         Layout {
398             size: size_of::<GHookFlagMask>(),
399             alignment: align_of::<GHookFlagMask>(),
400         },
401     ),
402     (
403         "GHookList",
404         Layout {
405             size: size_of::<GHookList>(),
406             alignment: align_of::<GHookList>(),
407         },
408     ),
409     (
410         "GIOChannelError",
411         Layout {
412             size: size_of::<GIOChannelError>(),
413             alignment: align_of::<GIOChannelError>(),
414         },
415     ),
416     (
417         "GIOCondition",
418         Layout {
419             size: size_of::<GIOCondition>(),
420             alignment: align_of::<GIOCondition>(),
421         },
422     ),
423     (
424         "GIOError",
425         Layout {
426             size: size_of::<GIOError>(),
427             alignment: align_of::<GIOError>(),
428         },
429     ),
430     (
431         "GIOFlags",
432         Layout {
433             size: size_of::<GIOFlags>(),
434             alignment: align_of::<GIOFlags>(),
435         },
436     ),
437     (
438         "GIOFuncs",
439         Layout {
440             size: size_of::<GIOFuncs>(),
441             alignment: align_of::<GIOFuncs>(),
442         },
443     ),
444     (
445         "GIOStatus",
446         Layout {
447             size: size_of::<GIOStatus>(),
448             alignment: align_of::<GIOStatus>(),
449         },
450     ),
451     (
452         "GKeyFileError",
453         Layout {
454             size: size_of::<GKeyFileError>(),
455             alignment: align_of::<GKeyFileError>(),
456         },
457     ),
458     (
459         "GKeyFileFlags",
460         Layout {
461             size: size_of::<GKeyFileFlags>(),
462             alignment: align_of::<GKeyFileFlags>(),
463         },
464     ),
465     (
466         "GList",
467         Layout {
468             size: size_of::<GList>(),
469             alignment: align_of::<GList>(),
470         },
471     ),
472     (
473         "GLogField",
474         Layout {
475             size: size_of::<GLogField>(),
476             alignment: align_of::<GLogField>(),
477         },
478     ),
479     (
480         "GLogLevelFlags",
481         Layout {
482             size: size_of::<GLogLevelFlags>(),
483             alignment: align_of::<GLogLevelFlags>(),
484         },
485     ),
486     (
487         "GLogWriterOutput",
488         Layout {
489             size: size_of::<GLogWriterOutput>(),
490             alignment: align_of::<GLogWriterOutput>(),
491         },
492     ),
493     (
494         "GMarkupCollectType",
495         Layout {
496             size: size_of::<GMarkupCollectType>(),
497             alignment: align_of::<GMarkupCollectType>(),
498         },
499     ),
500     (
501         "GMarkupError",
502         Layout {
503             size: size_of::<GMarkupError>(),
504             alignment: align_of::<GMarkupError>(),
505         },
506     ),
507     (
508         "GMarkupParseFlags",
509         Layout {
510             size: size_of::<GMarkupParseFlags>(),
511             alignment: align_of::<GMarkupParseFlags>(),
512         },
513     ),
514     (
515         "GMarkupParser",
516         Layout {
517             size: size_of::<GMarkupParser>(),
518             alignment: align_of::<GMarkupParser>(),
519         },
520     ),
521     (
522         "GMemVTable",
523         Layout {
524             size: size_of::<GMemVTable>(),
525             alignment: align_of::<GMemVTable>(),
526         },
527     ),
528     (
529         "GMutex",
530         Layout {
531             size: size_of::<GMutex>(),
532             alignment: align_of::<GMutex>(),
533         },
534     ),
535     (
536         "GNode",
537         Layout {
538             size: size_of::<GNode>(),
539             alignment: align_of::<GNode>(),
540         },
541     ),
542     (
543         "GNormalizeMode",
544         Layout {
545             size: size_of::<GNormalizeMode>(),
546             alignment: align_of::<GNormalizeMode>(),
547         },
548     ),
549     (
550         "GNumberParserError",
551         Layout {
552             size: size_of::<GNumberParserError>(),
553             alignment: align_of::<GNumberParserError>(),
554         },
555     ),
556     (
557         "GOnce",
558         Layout {
559             size: size_of::<GOnce>(),
560             alignment: align_of::<GOnce>(),
561         },
562     ),
563     (
564         "GOnceStatus",
565         Layout {
566             size: size_of::<GOnceStatus>(),
567             alignment: align_of::<GOnceStatus>(),
568         },
569     ),
570     (
571         "GOptionArg",
572         Layout {
573             size: size_of::<GOptionArg>(),
574             alignment: align_of::<GOptionArg>(),
575         },
576     ),
577     (
578         "GOptionEntry",
579         Layout {
580             size: size_of::<GOptionEntry>(),
581             alignment: align_of::<GOptionEntry>(),
582         },
583     ),
584     (
585         "GOptionError",
586         Layout {
587             size: size_of::<GOptionError>(),
588             alignment: align_of::<GOptionError>(),
589         },
590     ),
591     (
592         "GOptionFlags",
593         Layout {
594             size: size_of::<GOptionFlags>(),
595             alignment: align_of::<GOptionFlags>(),
596         },
597     ),
598     (
599         "GPid",
600         Layout {
601             size: size_of::<GPid>(),
602             alignment: align_of::<GPid>(),
603         },
604     ),
605     (
606         "GPollFD",
607         Layout {
608             size: size_of::<GPollFD>(),
609             alignment: align_of::<GPollFD>(),
610         },
611     ),
612     (
613         "GPrivate",
614         Layout {
615             size: size_of::<GPrivate>(),
616             alignment: align_of::<GPrivate>(),
617         },
618     ),
619     (
620         "GPtrArray",
621         Layout {
622             size: size_of::<GPtrArray>(),
623             alignment: align_of::<GPtrArray>(),
624         },
625     ),
626     (
627         "GQuark",
628         Layout {
629             size: size_of::<GQuark>(),
630             alignment: align_of::<GQuark>(),
631         },
632     ),
633     (
634         "GQueue",
635         Layout {
636             size: size_of::<GQueue>(),
637             alignment: align_of::<GQueue>(),
638         },
639     ),
640     (
641         "GRWLock",
642         Layout {
643             size: size_of::<GRWLock>(),
644             alignment: align_of::<GRWLock>(),
645         },
646     ),
647     (
648         "GRecMutex",
649         Layout {
650             size: size_of::<GRecMutex>(),
651             alignment: align_of::<GRecMutex>(),
652         },
653     ),
654     (
655         "GRefString",
656         Layout {
657             size: size_of::<GRefString>(),
658             alignment: align_of::<GRefString>(),
659         },
660     ),
661     (
662         "GRegexCompileFlags",
663         Layout {
664             size: size_of::<GRegexCompileFlags>(),
665             alignment: align_of::<GRegexCompileFlags>(),
666         },
667     ),
668     (
669         "GRegexError",
670         Layout {
671             size: size_of::<GRegexError>(),
672             alignment: align_of::<GRegexError>(),
673         },
674     ),
675     (
676         "GRegexMatchFlags",
677         Layout {
678             size: size_of::<GRegexMatchFlags>(),
679             alignment: align_of::<GRegexMatchFlags>(),
680         },
681     ),
682     (
683         "GSList",
684         Layout {
685             size: size_of::<GSList>(),
686             alignment: align_of::<GSList>(),
687         },
688     ),
689     (
690         "GScanner",
691         Layout {
692             size: size_of::<GScanner>(),
693             alignment: align_of::<GScanner>(),
694         },
695     ),
696     (
697         "GSeekType",
698         Layout {
699             size: size_of::<GSeekType>(),
700             alignment: align_of::<GSeekType>(),
701         },
702     ),
703     (
704         "GShellError",
705         Layout {
706             size: size_of::<GShellError>(),
707             alignment: align_of::<GShellError>(),
708         },
709     ),
710     (
711         "GSliceConfig",
712         Layout {
713             size: size_of::<GSliceConfig>(),
714             alignment: align_of::<GSliceConfig>(),
715         },
716     ),
717     (
718         "GSource",
719         Layout {
720             size: size_of::<GSource>(),
721             alignment: align_of::<GSource>(),
722         },
723     ),
724     (
725         "GSourceCallbackFuncs",
726         Layout {
727             size: size_of::<GSourceCallbackFuncs>(),
728             alignment: align_of::<GSourceCallbackFuncs>(),
729         },
730     ),
731     (
732         "GSourceFuncs",
733         Layout {
734             size: size_of::<GSourceFuncs>(),
735             alignment: align_of::<GSourceFuncs>(),
736         },
737     ),
738     (
739         "GSpawnError",
740         Layout {
741             size: size_of::<GSpawnError>(),
742             alignment: align_of::<GSpawnError>(),
743         },
744     ),
745     (
746         "GSpawnFlags",
747         Layout {
748             size: size_of::<GSpawnFlags>(),
749             alignment: align_of::<GSpawnFlags>(),
750         },
751     ),
752     (
753         "GString",
754         Layout {
755             size: size_of::<GString>(),
756             alignment: align_of::<GString>(),
757         },
758     ),
759     (
760         "GStrv",
761         Layout {
762             size: size_of::<GStrv>(),
763             alignment: align_of::<GStrv>(),
764         },
765     ),
766     (
767         "GTestConfig",
768         Layout {
769             size: size_of::<GTestConfig>(),
770             alignment: align_of::<GTestConfig>(),
771         },
772     ),
773     (
774         "GTestFileType",
775         Layout {
776             size: size_of::<GTestFileType>(),
777             alignment: align_of::<GTestFileType>(),
778         },
779     ),
780     (
781         "GTestLogBuffer",
782         Layout {
783             size: size_of::<GTestLogBuffer>(),
784             alignment: align_of::<GTestLogBuffer>(),
785         },
786     ),
787     (
788         "GTestLogMsg",
789         Layout {
790             size: size_of::<GTestLogMsg>(),
791             alignment: align_of::<GTestLogMsg>(),
792         },
793     ),
794     (
795         "GTestLogType",
796         Layout {
797             size: size_of::<GTestLogType>(),
798             alignment: align_of::<GTestLogType>(),
799         },
800     ),
801     (
802         "GTestResult",
803         Layout {
804             size: size_of::<GTestResult>(),
805             alignment: align_of::<GTestResult>(),
806         },
807     ),
808     (
809         "GTestSubprocessFlags",
810         Layout {
811             size: size_of::<GTestSubprocessFlags>(),
812             alignment: align_of::<GTestSubprocessFlags>(),
813         },
814     ),
815     (
816         "GTestTrapFlags",
817         Layout {
818             size: size_of::<GTestTrapFlags>(),
819             alignment: align_of::<GTestTrapFlags>(),
820         },
821     ),
822     (
823         "GThreadError",
824         Layout {
825             size: size_of::<GThreadError>(),
826             alignment: align_of::<GThreadError>(),
827         },
828     ),
829     (
830         "GThreadPool",
831         Layout {
832             size: size_of::<GThreadPool>(),
833             alignment: align_of::<GThreadPool>(),
834         },
835     ),
836     (
837         "GTime",
838         Layout {
839             size: size_of::<GTime>(),
840             alignment: align_of::<GTime>(),
841         },
842     ),
843     (
844         "GTimeSpan",
845         Layout {
846             size: size_of::<GTimeSpan>(),
847             alignment: align_of::<GTimeSpan>(),
848         },
849     ),
850     (
851         "GTimeType",
852         Layout {
853             size: size_of::<GTimeType>(),
854             alignment: align_of::<GTimeType>(),
855         },
856     ),
857     (
858         "GTimeVal",
859         Layout {
860             size: size_of::<GTimeVal>(),
861             alignment: align_of::<GTimeVal>(),
862         },
863     ),
864     (
865         "GTokenType",
866         Layout {
867             size: size_of::<GTokenType>(),
868             alignment: align_of::<GTokenType>(),
869         },
870     ),
871     (
872         "GTokenValue",
873         Layout {
874             size: size_of::<GTokenValue>(),
875             alignment: align_of::<GTokenValue>(),
876         },
877     ),
878     (
879         "GTrashStack",
880         Layout {
881             size: size_of::<GTrashStack>(),
882             alignment: align_of::<GTrashStack>(),
883         },
884     ),
885     (
886         "GTraverseFlags",
887         Layout {
888             size: size_of::<GTraverseFlags>(),
889             alignment: align_of::<GTraverseFlags>(),
890         },
891     ),
892     (
893         "GTraverseType",
894         Layout {
895             size: size_of::<GTraverseType>(),
896             alignment: align_of::<GTraverseType>(),
897         },
898     ),
899     (
900         "GType",
901         Layout {
902             size: size_of::<GType>(),
903             alignment: align_of::<GType>(),
904         },
905     ),
906     (
907         "GUnicodeBreakType",
908         Layout {
909             size: size_of::<GUnicodeBreakType>(),
910             alignment: align_of::<GUnicodeBreakType>(),
911         },
912     ),
913     (
914         "GUnicodeScript",
915         Layout {
916             size: size_of::<GUnicodeScript>(),
917             alignment: align_of::<GUnicodeScript>(),
918         },
919     ),
920     (
921         "GUnicodeType",
922         Layout {
923             size: size_of::<GUnicodeType>(),
924             alignment: align_of::<GUnicodeType>(),
925         },
926     ),
927     (
928         "GUserDirectory",
929         Layout {
930             size: size_of::<GUserDirectory>(),
931             alignment: align_of::<GUserDirectory>(),
932         },
933     ),
934     (
935         "GVariantBuilder",
936         Layout {
937             size: size_of::<GVariantBuilder>(),
938             alignment: align_of::<GVariantBuilder>(),
939         },
940     ),
941     (
942         "GVariantClass",
943         Layout {
944             size: size_of::<GVariantClass>(),
945             alignment: align_of::<GVariantClass>(),
946         },
947     ),
948     (
949         "GVariantDict",
950         Layout {
951             size: size_of::<GVariantDict>(),
952             alignment: align_of::<GVariantDict>(),
953         },
954     ),
955     (
956         "GVariantIter",
957         Layout {
958             size: size_of::<GVariantIter>(),
959             alignment: align_of::<GVariantIter>(),
960         },
961     ),
962     (
963         "GVariantParseError",
964         Layout {
965             size: size_of::<GVariantParseError>(),
966             alignment: align_of::<GVariantParseError>(),
967         },
968     ),
969 ];
970 
971 const RUST_CONSTANTS: &[(&str, &str)] = &[
972     ("GLIB_SYSDEF_AF_INET", "2"),
973     ("GLIB_SYSDEF_AF_INET6", "10"),
974     ("GLIB_SYSDEF_AF_UNIX", "1"),
975     ("GLIB_SYSDEF_MSG_DONTROUTE", "4"),
976     ("GLIB_SYSDEF_MSG_OOB", "1"),
977     ("GLIB_SYSDEF_MSG_PEEK", "2"),
978     ("(guint) G_ASCII_ALNUM", "1"),
979     ("(guint) G_ASCII_ALPHA", "2"),
980     ("(guint) G_ASCII_CNTRL", "4"),
981     ("(guint) G_ASCII_DIGIT", "8"),
982     ("G_ASCII_DTOSTR_BUF_SIZE", "39"),
983     ("(guint) G_ASCII_GRAPH", "16"),
984     ("(guint) G_ASCII_LOWER", "32"),
985     ("(guint) G_ASCII_PRINT", "64"),
986     ("(guint) G_ASCII_PUNCT", "128"),
987     ("(guint) G_ASCII_SPACE", "256"),
988     ("(guint) G_ASCII_UPPER", "512"),
989     ("(guint) G_ASCII_XDIGIT", "1024"),
990     ("G_BIG_ENDIAN", "4321"),
991     ("(gint) G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED", "2"),
992     ("(gint) G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND", "7"),
993     ("(gint) G_BOOKMARK_FILE_ERROR_INVALID_URI", "0"),
994     ("(gint) G_BOOKMARK_FILE_ERROR_INVALID_VALUE", "1"),
995     ("(gint) G_BOOKMARK_FILE_ERROR_READ", "4"),
996     ("(gint) G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING", "5"),
997     ("(gint) G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND", "3"),
998     ("(gint) G_BOOKMARK_FILE_ERROR_WRITE", "6"),
999     ("(gint) G_CHECKSUM_MD5", "0"),
1000     ("(gint) G_CHECKSUM_SHA1", "1"),
1001     ("(gint) G_CHECKSUM_SHA256", "2"),
1002     ("(gint) G_CHECKSUM_SHA384", "4"),
1003     ("(gint) G_CHECKSUM_SHA512", "3"),
1004     ("(gint) G_CONVERT_ERROR_BAD_URI", "4"),
1005     ("(gint) G_CONVERT_ERROR_EMBEDDED_NUL", "7"),
1006     ("(gint) G_CONVERT_ERROR_FAILED", "2"),
1007     ("(gint) G_CONVERT_ERROR_ILLEGAL_SEQUENCE", "1"),
1008     ("(gint) G_CONVERT_ERROR_NOT_ABSOLUTE_PATH", "5"),
1009     ("(gint) G_CONVERT_ERROR_NO_CONVERSION", "0"),
1010     ("(gint) G_CONVERT_ERROR_NO_MEMORY", "6"),
1011     ("(gint) G_CONVERT_ERROR_PARTIAL_INPUT", "3"),
1012     ("G_CSET_A_2_Z", "ABCDEFGHIJKLMNOPQRSTUVWXYZ"),
1013     ("G_CSET_DIGITS", "0123456789"),
1014     ("G_CSET_a_2_z", "abcdefghijklmnopqrstuvwxyz"),
1015     ("G_DATALIST_FLAGS_MASK", "3"),
1016     ("(gint) G_DATE_APRIL", "4"),
1017     ("(gint) G_DATE_AUGUST", "8"),
1018     ("G_DATE_BAD_DAY", "0"),
1019     ("G_DATE_BAD_JULIAN", "0"),
1020     ("(gint) G_DATE_BAD_MONTH", "0"),
1021     ("(gint) G_DATE_BAD_WEEKDAY", "0"),
1022     ("G_DATE_BAD_YEAR", "0"),
1023     ("(gint) G_DATE_DAY", "0"),
1024     ("(gint) G_DATE_DECEMBER", "12"),
1025     ("(gint) G_DATE_FEBRUARY", "2"),
1026     ("(gint) G_DATE_FRIDAY", "5"),
1027     ("(gint) G_DATE_JANUARY", "1"),
1028     ("(gint) G_DATE_JULY", "7"),
1029     ("(gint) G_DATE_JUNE", "6"),
1030     ("(gint) G_DATE_MARCH", "3"),
1031     ("(gint) G_DATE_MAY", "5"),
1032     ("(gint) G_DATE_MONDAY", "1"),
1033     ("(gint) G_DATE_MONTH", "1"),
1034     ("(gint) G_DATE_NOVEMBER", "11"),
1035     ("(gint) G_DATE_OCTOBER", "10"),
1036     ("(gint) G_DATE_SATURDAY", "6"),
1037     ("(gint) G_DATE_SEPTEMBER", "9"),
1038     ("(gint) G_DATE_SUNDAY", "7"),
1039     ("(gint) G_DATE_THURSDAY", "4"),
1040     ("(gint) G_DATE_TUESDAY", "2"),
1041     ("(gint) G_DATE_WEDNESDAY", "3"),
1042     ("(gint) G_DATE_YEAR", "2"),
1043     ("G_E", "2.718282"),
1044     ("(gint) G_ERR_DIGIT_RADIX", "5"),
1045     ("(gint) G_ERR_FLOAT_MALFORMED", "7"),
1046     ("(gint) G_ERR_FLOAT_RADIX", "6"),
1047     ("(gint) G_ERR_NON_DIGIT_IN_CONST", "4"),
1048     ("(gint) G_ERR_UNEXP_EOF", "1"),
1049     ("(gint) G_ERR_UNEXP_EOF_IN_COMMENT", "3"),
1050     ("(gint) G_ERR_UNEXP_EOF_IN_STRING", "2"),
1051     ("(gint) G_ERR_UNKNOWN", "0"),
1052     ("(gint) G_FILE_ERROR_ACCES", "2"),
1053     ("(gint) G_FILE_ERROR_AGAIN", "19"),
1054     ("(gint) G_FILE_ERROR_BADF", "16"),
1055     ("(gint) G_FILE_ERROR_EXIST", "0"),
1056     ("(gint) G_FILE_ERROR_FAILED", "24"),
1057     ("(gint) G_FILE_ERROR_FAULT", "10"),
1058     ("(gint) G_FILE_ERROR_INTR", "20"),
1059     ("(gint) G_FILE_ERROR_INVAL", "17"),
1060     ("(gint) G_FILE_ERROR_IO", "21"),
1061     ("(gint) G_FILE_ERROR_ISDIR", "1"),
1062     ("(gint) G_FILE_ERROR_LOOP", "11"),
1063     ("(gint) G_FILE_ERROR_MFILE", "14"),
1064     ("(gint) G_FILE_ERROR_NAMETOOLONG", "3"),
1065     ("(gint) G_FILE_ERROR_NFILE", "15"),
1066     ("(gint) G_FILE_ERROR_NODEV", "7"),
1067     ("(gint) G_FILE_ERROR_NOENT", "4"),
1068     ("(gint) G_FILE_ERROR_NOMEM", "13"),
1069     ("(gint) G_FILE_ERROR_NOSPC", "12"),
1070     ("(gint) G_FILE_ERROR_NOSYS", "23"),
1071     ("(gint) G_FILE_ERROR_NOTDIR", "5"),
1072     ("(gint) G_FILE_ERROR_NXIO", "6"),
1073     ("(gint) G_FILE_ERROR_PERM", "22"),
1074     ("(gint) G_FILE_ERROR_PIPE", "18"),
1075     ("(gint) G_FILE_ERROR_ROFS", "8"),
1076     ("(gint) G_FILE_ERROR_TXTBSY", "9"),
1077     ("(guint) G_FILE_TEST_EXISTS", "16"),
1078     ("(guint) G_FILE_TEST_IS_DIR", "4"),
1079     ("(guint) G_FILE_TEST_IS_EXECUTABLE", "8"),
1080     ("(guint) G_FILE_TEST_IS_REGULAR", "1"),
1081     ("(guint) G_FILE_TEST_IS_SYMLINK", "2"),
1082     ("(guint) G_FORMAT_SIZE_BITS", "4"),
1083     ("(guint) G_FORMAT_SIZE_DEFAULT", "0"),
1084     ("(guint) G_FORMAT_SIZE_IEC_UNITS", "2"),
1085     ("(guint) G_FORMAT_SIZE_LONG_FORMAT", "1"),
1086     ("(guint) G_HOOK_FLAG_ACTIVE", "1"),
1087     ("(guint) G_HOOK_FLAG_IN_CALL", "2"),
1088     ("(guint) G_HOOK_FLAG_MASK", "15"),
1089     ("G_HOOK_FLAG_USER_SHIFT", "4"),
1090     ("G_IEEE754_DOUBLE_BIAS", "1023"),
1091     ("G_IEEE754_FLOAT_BIAS", "127"),
1092     ("(gint) G_IN_ORDER", "0"),
1093     ("(gint) G_IO_CHANNEL_ERROR_FAILED", "8"),
1094     ("(gint) G_IO_CHANNEL_ERROR_FBIG", "0"),
1095     ("(gint) G_IO_CHANNEL_ERROR_INVAL", "1"),
1096     ("(gint) G_IO_CHANNEL_ERROR_IO", "2"),
1097     ("(gint) G_IO_CHANNEL_ERROR_ISDIR", "3"),
1098     ("(gint) G_IO_CHANNEL_ERROR_NOSPC", "4"),
1099     ("(gint) G_IO_CHANNEL_ERROR_NXIO", "5"),
1100     ("(gint) G_IO_CHANNEL_ERROR_OVERFLOW", "6"),
1101     ("(gint) G_IO_CHANNEL_ERROR_PIPE", "7"),
1102     ("(guint) G_IO_ERR", "8"),
1103     ("(gint) G_IO_ERROR_AGAIN", "1"),
1104     ("(gint) G_IO_ERROR_INVAL", "2"),
1105     ("(gint) G_IO_ERROR_NONE", "0"),
1106     ("(gint) G_IO_ERROR_UNKNOWN", "3"),
1107     ("(guint) G_IO_FLAG_APPEND", "1"),
1108     ("(guint) G_IO_FLAG_GET_MASK", "31"),
1109     ("(guint) G_IO_FLAG_IS_READABLE", "4"),
1110     ("(guint) G_IO_FLAG_IS_SEEKABLE", "16"),
1111     ("(guint) G_IO_FLAG_IS_WRITABLE", "8"),
1112     ("(guint) G_IO_FLAG_IS_WRITEABLE", "8"),
1113     ("(guint) G_IO_FLAG_MASK", "31"),
1114     ("(guint) G_IO_FLAG_NONBLOCK", "2"),
1115     ("(guint) G_IO_FLAG_SET_MASK", "3"),
1116     ("(guint) G_IO_HUP", "16"),
1117     ("(guint) G_IO_IN", "1"),
1118     ("(guint) G_IO_NVAL", "32"),
1119     ("(guint) G_IO_OUT", "4"),
1120     ("(guint) G_IO_PRI", "2"),
1121     ("(gint) G_IO_STATUS_AGAIN", "3"),
1122     ("(gint) G_IO_STATUS_EOF", "2"),
1123     ("(gint) G_IO_STATUS_ERROR", "0"),
1124     ("(gint) G_IO_STATUS_NORMAL", "1"),
1125     ("G_KEY_FILE_DESKTOP_ACTION_GROUP_PREFIX", "Desktop Action"),
1126     ("G_KEY_FILE_DESKTOP_GROUP", "Desktop Entry"),
1127     ("G_KEY_FILE_DESKTOP_KEY_ACTIONS", "Actions"),
1128     ("G_KEY_FILE_DESKTOP_KEY_CATEGORIES", "Categories"),
1129     ("G_KEY_FILE_DESKTOP_KEY_COMMENT", "Comment"),
1130     ("G_KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE", "DBusActivatable"),
1131     ("G_KEY_FILE_DESKTOP_KEY_EXEC", "Exec"),
1132     ("G_KEY_FILE_DESKTOP_KEY_FULLNAME", "X-GNOME-FullName"),
1133     ("G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME", "GenericName"),
1134     (
1135         "G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN",
1136         "X-GNOME-Gettext-Domain",
1137     ),
1138     ("G_KEY_FILE_DESKTOP_KEY_HIDDEN", "Hidden"),
1139     ("G_KEY_FILE_DESKTOP_KEY_ICON", "Icon"),
1140     ("G_KEY_FILE_DESKTOP_KEY_KEYWORDS", "Keywords"),
1141     ("G_KEY_FILE_DESKTOP_KEY_MIME_TYPE", "MimeType"),
1142     ("G_KEY_FILE_DESKTOP_KEY_NAME", "Name"),
1143     ("G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN", "NotShowIn"),
1144     ("G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY", "NoDisplay"),
1145     ("G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN", "OnlyShowIn"),
1146     ("G_KEY_FILE_DESKTOP_KEY_PATH", "Path"),
1147     ("G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY", "StartupNotify"),
1148     ("G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS", "StartupWMClass"),
1149     ("G_KEY_FILE_DESKTOP_KEY_TERMINAL", "Terminal"),
1150     ("G_KEY_FILE_DESKTOP_KEY_TRY_EXEC", "TryExec"),
1151     ("G_KEY_FILE_DESKTOP_KEY_TYPE", "Type"),
1152     ("G_KEY_FILE_DESKTOP_KEY_URL", "URL"),
1153     ("G_KEY_FILE_DESKTOP_KEY_VERSION", "Version"),
1154     ("G_KEY_FILE_DESKTOP_TYPE_APPLICATION", "Application"),
1155     ("G_KEY_FILE_DESKTOP_TYPE_DIRECTORY", "Directory"),
1156     ("G_KEY_FILE_DESKTOP_TYPE_LINK", "Link"),
1157     ("(gint) G_KEY_FILE_ERROR_GROUP_NOT_FOUND", "4"),
1158     ("(gint) G_KEY_FILE_ERROR_INVALID_VALUE", "5"),
1159     ("(gint) G_KEY_FILE_ERROR_KEY_NOT_FOUND", "3"),
1160     ("(gint) G_KEY_FILE_ERROR_NOT_FOUND", "2"),
1161     ("(gint) G_KEY_FILE_ERROR_PARSE", "1"),
1162     ("(gint) G_KEY_FILE_ERROR_UNKNOWN_ENCODING", "0"),
1163     ("(guint) G_KEY_FILE_KEEP_COMMENTS", "1"),
1164     ("(guint) G_KEY_FILE_KEEP_TRANSLATIONS", "2"),
1165     ("(guint) G_KEY_FILE_NONE", "0"),
1166     ("(gint) G_LEVEL_ORDER", "3"),
1167     ("G_LITTLE_ENDIAN", "1234"),
1168     ("G_LN10", "2.302585"),
1169     ("G_LN2", "0.693147"),
1170     ("G_LOG_2_BASE_10", "0.301030"),
1171     ("G_LOG_DOMAIN", "0"),
1172     ("G_LOG_FATAL_MASK", "5"),
1173     ("(guint) G_LOG_FLAG_FATAL", "2"),
1174     ("(guint) G_LOG_FLAG_RECURSION", "1"),
1175     ("(guint) G_LOG_LEVEL_CRITICAL", "8"),
1176     ("(guint) G_LOG_LEVEL_DEBUG", "128"),
1177     ("(guint) G_LOG_LEVEL_ERROR", "4"),
1178     ("(guint) G_LOG_LEVEL_INFO", "64"),
1179     ("(guint) G_LOG_LEVEL_MASK", "-4"),
1180     ("(guint) G_LOG_LEVEL_MESSAGE", "32"),
1181     ("G_LOG_LEVEL_USER_SHIFT", "8"),
1182     ("(guint) G_LOG_LEVEL_WARNING", "16"),
1183     ("(gint) G_LOG_WRITER_HANDLED", "1"),
1184     ("(gint) G_LOG_WRITER_UNHANDLED", "0"),
1185     ("(guint) G_MARKUP_COLLECT_BOOLEAN", "3"),
1186     ("(guint) G_MARKUP_COLLECT_INVALID", "0"),
1187     ("(guint) G_MARKUP_COLLECT_OPTIONAL", "65536"),
1188     ("(guint) G_MARKUP_COLLECT_STRDUP", "2"),
1189     ("(guint) G_MARKUP_COLLECT_STRING", "1"),
1190     ("(guint) G_MARKUP_COLLECT_TRISTATE", "4"),
1191     ("(guint) G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG", "1"),
1192     ("(gint) G_MARKUP_ERROR_BAD_UTF8", "0"),
1193     ("(gint) G_MARKUP_ERROR_EMPTY", "1"),
1194     ("(gint) G_MARKUP_ERROR_INVALID_CONTENT", "5"),
1195     ("(gint) G_MARKUP_ERROR_MISSING_ATTRIBUTE", "6"),
1196     ("(gint) G_MARKUP_ERROR_PARSE", "2"),
1197     ("(gint) G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE", "4"),
1198     ("(gint) G_MARKUP_ERROR_UNKNOWN_ELEMENT", "3"),
1199     ("(guint) G_MARKUP_IGNORE_QUALIFIED", "8"),
1200     ("(guint) G_MARKUP_PREFIX_ERROR_POSITION", "4"),
1201     ("(guint) G_MARKUP_TREAT_CDATA_AS_TEXT", "2"),
1202     ("(gint) G_NORMALIZE_ALL", "2"),
1203     ("(gint) G_NORMALIZE_ALL_COMPOSE", "3"),
1204     ("(gint) G_NORMALIZE_DEFAULT", "0"),
1205     ("(gint) G_NORMALIZE_DEFAULT_COMPOSE", "1"),
1206     ("(gint) G_NORMALIZE_NFC", "1"),
1207     ("(gint) G_NORMALIZE_NFD", "0"),
1208     ("(gint) G_NORMALIZE_NFKC", "3"),
1209     ("(gint) G_NORMALIZE_NFKD", "2"),
1210     ("(gint) G_NUMBER_PARSER_ERROR_INVALID", "0"),
1211     ("(gint) G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS", "1"),
1212     ("(gint) G_ONCE_STATUS_NOTCALLED", "0"),
1213     ("(gint) G_ONCE_STATUS_PROGRESS", "1"),
1214     ("(gint) G_ONCE_STATUS_READY", "2"),
1215     ("(gint) G_OPTION_ARG_CALLBACK", "3"),
1216     ("(gint) G_OPTION_ARG_DOUBLE", "7"),
1217     ("(gint) G_OPTION_ARG_FILENAME", "4"),
1218     ("(gint) G_OPTION_ARG_FILENAME_ARRAY", "6"),
1219     ("(gint) G_OPTION_ARG_INT", "2"),
1220     ("(gint) G_OPTION_ARG_INT64", "8"),
1221     ("(gint) G_OPTION_ARG_NONE", "0"),
1222     ("(gint) G_OPTION_ARG_STRING", "1"),
1223     ("(gint) G_OPTION_ARG_STRING_ARRAY", "5"),
1224     ("(gint) G_OPTION_ERROR_BAD_VALUE", "1"),
1225     ("(gint) G_OPTION_ERROR_FAILED", "2"),
1226     ("(gint) G_OPTION_ERROR_UNKNOWN_OPTION", "0"),
1227     ("(guint) G_OPTION_FLAG_FILENAME", "16"),
1228     ("(guint) G_OPTION_FLAG_HIDDEN", "1"),
1229     ("(guint) G_OPTION_FLAG_IN_MAIN", "2"),
1230     ("(guint) G_OPTION_FLAG_NOALIAS", "64"),
1231     ("(guint) G_OPTION_FLAG_NONE", "0"),
1232     ("(guint) G_OPTION_FLAG_NO_ARG", "8"),
1233     ("(guint) G_OPTION_FLAG_OPTIONAL_ARG", "32"),
1234     ("(guint) G_OPTION_FLAG_REVERSE", "4"),
1235     ("G_OPTION_REMAINING", ""),
1236     ("G_PDP_ENDIAN", "3412"),
1237     ("G_PI", "3.141593"),
1238     ("G_PI_2", "1.570796"),
1239     ("G_PI_4", "0.785398"),
1240     ("(gint) G_POST_ORDER", "2"),
1241     ("(gint) G_PRE_ORDER", "1"),
1242     ("G_PRIORITY_DEFAULT", "0"),
1243     ("G_PRIORITY_DEFAULT_IDLE", "200"),
1244     ("G_PRIORITY_HIGH", "-100"),
1245     ("G_PRIORITY_HIGH_IDLE", "100"),
1246     ("G_PRIORITY_LOW", "300"),
1247     ("(guint) G_REGEX_ANCHORED", "16"),
1248     ("(guint) G_REGEX_BSR_ANYCRLF", "8388608"),
1249     ("(guint) G_REGEX_CASELESS", "1"),
1250     ("(guint) G_REGEX_DOLLAR_ENDONLY", "32"),
1251     ("(guint) G_REGEX_DOTALL", "4"),
1252     ("(guint) G_REGEX_DUPNAMES", "524288"),
1253     ("(gint) G_REGEX_ERROR_ASSERTION_EXPECTED", "128"),
1254     (
1255         "(gint) G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN",
1256         "159",
1257     ),
1258     (
1259         "(gint) G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED",
1260         "166",
1261     ),
1262     ("(gint) G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE", "176"),
1263     ("(gint) G_REGEX_ERROR_COMPILE", "0"),
1264     ("(gint) G_REGEX_ERROR_DEFINE_REPETION", "155"),
1265     ("(gint) G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME", "143"),
1266     ("(gint) G_REGEX_ERROR_EXPRESSION_TOO_LARGE", "120"),
1267     ("(gint) G_REGEX_ERROR_EXTRA_SUBPATTERN_NAME", "165"),
1268     ("(gint) G_REGEX_ERROR_HEX_CODE_TOO_LARGE", "134"),
1269     ("(gint) G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS", "156"),
1270     (
1271         "(gint) G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE",
1272         "115",
1273     ),
1274     ("(gint) G_REGEX_ERROR_INFINITE_LOOP", "140"),
1275     ("(gint) G_REGEX_ERROR_INTERNAL", "4"),
1276     ("(gint) G_REGEX_ERROR_INVALID_CONDITION", "135"),
1277     ("(gint) G_REGEX_ERROR_INVALID_CONTROL_CHAR", "168"),
1278     ("(gint) G_REGEX_ERROR_INVALID_DATA_CHARACTER", "164"),
1279     (
1280         "(gint) G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS",
1281         "107",
1282     ),
1283     ("(gint) G_REGEX_ERROR_INVALID_OCTAL_VALUE", "151"),
1284     ("(gint) G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE", "158"),
1285     ("(gint) G_REGEX_ERROR_MALFORMED_CONDITION", "126"),
1286     ("(gint) G_REGEX_ERROR_MALFORMED_PROPERTY", "146"),
1287     ("(gint) G_REGEX_ERROR_MATCH", "3"),
1288     ("(gint) G_REGEX_ERROR_MEMORY_ERROR", "121"),
1289     ("(gint) G_REGEX_ERROR_MISSING_BACK_REFERENCE", "157"),
1290     ("(gint) G_REGEX_ERROR_MISSING_CONTROL_CHAR", "102"),
1291     ("(gint) G_REGEX_ERROR_MISSING_DIGIT", "163"),
1292     ("(gint) G_REGEX_ERROR_MISSING_NAME", "169"),
1293     ("(gint) G_REGEX_ERROR_MISSING_SUBPATTERN_NAME", "162"),
1294     (
1295         "(gint) G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR",
1296         "142",
1297     ),
1298     ("(gint) G_REGEX_ERROR_NAME_TOO_LONG", "175"),
1299     ("(gint) G_REGEX_ERROR_NOTHING_TO_REPEAT", "109"),
1300     ("(gint) G_REGEX_ERROR_NOT_SUPPORTED_IN_CLASS", "171"),
1301     ("(gint) G_REGEX_ERROR_NUMBER_TOO_BIG", "161"),
1302     ("(gint) G_REGEX_ERROR_OPTIMIZE", "1"),
1303     (
1304         "(gint) G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED",
1305         "131",
1306     ),
1307     (
1308         "(gint) G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS",
1309         "113",
1310     ),
1311     ("(gint) G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER", "104"),
1312     ("(gint) G_REGEX_ERROR_QUANTIFIER_TOO_BIG", "105"),
1313     ("(gint) G_REGEX_ERROR_RANGE_OUT_OF_ORDER", "108"),
1314     ("(gint) G_REGEX_ERROR_REPLACE", "2"),
1315     (
1316         "(gint) G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND",
1317         "136",
1318     ),
1319     ("(gint) G_REGEX_ERROR_STRAY_BACKSLASH", "101"),
1320     ("(gint) G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG", "148"),
1321     ("(gint) G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE", "154"),
1322     ("(gint) G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES", "127"),
1323     ("(gint) G_REGEX_ERROR_TOO_MANY_FORWARD_REFERENCES", "172"),
1324     ("(gint) G_REGEX_ERROR_TOO_MANY_SUBPATTERNS", "149"),
1325     (
1326         "(gint) G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB",
1327         "160",
1328     ),
1329     ("(gint) G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME", "130"),
1330     ("(gint) G_REGEX_ERROR_UNKNOWN_PROPERTY", "147"),
1331     ("(gint) G_REGEX_ERROR_UNMATCHED_PARENTHESIS", "114"),
1332     ("(gint) G_REGEX_ERROR_UNRECOGNIZED_CHARACTER", "112"),
1333     ("(gint) G_REGEX_ERROR_UNRECOGNIZED_ESCAPE", "103"),
1334     ("(gint) G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS", "106"),
1335     ("(gint) G_REGEX_ERROR_UNTERMINATED_COMMENT", "118"),
1336     ("(gint) G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND", "125"),
1337     ("(guint) G_REGEX_EXTENDED", "8"),
1338     ("(guint) G_REGEX_FIRSTLINE", "262144"),
1339     ("(guint) G_REGEX_JAVASCRIPT_COMPAT", "33554432"),
1340     ("(guint) G_REGEX_MATCH_ANCHORED", "16"),
1341     ("(guint) G_REGEX_MATCH_BSR_ANY", "16777216"),
1342     ("(guint) G_REGEX_MATCH_BSR_ANYCRLF", "8388608"),
1343     ("(guint) G_REGEX_MATCH_NEWLINE_ANY", "4194304"),
1344     ("(guint) G_REGEX_MATCH_NEWLINE_ANYCRLF", "5242880"),
1345     ("(guint) G_REGEX_MATCH_NEWLINE_CR", "1048576"),
1346     ("(guint) G_REGEX_MATCH_NEWLINE_CRLF", "3145728"),
1347     ("(guint) G_REGEX_MATCH_NEWLINE_LF", "2097152"),
1348     ("(guint) G_REGEX_MATCH_NOTBOL", "128"),
1349     ("(guint) G_REGEX_MATCH_NOTEMPTY", "1024"),
1350     ("(guint) G_REGEX_MATCH_NOTEMPTY_ATSTART", "268435456"),
1351     ("(guint) G_REGEX_MATCH_NOTEOL", "256"),
1352     ("(guint) G_REGEX_MATCH_PARTIAL", "32768"),
1353     ("(guint) G_REGEX_MATCH_PARTIAL_HARD", "134217728"),
1354     ("(guint) G_REGEX_MATCH_PARTIAL_SOFT", "32768"),
1355     ("(guint) G_REGEX_MULTILINE", "2"),
1356     ("(guint) G_REGEX_NEWLINE_ANYCRLF", "5242880"),
1357     ("(guint) G_REGEX_NEWLINE_CR", "1048576"),
1358     ("(guint) G_REGEX_NEWLINE_CRLF", "3145728"),
1359     ("(guint) G_REGEX_NEWLINE_LF", "2097152"),
1360     ("(guint) G_REGEX_NO_AUTO_CAPTURE", "4096"),
1361     ("(guint) G_REGEX_OPTIMIZE", "8192"),
1362     ("(guint) G_REGEX_RAW", "2048"),
1363     ("(guint) G_REGEX_UNGREEDY", "512"),
1364     ("(gint) G_SEEK_CUR", "0"),
1365     ("(gint) G_SEEK_END", "2"),
1366     ("(gint) G_SEEK_SET", "1"),
1367     ("(gint) G_SHELL_ERROR_BAD_QUOTING", "0"),
1368     ("(gint) G_SHELL_ERROR_EMPTY_STRING", "1"),
1369     ("(gint) G_SHELL_ERROR_FAILED", "2"),
1370     ("(gint) G_SLICE_CONFIG_ALWAYS_MALLOC", "1"),
1371     ("(gint) G_SLICE_CONFIG_BYPASS_MAGAZINES", "2"),
1372     ("(gint) G_SLICE_CONFIG_CHUNK_SIZES", "5"),
1373     ("(gint) G_SLICE_CONFIG_COLOR_INCREMENT", "4"),
1374     ("(gint) G_SLICE_CONFIG_CONTENTION_COUNTER", "6"),
1375     ("(gint) G_SLICE_CONFIG_WORKING_SET_MSECS", "3"),
1376     ("G_SOURCE_CONTINUE", "1"),
1377     ("G_SOURCE_REMOVE", "0"),
1378     ("(guint) G_SPAWN_CHILD_INHERITS_STDIN", "32"),
1379     ("(guint) G_SPAWN_CLOEXEC_PIPES", "256"),
1380     ("(guint) G_SPAWN_DEFAULT", "0"),
1381     ("(guint) G_SPAWN_DO_NOT_REAP_CHILD", "2"),
1382     ("(gint) G_SPAWN_ERROR_2BIG", "5"),
1383     ("(gint) G_SPAWN_ERROR_ACCES", "3"),
1384     ("(gint) G_SPAWN_ERROR_CHDIR", "2"),
1385     ("(gint) G_SPAWN_ERROR_FAILED", "19"),
1386     ("(gint) G_SPAWN_ERROR_FORK", "0"),
1387     ("(gint) G_SPAWN_ERROR_INVAL", "16"),
1388     ("(gint) G_SPAWN_ERROR_IO", "13"),
1389     ("(gint) G_SPAWN_ERROR_ISDIR", "17"),
1390     ("(gint) G_SPAWN_ERROR_LIBBAD", "18"),
1391     ("(gint) G_SPAWN_ERROR_LOOP", "11"),
1392     ("(gint) G_SPAWN_ERROR_MFILE", "15"),
1393     ("(gint) G_SPAWN_ERROR_NAMETOOLONG", "7"),
1394     ("(gint) G_SPAWN_ERROR_NFILE", "14"),
1395     ("(gint) G_SPAWN_ERROR_NOENT", "8"),
1396     ("(gint) G_SPAWN_ERROR_NOEXEC", "6"),
1397     ("(gint) G_SPAWN_ERROR_NOMEM", "9"),
1398     ("(gint) G_SPAWN_ERROR_NOTDIR", "10"),
1399     ("(gint) G_SPAWN_ERROR_PERM", "4"),
1400     ("(gint) G_SPAWN_ERROR_READ", "1"),
1401     ("(gint) G_SPAWN_ERROR_TOO_BIG", "5"),
1402     ("(gint) G_SPAWN_ERROR_TXTBUSY", "12"),
1403     ("(guint) G_SPAWN_FILE_AND_ARGV_ZERO", "64"),
1404     ("(guint) G_SPAWN_LEAVE_DESCRIPTORS_OPEN", "1"),
1405     ("(guint) G_SPAWN_SEARCH_PATH", "4"),
1406     ("(guint) G_SPAWN_SEARCH_PATH_FROM_ENVP", "128"),
1407     ("(guint) G_SPAWN_STDERR_TO_DEV_NULL", "16"),
1408     ("(guint) G_SPAWN_STDOUT_TO_DEV_NULL", "8"),
1409     ("G_SQRT2", "1.414214"),
1410     ("G_STR_DELIMITERS", "_-|> <."),
1411     ("(gint) G_TEST_BUILT", "1"),
1412     ("(gint) G_TEST_DIST", "0"),
1413     ("(gint) G_TEST_LOG_ERROR", "1"),
1414     ("(gint) G_TEST_LOG_LIST_CASE", "3"),
1415     ("(gint) G_TEST_LOG_MAX_RESULT", "8"),
1416     ("(gint) G_TEST_LOG_MESSAGE", "9"),
1417     ("(gint) G_TEST_LOG_MIN_RESULT", "7"),
1418     ("(gint) G_TEST_LOG_NONE", "0"),
1419     ("(gint) G_TEST_LOG_SKIP_CASE", "4"),
1420     ("(gint) G_TEST_LOG_START_BINARY", "2"),
1421     ("(gint) G_TEST_LOG_START_CASE", "5"),
1422     ("(gint) G_TEST_LOG_START_SUITE", "10"),
1423     ("(gint) G_TEST_LOG_STOP_CASE", "6"),
1424     ("(gint) G_TEST_LOG_STOP_SUITE", "11"),
1425     ("G_TEST_OPTION_ISOLATE_DIRS", "isolate_dirs"),
1426     ("(gint) G_TEST_RUN_FAILURE", "2"),
1427     ("(gint) G_TEST_RUN_INCOMPLETE", "3"),
1428     ("(gint) G_TEST_RUN_SKIPPED", "1"),
1429     ("(gint) G_TEST_RUN_SUCCESS", "0"),
1430     ("(guint) G_TEST_SUBPROCESS_INHERIT_STDERR", "4"),
1431     ("(guint) G_TEST_SUBPROCESS_INHERIT_STDIN", "1"),
1432     ("(guint) G_TEST_SUBPROCESS_INHERIT_STDOUT", "2"),
1433     ("(guint) G_TEST_TRAP_INHERIT_STDIN", "512"),
1434     ("(guint) G_TEST_TRAP_SILENCE_STDERR", "256"),
1435     ("(guint) G_TEST_TRAP_SILENCE_STDOUT", "128"),
1436     ("(gint) G_THREAD_ERROR_AGAIN", "0"),
1437     ("G_TIME_SPAN_DAY", "86400000000"),
1438     ("G_TIME_SPAN_HOUR", "3600000000"),
1439     ("G_TIME_SPAN_MILLISECOND", "1000"),
1440     ("G_TIME_SPAN_MINUTE", "60000000"),
1441     ("G_TIME_SPAN_SECOND", "1000000"),
1442     ("(gint) G_TIME_TYPE_DAYLIGHT", "1"),
1443     ("(gint) G_TIME_TYPE_STANDARD", "0"),
1444     ("(gint) G_TIME_TYPE_UNIVERSAL", "2"),
1445     ("(gint) G_TOKEN_BINARY", "259"),
1446     ("(gint) G_TOKEN_CHAR", "258"),
1447     ("(gint) G_TOKEN_COMMA", "44"),
1448     ("(gint) G_TOKEN_COMMENT_MULTI", "269"),
1449     ("(gint) G_TOKEN_COMMENT_SINGLE", "268"),
1450     ("(gint) G_TOKEN_EOF", "0"),
1451     ("(gint) G_TOKEN_EQUAL_SIGN", "61"),
1452     ("(gint) G_TOKEN_ERROR", "257"),
1453     ("(gint) G_TOKEN_FLOAT", "263"),
1454     ("(gint) G_TOKEN_HEX", "262"),
1455     ("(gint) G_TOKEN_IDENTIFIER", "266"),
1456     ("(gint) G_TOKEN_IDENTIFIER_NULL", "267"),
1457     ("(gint) G_TOKEN_INT", "261"),
1458     ("(gint) G_TOKEN_LEFT_BRACE", "91"),
1459     ("(gint) G_TOKEN_LEFT_CURLY", "123"),
1460     ("(gint) G_TOKEN_LEFT_PAREN", "40"),
1461     ("(gint) G_TOKEN_NONE", "256"),
1462     ("(gint) G_TOKEN_OCTAL", "260"),
1463     ("(gint) G_TOKEN_RIGHT_BRACE", "93"),
1464     ("(gint) G_TOKEN_RIGHT_CURLY", "125"),
1465     ("(gint) G_TOKEN_RIGHT_PAREN", "41"),
1466     ("(gint) G_TOKEN_STRING", "264"),
1467     ("(gint) G_TOKEN_SYMBOL", "265"),
1468     ("(guint) G_TRAVERSE_ALL", "3"),
1469     ("(guint) G_TRAVERSE_LEAFS", "1"),
1470     ("(guint) G_TRAVERSE_LEAVES", "1"),
1471     ("(guint) G_TRAVERSE_MASK", "3"),
1472     ("(guint) G_TRAVERSE_NON_LEAFS", "2"),
1473     ("(guint) G_TRAVERSE_NON_LEAVES", "2"),
1474     ("G_UNICHAR_MAX_DECOMPOSITION_LENGTH", "18"),
1475     ("(gint) G_UNICODE_BREAK_AFTER", "10"),
1476     ("(gint) G_UNICODE_BREAK_ALPHABETIC", "23"),
1477     ("(gint) G_UNICODE_BREAK_AMBIGUOUS", "27"),
1478     ("(gint) G_UNICODE_BREAK_BEFORE", "11"),
1479     ("(gint) G_UNICODE_BREAK_BEFORE_AND_AFTER", "12"),
1480     ("(gint) G_UNICODE_BREAK_CARRIAGE_RETURN", "1"),
1481     ("(gint) G_UNICODE_BREAK_CLOSE_PARANTHESIS", "36"),
1482     ("(gint) G_UNICODE_BREAK_CLOSE_PUNCTUATION", "16"),
1483     ("(gint) G_UNICODE_BREAK_COMBINING_MARK", "3"),
1484     ("(gint) G_UNICODE_BREAK_COMPLEX_CONTEXT", "26"),
1485     ("(gint) G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER", "37"),
1486     ("(gint) G_UNICODE_BREAK_CONTINGENT", "8"),
1487     ("(gint) G_UNICODE_BREAK_EMOJI_BASE", "40"),
1488     ("(gint) G_UNICODE_BREAK_EMOJI_MODIFIER", "41"),
1489     ("(gint) G_UNICODE_BREAK_EXCLAMATION", "18"),
1490     ("(gint) G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE", "35"),
1491     ("(gint) G_UNICODE_BREAK_HANGUL_LV_SYLLABLE", "34"),
1492     ("(gint) G_UNICODE_BREAK_HANGUL_L_JAMO", "31"),
1493     ("(gint) G_UNICODE_BREAK_HANGUL_T_JAMO", "33"),
1494     ("(gint) G_UNICODE_BREAK_HANGUL_V_JAMO", "32"),
1495     ("(gint) G_UNICODE_BREAK_HEBREW_LETTER", "38"),
1496     ("(gint) G_UNICODE_BREAK_HYPHEN", "13"),
1497     ("(gint) G_UNICODE_BREAK_IDEOGRAPHIC", "19"),
1498     ("(gint) G_UNICODE_BREAK_INFIX_SEPARATOR", "21"),
1499     ("(gint) G_UNICODE_BREAK_INSEPARABLE", "6"),
1500     ("(gint) G_UNICODE_BREAK_LINE_FEED", "2"),
1501     ("(gint) G_UNICODE_BREAK_MANDATORY", "0"),
1502     ("(gint) G_UNICODE_BREAK_NEXT_LINE", "29"),
1503     ("(gint) G_UNICODE_BREAK_NON_BREAKING_GLUE", "7"),
1504     ("(gint) G_UNICODE_BREAK_NON_STARTER", "14"),
1505     ("(gint) G_UNICODE_BREAK_NUMERIC", "20"),
1506     ("(gint) G_UNICODE_BREAK_OPEN_PUNCTUATION", "15"),
1507     ("(gint) G_UNICODE_BREAK_POSTFIX", "25"),
1508     ("(gint) G_UNICODE_BREAK_PREFIX", "24"),
1509     ("(gint) G_UNICODE_BREAK_QUOTATION", "17"),
1510     ("(gint) G_UNICODE_BREAK_REGIONAL_INDICATOR", "39"),
1511     ("(gint) G_UNICODE_BREAK_SPACE", "9"),
1512     ("(gint) G_UNICODE_BREAK_SURROGATE", "4"),
1513     ("(gint) G_UNICODE_BREAK_SYMBOL", "22"),
1514     ("(gint) G_UNICODE_BREAK_UNKNOWN", "28"),
1515     ("(gint) G_UNICODE_BREAK_WORD_JOINER", "30"),
1516     ("(gint) G_UNICODE_BREAK_ZERO_WIDTH_JOINER", "42"),
1517     ("(gint) G_UNICODE_BREAK_ZERO_WIDTH_SPACE", "5"),
1518     ("(gint) G_UNICODE_CLOSE_PUNCTUATION", "18"),
1519     ("(gint) G_UNICODE_CONNECT_PUNCTUATION", "16"),
1520     ("(gint) G_UNICODE_CONTROL", "0"),
1521     ("(gint) G_UNICODE_CURRENCY_SYMBOL", "23"),
1522     ("(gint) G_UNICODE_DASH_PUNCTUATION", "17"),
1523     ("(gint) G_UNICODE_DECIMAL_NUMBER", "13"),
1524     ("(gint) G_UNICODE_ENCLOSING_MARK", "11"),
1525     ("(gint) G_UNICODE_FINAL_PUNCTUATION", "19"),
1526     ("(gint) G_UNICODE_FORMAT", "1"),
1527     ("(gint) G_UNICODE_INITIAL_PUNCTUATION", "20"),
1528     ("(gint) G_UNICODE_LETTER_NUMBER", "14"),
1529     ("(gint) G_UNICODE_LINE_SEPARATOR", "27"),
1530     ("(gint) G_UNICODE_LOWERCASE_LETTER", "5"),
1531     ("(gint) G_UNICODE_MATH_SYMBOL", "25"),
1532     ("(gint) G_UNICODE_MODIFIER_LETTER", "6"),
1533     ("(gint) G_UNICODE_MODIFIER_SYMBOL", "24"),
1534     ("(gint) G_UNICODE_NON_SPACING_MARK", "12"),
1535     ("(gint) G_UNICODE_OPEN_PUNCTUATION", "22"),
1536     ("(gint) G_UNICODE_OTHER_LETTER", "7"),
1537     ("(gint) G_UNICODE_OTHER_NUMBER", "15"),
1538     ("(gint) G_UNICODE_OTHER_PUNCTUATION", "21"),
1539     ("(gint) G_UNICODE_OTHER_SYMBOL", "26"),
1540     ("(gint) G_UNICODE_PARAGRAPH_SEPARATOR", "28"),
1541     ("(gint) G_UNICODE_PRIVATE_USE", "3"),
1542     ("(gint) G_UNICODE_SCRIPT_ADLAM", "132"),
1543     ("(gint) G_UNICODE_SCRIPT_AHOM", "126"),
1544     ("(gint) G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS", "127"),
1545     ("(gint) G_UNICODE_SCRIPT_ARABIC", "2"),
1546     ("(gint) G_UNICODE_SCRIPT_ARMENIAN", "3"),
1547     ("(gint) G_UNICODE_SCRIPT_AVESTAN", "78"),
1548     ("(gint) G_UNICODE_SCRIPT_BALINESE", "62"),
1549     ("(gint) G_UNICODE_SCRIPT_BAMUM", "79"),
1550     ("(gint) G_UNICODE_SCRIPT_BASSA_VAH", "103"),
1551     ("(gint) G_UNICODE_SCRIPT_BATAK", "93"),
1552     ("(gint) G_UNICODE_SCRIPT_BENGALI", "4"),
1553     ("(gint) G_UNICODE_SCRIPT_BHAIKSUKI", "133"),
1554     ("(gint) G_UNICODE_SCRIPT_BOPOMOFO", "5"),
1555     ("(gint) G_UNICODE_SCRIPT_BRAHMI", "94"),
1556     ("(gint) G_UNICODE_SCRIPT_BRAILLE", "46"),
1557     ("(gint) G_UNICODE_SCRIPT_BUGINESE", "55"),
1558     ("(gint) G_UNICODE_SCRIPT_BUHID", "44"),
1559     ("(gint) G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL", "40"),
1560     ("(gint) G_UNICODE_SCRIPT_CARIAN", "75"),
1561     ("(gint) G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN", "104"),
1562     ("(gint) G_UNICODE_SCRIPT_CHAKMA", "96"),
1563     ("(gint) G_UNICODE_SCRIPT_CHAM", "72"),
1564     ("(gint) G_UNICODE_SCRIPT_CHEROKEE", "6"),
1565     ("(gint) G_UNICODE_SCRIPT_COMMON", "0"),
1566     ("(gint) G_UNICODE_SCRIPT_COPTIC", "7"),
1567     ("(gint) G_UNICODE_SCRIPT_CUNEIFORM", "63"),
1568     ("(gint) G_UNICODE_SCRIPT_CYPRIOT", "47"),
1569     ("(gint) G_UNICODE_SCRIPT_CYRILLIC", "8"),
1570     ("(gint) G_UNICODE_SCRIPT_DESERET", "9"),
1571     ("(gint) G_UNICODE_SCRIPT_DEVANAGARI", "10"),
1572     ("(gint) G_UNICODE_SCRIPT_DOGRA", "142"),
1573     ("(gint) G_UNICODE_SCRIPT_DUPLOYAN", "105"),
1574     ("(gint) G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS", "80"),
1575     ("(gint) G_UNICODE_SCRIPT_ELBASAN", "106"),
1576     ("(gint) G_UNICODE_SCRIPT_ELYMAIC", "149"),
1577     ("(gint) G_UNICODE_SCRIPT_ETHIOPIC", "11"),
1578     ("(gint) G_UNICODE_SCRIPT_GEORGIAN", "12"),
1579     ("(gint) G_UNICODE_SCRIPT_GLAGOLITIC", "56"),
1580     ("(gint) G_UNICODE_SCRIPT_GOTHIC", "13"),
1581     ("(gint) G_UNICODE_SCRIPT_GRANTHA", "107"),
1582     ("(gint) G_UNICODE_SCRIPT_GREEK", "14"),
1583     ("(gint) G_UNICODE_SCRIPT_GUJARATI", "15"),
1584     ("(gint) G_UNICODE_SCRIPT_GUNJALA_GONDI", "143"),
1585     ("(gint) G_UNICODE_SCRIPT_GURMUKHI", "16"),
1586     ("(gint) G_UNICODE_SCRIPT_HAN", "17"),
1587     ("(gint) G_UNICODE_SCRIPT_HANGUL", "18"),
1588     ("(gint) G_UNICODE_SCRIPT_HANIFI_ROHINGYA", "144"),
1589     ("(gint) G_UNICODE_SCRIPT_HANUNOO", "43"),
1590     ("(gint) G_UNICODE_SCRIPT_HATRAN", "128"),
1591     ("(gint) G_UNICODE_SCRIPT_HEBREW", "19"),
1592     ("(gint) G_UNICODE_SCRIPT_HIRAGANA", "20"),
1593     ("(gint) G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC", "81"),
1594     ("(gint) G_UNICODE_SCRIPT_INHERITED", "1"),
1595     ("(gint) G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI", "82"),
1596     ("(gint) G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN", "83"),
1597     ("(gint) G_UNICODE_SCRIPT_INVALID_CODE", "-1"),
1598     ("(gint) G_UNICODE_SCRIPT_JAVANESE", "84"),
1599     ("(gint) G_UNICODE_SCRIPT_KAITHI", "85"),
1600     ("(gint) G_UNICODE_SCRIPT_KANNADA", "21"),
1601     ("(gint) G_UNICODE_SCRIPT_KATAKANA", "22"),
1602     ("(gint) G_UNICODE_SCRIPT_KAYAH_LI", "67"),
1603     ("(gint) G_UNICODE_SCRIPT_KHAROSHTHI", "60"),
1604     ("(gint) G_UNICODE_SCRIPT_KHMER", "23"),
1605     ("(gint) G_UNICODE_SCRIPT_KHOJKI", "108"),
1606     ("(gint) G_UNICODE_SCRIPT_KHUDAWADI", "109"),
1607     ("(gint) G_UNICODE_SCRIPT_LAO", "24"),
1608     ("(gint) G_UNICODE_SCRIPT_LATIN", "25"),
1609     ("(gint) G_UNICODE_SCRIPT_LEPCHA", "68"),
1610     ("(gint) G_UNICODE_SCRIPT_LIMBU", "48"),
1611     ("(gint) G_UNICODE_SCRIPT_LINEAR_A", "110"),
1612     ("(gint) G_UNICODE_SCRIPT_LINEAR_B", "51"),
1613     ("(gint) G_UNICODE_SCRIPT_LISU", "86"),
1614     ("(gint) G_UNICODE_SCRIPT_LYCIAN", "76"),
1615     ("(gint) G_UNICODE_SCRIPT_LYDIAN", "77"),
1616     ("(gint) G_UNICODE_SCRIPT_MAHAJANI", "111"),
1617     ("(gint) G_UNICODE_SCRIPT_MAKASAR", "145"),
1618     ("(gint) G_UNICODE_SCRIPT_MALAYALAM", "26"),
1619     ("(gint) G_UNICODE_SCRIPT_MANDAIC", "95"),
1620     ("(gint) G_UNICODE_SCRIPT_MANICHAEAN", "112"),
1621     ("(gint) G_UNICODE_SCRIPT_MARCHEN", "134"),
1622     ("(gint) G_UNICODE_SCRIPT_MASARAM_GONDI", "138"),
1623     ("(gint) G_UNICODE_SCRIPT_MEDEFAIDRIN", "146"),
1624     ("(gint) G_UNICODE_SCRIPT_MEETEI_MAYEK", "87"),
1625     ("(gint) G_UNICODE_SCRIPT_MENDE_KIKAKUI", "113"),
1626     ("(gint) G_UNICODE_SCRIPT_MEROITIC_CURSIVE", "97"),
1627     ("(gint) G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS", "98"),
1628     ("(gint) G_UNICODE_SCRIPT_MIAO", "99"),
1629     ("(gint) G_UNICODE_SCRIPT_MODI", "114"),
1630     ("(gint) G_UNICODE_SCRIPT_MONGOLIAN", "27"),
1631     ("(gint) G_UNICODE_SCRIPT_MRO", "115"),
1632     ("(gint) G_UNICODE_SCRIPT_MULTANI", "129"),
1633     ("(gint) G_UNICODE_SCRIPT_MYANMAR", "28"),
1634     ("(gint) G_UNICODE_SCRIPT_NABATAEAN", "116"),
1635     ("(gint) G_UNICODE_SCRIPT_NANDINAGARI", "150"),
1636     ("(gint) G_UNICODE_SCRIPT_NEWA", "135"),
1637     ("(gint) G_UNICODE_SCRIPT_NEW_TAI_LUE", "54"),
1638     ("(gint) G_UNICODE_SCRIPT_NKO", "66"),
1639     ("(gint) G_UNICODE_SCRIPT_NUSHU", "139"),
1640     ("(gint) G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG", "151"),
1641     ("(gint) G_UNICODE_SCRIPT_OGHAM", "29"),
1642     ("(gint) G_UNICODE_SCRIPT_OLD_HUNGARIAN", "130"),
1643     ("(gint) G_UNICODE_SCRIPT_OLD_ITALIC", "30"),
1644     ("(gint) G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN", "117"),
1645     ("(gint) G_UNICODE_SCRIPT_OLD_PERMIC", "118"),
1646     ("(gint) G_UNICODE_SCRIPT_OLD_PERSIAN", "59"),
1647     ("(gint) G_UNICODE_SCRIPT_OLD_SOGDIAN", "147"),
1648     ("(gint) G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN", "88"),
1649     ("(gint) G_UNICODE_SCRIPT_OLD_TURKIC", "89"),
1650     ("(gint) G_UNICODE_SCRIPT_OL_CHIKI", "73"),
1651     ("(gint) G_UNICODE_SCRIPT_ORIYA", "31"),
1652     ("(gint) G_UNICODE_SCRIPT_OSAGE", "136"),
1653     ("(gint) G_UNICODE_SCRIPT_OSMANYA", "49"),
1654     ("(gint) G_UNICODE_SCRIPT_PAHAWH_HMONG", "119"),
1655     ("(gint) G_UNICODE_SCRIPT_PALMYRENE", "120"),
1656     ("(gint) G_UNICODE_SCRIPT_PAU_CIN_HAU", "121"),
1657     ("(gint) G_UNICODE_SCRIPT_PHAGS_PA", "65"),
1658     ("(gint) G_UNICODE_SCRIPT_PHOENICIAN", "64"),
1659     ("(gint) G_UNICODE_SCRIPT_PSALTER_PAHLAVI", "122"),
1660     ("(gint) G_UNICODE_SCRIPT_REJANG", "69"),
1661     ("(gint) G_UNICODE_SCRIPT_RUNIC", "32"),
1662     ("(gint) G_UNICODE_SCRIPT_SAMARITAN", "90"),
1663     ("(gint) G_UNICODE_SCRIPT_SAURASHTRA", "71"),
1664     ("(gint) G_UNICODE_SCRIPT_SHARADA", "100"),
1665     ("(gint) G_UNICODE_SCRIPT_SHAVIAN", "50"),
1666     ("(gint) G_UNICODE_SCRIPT_SIDDHAM", "123"),
1667     ("(gint) G_UNICODE_SCRIPT_SIGNWRITING", "131"),
1668     ("(gint) G_UNICODE_SCRIPT_SINHALA", "33"),
1669     ("(gint) G_UNICODE_SCRIPT_SOGDIAN", "148"),
1670     ("(gint) G_UNICODE_SCRIPT_SORA_SOMPENG", "101"),
1671     ("(gint) G_UNICODE_SCRIPT_SOYOMBO", "140"),
1672     ("(gint) G_UNICODE_SCRIPT_SUNDANESE", "70"),
1673     ("(gint) G_UNICODE_SCRIPT_SYLOTI_NAGRI", "58"),
1674     ("(gint) G_UNICODE_SCRIPT_SYRIAC", "34"),
1675     ("(gint) G_UNICODE_SCRIPT_TAGALOG", "42"),
1676     ("(gint) G_UNICODE_SCRIPT_TAGBANWA", "45"),
1677     ("(gint) G_UNICODE_SCRIPT_TAI_LE", "52"),
1678     ("(gint) G_UNICODE_SCRIPT_TAI_THAM", "91"),
1679     ("(gint) G_UNICODE_SCRIPT_TAI_VIET", "92"),
1680     ("(gint) G_UNICODE_SCRIPT_TAKRI", "102"),
1681     ("(gint) G_UNICODE_SCRIPT_TAMIL", "35"),
1682     ("(gint) G_UNICODE_SCRIPT_TANGUT", "137"),
1683     ("(gint) G_UNICODE_SCRIPT_TELUGU", "36"),
1684     ("(gint) G_UNICODE_SCRIPT_THAANA", "37"),
1685     ("(gint) G_UNICODE_SCRIPT_THAI", "38"),
1686     ("(gint) G_UNICODE_SCRIPT_TIBETAN", "39"),
1687     ("(gint) G_UNICODE_SCRIPT_TIFINAGH", "57"),
1688     ("(gint) G_UNICODE_SCRIPT_TIRHUTA", "124"),
1689     ("(gint) G_UNICODE_SCRIPT_UGARITIC", "53"),
1690     ("(gint) G_UNICODE_SCRIPT_UNKNOWN", "61"),
1691     ("(gint) G_UNICODE_SCRIPT_VAI", "74"),
1692     ("(gint) G_UNICODE_SCRIPT_WANCHO", "152"),
1693     ("(gint) G_UNICODE_SCRIPT_WARANG_CITI", "125"),
1694     ("(gint) G_UNICODE_SCRIPT_YI", "41"),
1695     ("(gint) G_UNICODE_SCRIPT_ZANABAZAR_SQUARE", "141"),
1696     ("(gint) G_UNICODE_SPACE_SEPARATOR", "29"),
1697     ("(gint) G_UNICODE_SPACING_MARK", "10"),
1698     ("(gint) G_UNICODE_SURROGATE", "4"),
1699     ("(gint) G_UNICODE_TITLECASE_LETTER", "8"),
1700     ("(gint) G_UNICODE_UNASSIGNED", "2"),
1701     ("(gint) G_UNICODE_UPPERCASE_LETTER", "9"),
1702     ("G_URI_RESERVED_CHARS_GENERIC_DELIMITERS", ":/?#[]@"),
1703     (
1704         "G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS",
1705         "!$&'()*+,;=",
1706     ),
1707     ("G_USEC_PER_SEC", "1000000"),
1708     ("(gint) G_USER_DIRECTORY_DESKTOP", "0"),
1709     ("(gint) G_USER_DIRECTORY_DOCUMENTS", "1"),
1710     ("(gint) G_USER_DIRECTORY_DOWNLOAD", "2"),
1711     ("(gint) G_USER_DIRECTORY_MUSIC", "3"),
1712     ("(gint) G_USER_DIRECTORY_PICTURES", "4"),
1713     ("(gint) G_USER_DIRECTORY_PUBLIC_SHARE", "5"),
1714     ("(gint) G_USER_DIRECTORY_TEMPLATES", "6"),
1715     ("(gint) G_USER_DIRECTORY_VIDEOS", "7"),
1716     ("(gint) G_USER_N_DIRECTORIES", "8"),
1717     ("(gint) G_VARIANT_CLASS_ARRAY", "97"),
1718     ("(gint) G_VARIANT_CLASS_BOOLEAN", "98"),
1719     ("(gint) G_VARIANT_CLASS_BYTE", "121"),
1720     ("(gint) G_VARIANT_CLASS_DICT_ENTRY", "123"),
1721     ("(gint) G_VARIANT_CLASS_DOUBLE", "100"),
1722     ("(gint) G_VARIANT_CLASS_HANDLE", "104"),
1723     ("(gint) G_VARIANT_CLASS_INT16", "110"),
1724     ("(gint) G_VARIANT_CLASS_INT32", "105"),
1725     ("(gint) G_VARIANT_CLASS_INT64", "120"),
1726     ("(gint) G_VARIANT_CLASS_MAYBE", "109"),
1727     ("(gint) G_VARIANT_CLASS_OBJECT_PATH", "111"),
1728     ("(gint) G_VARIANT_CLASS_SIGNATURE", "103"),
1729     ("(gint) G_VARIANT_CLASS_STRING", "115"),
1730     ("(gint) G_VARIANT_CLASS_TUPLE", "40"),
1731     ("(gint) G_VARIANT_CLASS_UINT16", "113"),
1732     ("(gint) G_VARIANT_CLASS_UINT32", "117"),
1733     ("(gint) G_VARIANT_CLASS_UINT64", "116"),
1734     ("(gint) G_VARIANT_CLASS_VARIANT", "118"),
1735     ("(gint) G_VARIANT_PARSE_ERROR_BASIC_TYPE_EXPECTED", "1"),
1736     ("(gint) G_VARIANT_PARSE_ERROR_CANNOT_INFER_TYPE", "2"),
1737     ("(gint) G_VARIANT_PARSE_ERROR_DEFINITE_TYPE_EXPECTED", "3"),
1738     ("(gint) G_VARIANT_PARSE_ERROR_FAILED", "0"),
1739     ("(gint) G_VARIANT_PARSE_ERROR_INPUT_NOT_AT_END", "4"),
1740     ("(gint) G_VARIANT_PARSE_ERROR_INVALID_CHARACTER", "5"),
1741     ("(gint) G_VARIANT_PARSE_ERROR_INVALID_FORMAT_STRING", "6"),
1742     ("(gint) G_VARIANT_PARSE_ERROR_INVALID_OBJECT_PATH", "7"),
1743     ("(gint) G_VARIANT_PARSE_ERROR_INVALID_SIGNATURE", "8"),
1744     ("(gint) G_VARIANT_PARSE_ERROR_INVALID_TYPE_STRING", "9"),
1745     ("(gint) G_VARIANT_PARSE_ERROR_NO_COMMON_TYPE", "10"),
1746     ("(gint) G_VARIANT_PARSE_ERROR_NUMBER_OUT_OF_RANGE", "11"),
1747     ("(gint) G_VARIANT_PARSE_ERROR_NUMBER_TOO_BIG", "12"),
1748     ("(gint) G_VARIANT_PARSE_ERROR_TYPE_ERROR", "13"),
1749     ("(gint) G_VARIANT_PARSE_ERROR_UNEXPECTED_TOKEN", "14"),
1750     ("(gint) G_VARIANT_PARSE_ERROR_UNKNOWN_KEYWORD", "15"),
1751     (
1752         "(gint) G_VARIANT_PARSE_ERROR_UNTERMINATED_STRING_CONSTANT",
1753         "16",
1754     ),
1755     ("(gint) G_VARIANT_PARSE_ERROR_VALUE_EXPECTED", "17"),
1756     ("G_WIN32_MSG_HANDLE", "19981206"),
1757 ];
1758