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 use glib_sys::*;
6 use std::env;
7 use std::error::Error;
8 use std::ffi::OsString;
9 use std::mem::{align_of, size_of};
10 use std::path::Path;
11 use std::process::Command;
12 use std::str;
13 use tempfile::Builder;
14 
15 static PACKAGES: &[&str] = &["glib-2.0"];
16 
17 #[derive(Clone, Debug)]
18 struct Compiler {
19     pub args: Vec<String>,
20 }
21 
22 impl Compiler {
new() -> Result<Self, Box<dyn Error>>23     pub fn new() -> Result<Self, Box<dyn Error>> {
24         let mut args = get_var("CC", "cc")?;
25         args.push("-Wno-deprecated-declarations".to_owned());
26         // For _Generic
27         args.push("-std=c11".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(Self { args })
34     }
35 
compile(&self, src: &Path, out: &Path) -> Result<(), Box<dyn Error>>36     pub fn compile(&self, src: &Path, out: &Path) -> Result<(), Box<dyn Error>> {
37         let mut cmd = self.to_command();
38         cmd.arg(src);
39         cmd.arg("-o");
40         cmd.arg(out);
41         let status = cmd.spawn()?.wait()?;
42         if !status.success() {
43             return Err(format!("compilation command {:?} failed, {}", &cmd, status).into());
44         }
45         Ok(())
46     }
47 
to_command(&self) -> Command48     fn to_command(&self) -> Command {
49         let mut cmd = Command::new(&self.args[0]);
50         cmd.args(&self.args[1..]);
51         cmd
52     }
53 }
54 
get_var(name: &str, default: &str) -> Result<Vec<String>, Box<dyn Error>>55 fn get_var(name: &str, default: &str) -> Result<Vec<String>, Box<dyn Error>> {
56     match env::var(name) {
57         Ok(value) => Ok(shell_words::split(&value)?),
58         Err(env::VarError::NotPresent) => Ok(shell_words::split(default)?),
59         Err(err) => Err(format!("{} {}", name, err).into()),
60     }
61 }
62 
pkg_config_cflags(packages: &[&str]) -> Result<Vec<String>, Box<dyn Error>>63 fn pkg_config_cflags(packages: &[&str]) -> Result<Vec<String>, Box<dyn Error>> {
64     if packages.is_empty() {
65         return Ok(Vec::new());
66     }
67     let pkg_config = env::var_os("PKG_CONFIG").unwrap_or_else(|| OsString::from("pkg-config"));
68     let mut cmd = Command::new(pkg_config);
69     cmd.arg("--cflags");
70     cmd.args(packages);
71     let out = cmd.output()?;
72     if !out.status.success() {
73         return Err(format!("command {:?} returned {}", &cmd, out.status).into());
74     }
75     let stdout = str::from_utf8(&out.stdout)?;
76     Ok(shell_words::split(stdout.trim())?)
77 }
78 
79 #[derive(Copy, Clone, Debug, Eq, PartialEq)]
80 struct Layout {
81     size: usize,
82     alignment: usize,
83 }
84 
85 #[derive(Copy, Clone, Debug, Default, Eq, PartialEq)]
86 struct Results {
87     /// Number of successfully completed tests.
88     passed: usize,
89     /// Total number of failed tests (including those that failed to compile).
90     failed: usize,
91 }
92 
93 impl Results {
record_passed(&mut self)94     fn record_passed(&mut self) {
95         self.passed += 1;
96     }
record_failed(&mut self)97     fn record_failed(&mut self) {
98         self.failed += 1;
99     }
summary(&self) -> String100     fn summary(&self) -> String {
101         format!("{} passed; {} failed", self.passed, self.failed)
102     }
expect_total_success(&self)103     fn expect_total_success(&self) {
104         if self.failed == 0 {
105             println!("OK: {}", self.summary());
106         } else {
107             panic!("FAILED: {}", self.summary());
108         };
109     }
110 }
111 
112 #[test]
cross_validate_constants_with_c()113 fn cross_validate_constants_with_c() {
114     let mut c_constants: Vec<(String, String)> = Vec::new();
115 
116     for l in get_c_output("constant").unwrap().lines() {
117         let mut words = l.trim().split(';');
118         let name = words.next().expect("Failed to parse name").to_owned();
119         let value = words
120             .next()
121             .and_then(|s| s.parse().ok())
122             .expect("Failed to parse value");
123         c_constants.push((name, value));
124     }
125 
126     let mut results = Results::default();
127 
128     for ((rust_name, rust_value), (c_name, c_value)) in
129         RUST_CONSTANTS.iter().zip(c_constants.iter())
130     {
131         if rust_name != c_name {
132             results.record_failed();
133             eprintln!("Name mismatch:\nRust: {:?}\nC:    {:?}", rust_name, c_name,);
134             continue;
135         }
136 
137         if rust_value != c_value {
138             results.record_failed();
139             eprintln!(
140                 "Constant value mismatch for {}\nRust: {:?}\nC:    {:?}",
141                 rust_name, rust_value, &c_value
142             );
143             continue;
144         }
145 
146         results.record_passed();
147     }
148 
149     results.expect_total_success();
150 }
151 
152 #[test]
cross_validate_layout_with_c()153 fn cross_validate_layout_with_c() {
154     let mut c_layouts = Vec::new();
155 
156     for l in get_c_output("layout").unwrap().lines() {
157         let mut words = l.trim().split(';');
158         let name = words.next().expect("Failed to parse name").to_owned();
159         let size = words
160             .next()
161             .and_then(|s| s.parse().ok())
162             .expect("Failed to parse size");
163         let alignment = words
164             .next()
165             .and_then(|s| s.parse().ok())
166             .expect("Failed to parse alignment");
167         c_layouts.push((name, Layout { size, alignment }));
168     }
169 
170     let mut results = Results::default();
171 
172     for ((rust_name, rust_layout), (c_name, c_layout)) in RUST_LAYOUTS.iter().zip(c_layouts.iter())
173     {
174         if rust_name != c_name {
175             results.record_failed();
176             eprintln!("Name mismatch:\nRust: {:?}\nC:    {:?}", rust_name, c_name,);
177             continue;
178         }
179 
180         if rust_layout != c_layout {
181             results.record_failed();
182             eprintln!(
183                 "Layout mismatch for {}\nRust: {:?}\nC:    {:?}",
184                 rust_name, rust_layout, &c_layout
185             );
186             continue;
187         }
188 
189         results.record_passed();
190     }
191 
192     results.expect_total_success();
193 }
194 
get_c_output(name: &str) -> Result<String, Box<dyn Error>>195 fn get_c_output(name: &str) -> Result<String, Box<dyn Error>> {
196     let tmpdir = Builder::new().prefix("abi").tempdir()?;
197     let exe = tmpdir.path().join(name);
198     let c_file = Path::new("tests").join(name).with_extension("c");
199 
200     let cc = Compiler::new().expect("configured compiler");
201     cc.compile(&c_file, &exe)?;
202 
203     let mut abi_cmd = Command::new(exe);
204     let output = abi_cmd.output()?;
205     if !output.status.success() {
206         return Err(format!("command {:?} failed, {:?}", &abi_cmd, &output).into());
207     }
208 
209     Ok(String::from_utf8(output.stdout)?)
210 }
211 
212 const RUST_LAYOUTS: &[(&str, Layout)] = &[
213     (
214         "GArray",
215         Layout {
216             size: size_of::<GArray>(),
217             alignment: align_of::<GArray>(),
218         },
219     ),
220     (
221         "GAsciiType",
222         Layout {
223             size: size_of::<GAsciiType>(),
224             alignment: align_of::<GAsciiType>(),
225         },
226     ),
227     (
228         "GBookmarkFileError",
229         Layout {
230             size: size_of::<GBookmarkFileError>(),
231             alignment: align_of::<GBookmarkFileError>(),
232         },
233     ),
234     (
235         "GByteArray",
236         Layout {
237             size: size_of::<GByteArray>(),
238             alignment: align_of::<GByteArray>(),
239         },
240     ),
241     (
242         "GChecksumType",
243         Layout {
244             size: size_of::<GChecksumType>(),
245             alignment: align_of::<GChecksumType>(),
246         },
247     ),
248     (
249         "GCond",
250         Layout {
251             size: size_of::<GCond>(),
252             alignment: align_of::<GCond>(),
253         },
254     ),
255     (
256         "GConvertError",
257         Layout {
258             size: size_of::<GConvertError>(),
259             alignment: align_of::<GConvertError>(),
260         },
261     ),
262     (
263         "GDateDMY",
264         Layout {
265             size: size_of::<GDateDMY>(),
266             alignment: align_of::<GDateDMY>(),
267         },
268     ),
269     (
270         "GDateDay",
271         Layout {
272             size: size_of::<GDateDay>(),
273             alignment: align_of::<GDateDay>(),
274         },
275     ),
276     (
277         "GDateMonth",
278         Layout {
279             size: size_of::<GDateMonth>(),
280             alignment: align_of::<GDateMonth>(),
281         },
282     ),
283     (
284         "GDateWeekday",
285         Layout {
286             size: size_of::<GDateWeekday>(),
287             alignment: align_of::<GDateWeekday>(),
288         },
289     ),
290     (
291         "GDateYear",
292         Layout {
293             size: size_of::<GDateYear>(),
294             alignment: align_of::<GDateYear>(),
295         },
296     ),
297     (
298         "GDebugKey",
299         Layout {
300             size: size_of::<GDebugKey>(),
301             alignment: align_of::<GDebugKey>(),
302         },
303     ),
304     (
305         "GError",
306         Layout {
307             size: size_of::<GError>(),
308             alignment: align_of::<GError>(),
309         },
310     ),
311     (
312         "GErrorType",
313         Layout {
314             size: size_of::<GErrorType>(),
315             alignment: align_of::<GErrorType>(),
316         },
317     ),
318     (
319         "GFileError",
320         Layout {
321             size: size_of::<GFileError>(),
322             alignment: align_of::<GFileError>(),
323         },
324     ),
325     (
326         "GFileSetContentsFlags",
327         Layout {
328             size: size_of::<GFileSetContentsFlags>(),
329             alignment: align_of::<GFileSetContentsFlags>(),
330         },
331     ),
332     (
333         "GFileTest",
334         Layout {
335             size: size_of::<GFileTest>(),
336             alignment: align_of::<GFileTest>(),
337         },
338     ),
339     (
340         "GFormatSizeFlags",
341         Layout {
342             size: size_of::<GFormatSizeFlags>(),
343             alignment: align_of::<GFormatSizeFlags>(),
344         },
345     ),
346     (
347         "GHashTableIter",
348         Layout {
349             size: size_of::<GHashTableIter>(),
350             alignment: align_of::<GHashTableIter>(),
351         },
352     ),
353     (
354         "GHook",
355         Layout {
356             size: size_of::<GHook>(),
357             alignment: align_of::<GHook>(),
358         },
359     ),
360     (
361         "GHookFlagMask",
362         Layout {
363             size: size_of::<GHookFlagMask>(),
364             alignment: align_of::<GHookFlagMask>(),
365         },
366     ),
367     (
368         "GHookList",
369         Layout {
370             size: size_of::<GHookList>(),
371             alignment: align_of::<GHookList>(),
372         },
373     ),
374     (
375         "GIOChannelError",
376         Layout {
377             size: size_of::<GIOChannelError>(),
378             alignment: align_of::<GIOChannelError>(),
379         },
380     ),
381     (
382         "GIOCondition",
383         Layout {
384             size: size_of::<GIOCondition>(),
385             alignment: align_of::<GIOCondition>(),
386         },
387     ),
388     (
389         "GIOError",
390         Layout {
391             size: size_of::<GIOError>(),
392             alignment: align_of::<GIOError>(),
393         },
394     ),
395     (
396         "GIOFlags",
397         Layout {
398             size: size_of::<GIOFlags>(),
399             alignment: align_of::<GIOFlags>(),
400         },
401     ),
402     (
403         "GIOFuncs",
404         Layout {
405             size: size_of::<GIOFuncs>(),
406             alignment: align_of::<GIOFuncs>(),
407         },
408     ),
409     (
410         "GIOStatus",
411         Layout {
412             size: size_of::<GIOStatus>(),
413             alignment: align_of::<GIOStatus>(),
414         },
415     ),
416     (
417         "GKeyFileError",
418         Layout {
419             size: size_of::<GKeyFileError>(),
420             alignment: align_of::<GKeyFileError>(),
421         },
422     ),
423     (
424         "GKeyFileFlags",
425         Layout {
426             size: size_of::<GKeyFileFlags>(),
427             alignment: align_of::<GKeyFileFlags>(),
428         },
429     ),
430     (
431         "GList",
432         Layout {
433             size: size_of::<GList>(),
434             alignment: align_of::<GList>(),
435         },
436     ),
437     (
438         "GLogField",
439         Layout {
440             size: size_of::<GLogField>(),
441             alignment: align_of::<GLogField>(),
442         },
443     ),
444     (
445         "GLogLevelFlags",
446         Layout {
447             size: size_of::<GLogLevelFlags>(),
448             alignment: align_of::<GLogLevelFlags>(),
449         },
450     ),
451     (
452         "GLogWriterOutput",
453         Layout {
454             size: size_of::<GLogWriterOutput>(),
455             alignment: align_of::<GLogWriterOutput>(),
456         },
457     ),
458     (
459         "GMarkupCollectType",
460         Layout {
461             size: size_of::<GMarkupCollectType>(),
462             alignment: align_of::<GMarkupCollectType>(),
463         },
464     ),
465     (
466         "GMarkupError",
467         Layout {
468             size: size_of::<GMarkupError>(),
469             alignment: align_of::<GMarkupError>(),
470         },
471     ),
472     (
473         "GMarkupParseFlags",
474         Layout {
475             size: size_of::<GMarkupParseFlags>(),
476             alignment: align_of::<GMarkupParseFlags>(),
477         },
478     ),
479     (
480         "GMarkupParser",
481         Layout {
482             size: size_of::<GMarkupParser>(),
483             alignment: align_of::<GMarkupParser>(),
484         },
485     ),
486     (
487         "GMemVTable",
488         Layout {
489             size: size_of::<GMemVTable>(),
490             alignment: align_of::<GMemVTable>(),
491         },
492     ),
493     (
494         "GMutex",
495         Layout {
496             size: size_of::<GMutex>(),
497             alignment: align_of::<GMutex>(),
498         },
499     ),
500     (
501         "GNode",
502         Layout {
503             size: size_of::<GNode>(),
504             alignment: align_of::<GNode>(),
505         },
506     ),
507     (
508         "GNormalizeMode",
509         Layout {
510             size: size_of::<GNormalizeMode>(),
511             alignment: align_of::<GNormalizeMode>(),
512         },
513     ),
514     (
515         "GNumberParserError",
516         Layout {
517             size: size_of::<GNumberParserError>(),
518             alignment: align_of::<GNumberParserError>(),
519         },
520     ),
521     (
522         "GOnce",
523         Layout {
524             size: size_of::<GOnce>(),
525             alignment: align_of::<GOnce>(),
526         },
527     ),
528     (
529         "GOnceStatus",
530         Layout {
531             size: size_of::<GOnceStatus>(),
532             alignment: align_of::<GOnceStatus>(),
533         },
534     ),
535     (
536         "GOptionArg",
537         Layout {
538             size: size_of::<GOptionArg>(),
539             alignment: align_of::<GOptionArg>(),
540         },
541     ),
542     (
543         "GOptionEntry",
544         Layout {
545             size: size_of::<GOptionEntry>(),
546             alignment: align_of::<GOptionEntry>(),
547         },
548     ),
549     (
550         "GOptionError",
551         Layout {
552             size: size_of::<GOptionError>(),
553             alignment: align_of::<GOptionError>(),
554         },
555     ),
556     (
557         "GOptionFlags",
558         Layout {
559             size: size_of::<GOptionFlags>(),
560             alignment: align_of::<GOptionFlags>(),
561         },
562     ),
563     (
564         "GPid",
565         Layout {
566             size: size_of::<GPid>(),
567             alignment: align_of::<GPid>(),
568         },
569     ),
570     (
571         "GPollFD",
572         Layout {
573             size: size_of::<GPollFD>(),
574             alignment: align_of::<GPollFD>(),
575         },
576     ),
577     (
578         "GPrivate",
579         Layout {
580             size: size_of::<GPrivate>(),
581             alignment: align_of::<GPrivate>(),
582         },
583     ),
584     (
585         "GPtrArray",
586         Layout {
587             size: size_of::<GPtrArray>(),
588             alignment: align_of::<GPtrArray>(),
589         },
590     ),
591     (
592         "GQuark",
593         Layout {
594             size: size_of::<GQuark>(),
595             alignment: align_of::<GQuark>(),
596         },
597     ),
598     (
599         "GQueue",
600         Layout {
601             size: size_of::<GQueue>(),
602             alignment: align_of::<GQueue>(),
603         },
604     ),
605     (
606         "GRWLock",
607         Layout {
608             size: size_of::<GRWLock>(),
609             alignment: align_of::<GRWLock>(),
610         },
611     ),
612     (
613         "GRecMutex",
614         Layout {
615             size: size_of::<GRecMutex>(),
616             alignment: align_of::<GRecMutex>(),
617         },
618     ),
619     (
620         "GRefString",
621         Layout {
622             size: size_of::<GRefString>(),
623             alignment: align_of::<GRefString>(),
624         },
625     ),
626     (
627         "GRegexCompileFlags",
628         Layout {
629             size: size_of::<GRegexCompileFlags>(),
630             alignment: align_of::<GRegexCompileFlags>(),
631         },
632     ),
633     (
634         "GRegexError",
635         Layout {
636             size: size_of::<GRegexError>(),
637             alignment: align_of::<GRegexError>(),
638         },
639     ),
640     (
641         "GRegexMatchFlags",
642         Layout {
643             size: size_of::<GRegexMatchFlags>(),
644             alignment: align_of::<GRegexMatchFlags>(),
645         },
646     ),
647     (
648         "GSList",
649         Layout {
650             size: size_of::<GSList>(),
651             alignment: align_of::<GSList>(),
652         },
653     ),
654     (
655         "GScanner",
656         Layout {
657             size: size_of::<GScanner>(),
658             alignment: align_of::<GScanner>(),
659         },
660     ),
661     (
662         "GSeekType",
663         Layout {
664             size: size_of::<GSeekType>(),
665             alignment: align_of::<GSeekType>(),
666         },
667     ),
668     (
669         "GShellError",
670         Layout {
671             size: size_of::<GShellError>(),
672             alignment: align_of::<GShellError>(),
673         },
674     ),
675     (
676         "GSliceConfig",
677         Layout {
678             size: size_of::<GSliceConfig>(),
679             alignment: align_of::<GSliceConfig>(),
680         },
681     ),
682     (
683         "GSource",
684         Layout {
685             size: size_of::<GSource>(),
686             alignment: align_of::<GSource>(),
687         },
688     ),
689     (
690         "GSourceCallbackFuncs",
691         Layout {
692             size: size_of::<GSourceCallbackFuncs>(),
693             alignment: align_of::<GSourceCallbackFuncs>(),
694         },
695     ),
696     (
697         "GSourceFuncs",
698         Layout {
699             size: size_of::<GSourceFuncs>(),
700             alignment: align_of::<GSourceFuncs>(),
701         },
702     ),
703     (
704         "GSpawnError",
705         Layout {
706             size: size_of::<GSpawnError>(),
707             alignment: align_of::<GSpawnError>(),
708         },
709     ),
710     (
711         "GSpawnFlags",
712         Layout {
713             size: size_of::<GSpawnFlags>(),
714             alignment: align_of::<GSpawnFlags>(),
715         },
716     ),
717     (
718         "GString",
719         Layout {
720             size: size_of::<GString>(),
721             alignment: align_of::<GString>(),
722         },
723     ),
724     (
725         "GStrv",
726         Layout {
727             size: size_of::<GStrv>(),
728             alignment: align_of::<GStrv>(),
729         },
730     ),
731     (
732         "GTestConfig",
733         Layout {
734             size: size_of::<GTestConfig>(),
735             alignment: align_of::<GTestConfig>(),
736         },
737     ),
738     (
739         "GTestFileType",
740         Layout {
741             size: size_of::<GTestFileType>(),
742             alignment: align_of::<GTestFileType>(),
743         },
744     ),
745     (
746         "GTestLogBuffer",
747         Layout {
748             size: size_of::<GTestLogBuffer>(),
749             alignment: align_of::<GTestLogBuffer>(),
750         },
751     ),
752     (
753         "GTestLogMsg",
754         Layout {
755             size: size_of::<GTestLogMsg>(),
756             alignment: align_of::<GTestLogMsg>(),
757         },
758     ),
759     (
760         "GTestLogType",
761         Layout {
762             size: size_of::<GTestLogType>(),
763             alignment: align_of::<GTestLogType>(),
764         },
765     ),
766     (
767         "GTestResult",
768         Layout {
769             size: size_of::<GTestResult>(),
770             alignment: align_of::<GTestResult>(),
771         },
772     ),
773     (
774         "GTestSubprocessFlags",
775         Layout {
776             size: size_of::<GTestSubprocessFlags>(),
777             alignment: align_of::<GTestSubprocessFlags>(),
778         },
779     ),
780     (
781         "GTestTrapFlags",
782         Layout {
783             size: size_of::<GTestTrapFlags>(),
784             alignment: align_of::<GTestTrapFlags>(),
785         },
786     ),
787     (
788         "GThreadError",
789         Layout {
790             size: size_of::<GThreadError>(),
791             alignment: align_of::<GThreadError>(),
792         },
793     ),
794     (
795         "GThreadPool",
796         Layout {
797             size: size_of::<GThreadPool>(),
798             alignment: align_of::<GThreadPool>(),
799         },
800     ),
801     (
802         "GTime",
803         Layout {
804             size: size_of::<GTime>(),
805             alignment: align_of::<GTime>(),
806         },
807     ),
808     (
809         "GTimeSpan",
810         Layout {
811             size: size_of::<GTimeSpan>(),
812             alignment: align_of::<GTimeSpan>(),
813         },
814     ),
815     (
816         "GTimeType",
817         Layout {
818             size: size_of::<GTimeType>(),
819             alignment: align_of::<GTimeType>(),
820         },
821     ),
822     (
823         "GTimeVal",
824         Layout {
825             size: size_of::<GTimeVal>(),
826             alignment: align_of::<GTimeVal>(),
827         },
828     ),
829     (
830         "GTokenType",
831         Layout {
832             size: size_of::<GTokenType>(),
833             alignment: align_of::<GTokenType>(),
834         },
835     ),
836     (
837         "GTokenValue",
838         Layout {
839             size: size_of::<GTokenValue>(),
840             alignment: align_of::<GTokenValue>(),
841         },
842     ),
843     (
844         "GTrashStack",
845         Layout {
846             size: size_of::<GTrashStack>(),
847             alignment: align_of::<GTrashStack>(),
848         },
849     ),
850     (
851         "GTraverseFlags",
852         Layout {
853             size: size_of::<GTraverseFlags>(),
854             alignment: align_of::<GTraverseFlags>(),
855         },
856     ),
857     (
858         "GTraverseType",
859         Layout {
860             size: size_of::<GTraverseType>(),
861             alignment: align_of::<GTraverseType>(),
862         },
863     ),
864     (
865         "GType",
866         Layout {
867             size: size_of::<GType>(),
868             alignment: align_of::<GType>(),
869         },
870     ),
871     (
872         "GUnicodeBreakType",
873         Layout {
874             size: size_of::<GUnicodeBreakType>(),
875             alignment: align_of::<GUnicodeBreakType>(),
876         },
877     ),
878     (
879         "GUnicodeScript",
880         Layout {
881             size: size_of::<GUnicodeScript>(),
882             alignment: align_of::<GUnicodeScript>(),
883         },
884     ),
885     (
886         "GUnicodeType",
887         Layout {
888             size: size_of::<GUnicodeType>(),
889             alignment: align_of::<GUnicodeType>(),
890         },
891     ),
892     (
893         "GUriError",
894         Layout {
895             size: size_of::<GUriError>(),
896             alignment: align_of::<GUriError>(),
897         },
898     ),
899     (
900         "GUriFlags",
901         Layout {
902             size: size_of::<GUriFlags>(),
903             alignment: align_of::<GUriFlags>(),
904         },
905     ),
906     (
907         "GUriHideFlags",
908         Layout {
909             size: size_of::<GUriHideFlags>(),
910             alignment: align_of::<GUriHideFlags>(),
911         },
912     ),
913     (
914         "GUriParamsFlags",
915         Layout {
916             size: size_of::<GUriParamsFlags>(),
917             alignment: align_of::<GUriParamsFlags>(),
918         },
919     ),
920     (
921         "GUriParamsIter",
922         Layout {
923             size: size_of::<GUriParamsIter>(),
924             alignment: align_of::<GUriParamsIter>(),
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_SET_CONTENTS_CONSISTENT", "1"),
1078     ("(guint) G_FILE_SET_CONTENTS_DURABLE", "2"),
1079     ("(guint) G_FILE_SET_CONTENTS_NONE", "0"),
1080     ("(guint) G_FILE_SET_CONTENTS_ONLY_EXISTING", "4"),
1081     ("(guint) G_FILE_TEST_EXISTS", "16"),
1082     ("(guint) G_FILE_TEST_IS_DIR", "4"),
1083     ("(guint) G_FILE_TEST_IS_EXECUTABLE", "8"),
1084     ("(guint) G_FILE_TEST_IS_REGULAR", "1"),
1085     ("(guint) G_FILE_TEST_IS_SYMLINK", "2"),
1086     ("(guint) G_FORMAT_SIZE_BITS", "4"),
1087     ("(guint) G_FORMAT_SIZE_DEFAULT", "0"),
1088     ("(guint) G_FORMAT_SIZE_IEC_UNITS", "2"),
1089     ("(guint) G_FORMAT_SIZE_LONG_FORMAT", "1"),
1090     ("(guint) G_HOOK_FLAG_ACTIVE", "1"),
1091     ("(guint) G_HOOK_FLAG_IN_CALL", "2"),
1092     ("(guint) G_HOOK_FLAG_MASK", "15"),
1093     ("G_HOOK_FLAG_USER_SHIFT", "4"),
1094     ("G_IEEE754_DOUBLE_BIAS", "1023"),
1095     ("G_IEEE754_FLOAT_BIAS", "127"),
1096     ("(gint) G_IN_ORDER", "0"),
1097     ("(gint) G_IO_CHANNEL_ERROR_FAILED", "8"),
1098     ("(gint) G_IO_CHANNEL_ERROR_FBIG", "0"),
1099     ("(gint) G_IO_CHANNEL_ERROR_INVAL", "1"),
1100     ("(gint) G_IO_CHANNEL_ERROR_IO", "2"),
1101     ("(gint) G_IO_CHANNEL_ERROR_ISDIR", "3"),
1102     ("(gint) G_IO_CHANNEL_ERROR_NOSPC", "4"),
1103     ("(gint) G_IO_CHANNEL_ERROR_NXIO", "5"),
1104     ("(gint) G_IO_CHANNEL_ERROR_OVERFLOW", "6"),
1105     ("(gint) G_IO_CHANNEL_ERROR_PIPE", "7"),
1106     ("(guint) G_IO_ERR", "8"),
1107     ("(gint) G_IO_ERROR_AGAIN", "1"),
1108     ("(gint) G_IO_ERROR_INVAL", "2"),
1109     ("(gint) G_IO_ERROR_NONE", "0"),
1110     ("(gint) G_IO_ERROR_UNKNOWN", "3"),
1111     ("(guint) G_IO_FLAG_APPEND", "1"),
1112     ("(guint) G_IO_FLAG_GET_MASK", "31"),
1113     ("(guint) G_IO_FLAG_IS_READABLE", "4"),
1114     ("(guint) G_IO_FLAG_IS_SEEKABLE", "16"),
1115     ("(guint) G_IO_FLAG_IS_WRITABLE", "8"),
1116     ("(guint) G_IO_FLAG_IS_WRITEABLE", "8"),
1117     ("(guint) G_IO_FLAG_MASK", "31"),
1118     ("(guint) G_IO_FLAG_NONBLOCK", "2"),
1119     ("(guint) G_IO_FLAG_SET_MASK", "3"),
1120     ("(guint) G_IO_HUP", "16"),
1121     ("(guint) G_IO_IN", "1"),
1122     ("(guint) G_IO_NVAL", "32"),
1123     ("(guint) G_IO_OUT", "4"),
1124     ("(guint) G_IO_PRI", "2"),
1125     ("(gint) G_IO_STATUS_AGAIN", "3"),
1126     ("(gint) G_IO_STATUS_EOF", "2"),
1127     ("(gint) G_IO_STATUS_ERROR", "0"),
1128     ("(gint) G_IO_STATUS_NORMAL", "1"),
1129     ("G_KEY_FILE_DESKTOP_GROUP", "Desktop Entry"),
1130     ("G_KEY_FILE_DESKTOP_KEY_ACTIONS", "Actions"),
1131     ("G_KEY_FILE_DESKTOP_KEY_CATEGORIES", "Categories"),
1132     ("G_KEY_FILE_DESKTOP_KEY_COMMENT", "Comment"),
1133     ("G_KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE", "DBusActivatable"),
1134     ("G_KEY_FILE_DESKTOP_KEY_EXEC", "Exec"),
1135     ("G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME", "GenericName"),
1136     ("G_KEY_FILE_DESKTOP_KEY_HIDDEN", "Hidden"),
1137     ("G_KEY_FILE_DESKTOP_KEY_ICON", "Icon"),
1138     ("G_KEY_FILE_DESKTOP_KEY_MIME_TYPE", "MimeType"),
1139     ("G_KEY_FILE_DESKTOP_KEY_NAME", "Name"),
1140     ("G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN", "NotShowIn"),
1141     ("G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY", "NoDisplay"),
1142     ("G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN", "OnlyShowIn"),
1143     ("G_KEY_FILE_DESKTOP_KEY_PATH", "Path"),
1144     ("G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY", "StartupNotify"),
1145     ("G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS", "StartupWMClass"),
1146     ("G_KEY_FILE_DESKTOP_KEY_TERMINAL", "Terminal"),
1147     ("G_KEY_FILE_DESKTOP_KEY_TRY_EXEC", "TryExec"),
1148     ("G_KEY_FILE_DESKTOP_KEY_TYPE", "Type"),
1149     ("G_KEY_FILE_DESKTOP_KEY_URL", "URL"),
1150     ("G_KEY_FILE_DESKTOP_KEY_VERSION", "Version"),
1151     ("G_KEY_FILE_DESKTOP_TYPE_APPLICATION", "Application"),
1152     ("G_KEY_FILE_DESKTOP_TYPE_DIRECTORY", "Directory"),
1153     ("G_KEY_FILE_DESKTOP_TYPE_LINK", "Link"),
1154     ("(gint) G_KEY_FILE_ERROR_GROUP_NOT_FOUND", "4"),
1155     ("(gint) G_KEY_FILE_ERROR_INVALID_VALUE", "5"),
1156     ("(gint) G_KEY_FILE_ERROR_KEY_NOT_FOUND", "3"),
1157     ("(gint) G_KEY_FILE_ERROR_NOT_FOUND", "2"),
1158     ("(gint) G_KEY_FILE_ERROR_PARSE", "1"),
1159     ("(gint) G_KEY_FILE_ERROR_UNKNOWN_ENCODING", "0"),
1160     ("(guint) G_KEY_FILE_KEEP_COMMENTS", "1"),
1161     ("(guint) G_KEY_FILE_KEEP_TRANSLATIONS", "2"),
1162     ("(guint) G_KEY_FILE_NONE", "0"),
1163     ("(gint) G_LEVEL_ORDER", "3"),
1164     ("G_LITTLE_ENDIAN", "1234"),
1165     ("G_LN10", "2.302585"),
1166     ("G_LN2", "0.693147"),
1167     ("G_LOG_2_BASE_10", "0.301030"),
1168     ("G_LOG_DOMAIN", "0"),
1169     ("G_LOG_FATAL_MASK", "5"),
1170     ("(guint) G_LOG_FLAG_FATAL", "2"),
1171     ("(guint) G_LOG_FLAG_RECURSION", "1"),
1172     ("(guint) G_LOG_LEVEL_CRITICAL", "8"),
1173     ("(guint) G_LOG_LEVEL_DEBUG", "128"),
1174     ("(guint) G_LOG_LEVEL_ERROR", "4"),
1175     ("(guint) G_LOG_LEVEL_INFO", "64"),
1176     ("(guint) G_LOG_LEVEL_MASK", "-4"),
1177     ("(guint) G_LOG_LEVEL_MESSAGE", "32"),
1178     ("G_LOG_LEVEL_USER_SHIFT", "8"),
1179     ("(guint) G_LOG_LEVEL_WARNING", "16"),
1180     ("(gint) G_LOG_WRITER_HANDLED", "1"),
1181     ("(gint) G_LOG_WRITER_UNHANDLED", "0"),
1182     ("(guint) G_MARKUP_COLLECT_BOOLEAN", "3"),
1183     ("(guint) G_MARKUP_COLLECT_INVALID", "0"),
1184     ("(guint) G_MARKUP_COLLECT_OPTIONAL", "65536"),
1185     ("(guint) G_MARKUP_COLLECT_STRDUP", "2"),
1186     ("(guint) G_MARKUP_COLLECT_STRING", "1"),
1187     ("(guint) G_MARKUP_COLLECT_TRISTATE", "4"),
1188     ("(guint) G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG", "1"),
1189     ("(gint) G_MARKUP_ERROR_BAD_UTF8", "0"),
1190     ("(gint) G_MARKUP_ERROR_EMPTY", "1"),
1191     ("(gint) G_MARKUP_ERROR_INVALID_CONTENT", "5"),
1192     ("(gint) G_MARKUP_ERROR_MISSING_ATTRIBUTE", "6"),
1193     ("(gint) G_MARKUP_ERROR_PARSE", "2"),
1194     ("(gint) G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE", "4"),
1195     ("(gint) G_MARKUP_ERROR_UNKNOWN_ELEMENT", "3"),
1196     ("(guint) G_MARKUP_IGNORE_QUALIFIED", "8"),
1197     ("(guint) G_MARKUP_PREFIX_ERROR_POSITION", "4"),
1198     ("(guint) G_MARKUP_TREAT_CDATA_AS_TEXT", "2"),
1199     ("(gint) G_NORMALIZE_ALL", "2"),
1200     ("(gint) G_NORMALIZE_ALL_COMPOSE", "3"),
1201     ("(gint) G_NORMALIZE_DEFAULT", "0"),
1202     ("(gint) G_NORMALIZE_DEFAULT_COMPOSE", "1"),
1203     ("(gint) G_NORMALIZE_NFC", "1"),
1204     ("(gint) G_NORMALIZE_NFD", "0"),
1205     ("(gint) G_NORMALIZE_NFKC", "3"),
1206     ("(gint) G_NORMALIZE_NFKD", "2"),
1207     ("(gint) G_NUMBER_PARSER_ERROR_INVALID", "0"),
1208     ("(gint) G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS", "1"),
1209     ("(gint) G_ONCE_STATUS_NOTCALLED", "0"),
1210     ("(gint) G_ONCE_STATUS_PROGRESS", "1"),
1211     ("(gint) G_ONCE_STATUS_READY", "2"),
1212     ("(gint) G_OPTION_ARG_CALLBACK", "3"),
1213     ("(gint) G_OPTION_ARG_DOUBLE", "7"),
1214     ("(gint) G_OPTION_ARG_FILENAME", "4"),
1215     ("(gint) G_OPTION_ARG_FILENAME_ARRAY", "6"),
1216     ("(gint) G_OPTION_ARG_INT", "2"),
1217     ("(gint) G_OPTION_ARG_INT64", "8"),
1218     ("(gint) G_OPTION_ARG_NONE", "0"),
1219     ("(gint) G_OPTION_ARG_STRING", "1"),
1220     ("(gint) G_OPTION_ARG_STRING_ARRAY", "5"),
1221     ("(gint) G_OPTION_ERROR_BAD_VALUE", "1"),
1222     ("(gint) G_OPTION_ERROR_FAILED", "2"),
1223     ("(gint) G_OPTION_ERROR_UNKNOWN_OPTION", "0"),
1224     ("(guint) G_OPTION_FLAG_FILENAME", "16"),
1225     ("(guint) G_OPTION_FLAG_HIDDEN", "1"),
1226     ("(guint) G_OPTION_FLAG_IN_MAIN", "2"),
1227     ("(guint) G_OPTION_FLAG_NOALIAS", "64"),
1228     ("(guint) G_OPTION_FLAG_NONE", "0"),
1229     ("(guint) G_OPTION_FLAG_NO_ARG", "8"),
1230     ("(guint) G_OPTION_FLAG_OPTIONAL_ARG", "32"),
1231     ("(guint) G_OPTION_FLAG_REVERSE", "4"),
1232     ("G_OPTION_REMAINING", ""),
1233     ("G_PDP_ENDIAN", "3412"),
1234     ("G_PI", "3.141593"),
1235     ("G_PI_2", "1.570796"),
1236     ("G_PI_4", "0.785398"),
1237     ("(gint) G_POST_ORDER", "2"),
1238     ("(gint) G_PRE_ORDER", "1"),
1239     ("G_PRIORITY_DEFAULT", "0"),
1240     ("G_PRIORITY_DEFAULT_IDLE", "200"),
1241     ("G_PRIORITY_HIGH", "-100"),
1242     ("G_PRIORITY_HIGH_IDLE", "100"),
1243     ("G_PRIORITY_LOW", "300"),
1244     ("(guint) G_REGEX_ANCHORED", "16"),
1245     ("(guint) G_REGEX_BSR_ANYCRLF", "8388608"),
1246     ("(guint) G_REGEX_CASELESS", "1"),
1247     ("(guint) G_REGEX_DOLLAR_ENDONLY", "32"),
1248     ("(guint) G_REGEX_DOTALL", "4"),
1249     ("(guint) G_REGEX_DUPNAMES", "524288"),
1250     ("(gint) G_REGEX_ERROR_ASSERTION_EXPECTED", "128"),
1251     (
1252         "(gint) G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN",
1253         "159",
1254     ),
1255     (
1256         "(gint) G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED",
1257         "166",
1258     ),
1259     ("(gint) G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE", "176"),
1260     ("(gint) G_REGEX_ERROR_COMPILE", "0"),
1261     ("(gint) G_REGEX_ERROR_DEFINE_REPETION", "155"),
1262     ("(gint) G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME", "143"),
1263     ("(gint) G_REGEX_ERROR_EXPRESSION_TOO_LARGE", "120"),
1264     ("(gint) G_REGEX_ERROR_EXTRA_SUBPATTERN_NAME", "165"),
1265     ("(gint) G_REGEX_ERROR_HEX_CODE_TOO_LARGE", "134"),
1266     ("(gint) G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS", "156"),
1267     (
1268         "(gint) G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE",
1269         "115",
1270     ),
1271     ("(gint) G_REGEX_ERROR_INFINITE_LOOP", "140"),
1272     ("(gint) G_REGEX_ERROR_INTERNAL", "4"),
1273     ("(gint) G_REGEX_ERROR_INVALID_CONDITION", "135"),
1274     ("(gint) G_REGEX_ERROR_INVALID_CONTROL_CHAR", "168"),
1275     ("(gint) G_REGEX_ERROR_INVALID_DATA_CHARACTER", "164"),
1276     (
1277         "(gint) G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS",
1278         "107",
1279     ),
1280     ("(gint) G_REGEX_ERROR_INVALID_OCTAL_VALUE", "151"),
1281     ("(gint) G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE", "158"),
1282     ("(gint) G_REGEX_ERROR_MALFORMED_CONDITION", "126"),
1283     ("(gint) G_REGEX_ERROR_MALFORMED_PROPERTY", "146"),
1284     ("(gint) G_REGEX_ERROR_MATCH", "3"),
1285     ("(gint) G_REGEX_ERROR_MEMORY_ERROR", "121"),
1286     ("(gint) G_REGEX_ERROR_MISSING_BACK_REFERENCE", "157"),
1287     ("(gint) G_REGEX_ERROR_MISSING_CONTROL_CHAR", "102"),
1288     ("(gint) G_REGEX_ERROR_MISSING_DIGIT", "163"),
1289     ("(gint) G_REGEX_ERROR_MISSING_NAME", "169"),
1290     ("(gint) G_REGEX_ERROR_MISSING_SUBPATTERN_NAME", "162"),
1291     (
1292         "(gint) G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR",
1293         "142",
1294     ),
1295     ("(gint) G_REGEX_ERROR_NAME_TOO_LONG", "175"),
1296     ("(gint) G_REGEX_ERROR_NOTHING_TO_REPEAT", "109"),
1297     ("(gint) G_REGEX_ERROR_NOT_SUPPORTED_IN_CLASS", "171"),
1298     ("(gint) G_REGEX_ERROR_NUMBER_TOO_BIG", "161"),
1299     ("(gint) G_REGEX_ERROR_OPTIMIZE", "1"),
1300     (
1301         "(gint) G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED",
1302         "131",
1303     ),
1304     (
1305         "(gint) G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS",
1306         "113",
1307     ),
1308     ("(gint) G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER", "104"),
1309     ("(gint) G_REGEX_ERROR_QUANTIFIER_TOO_BIG", "105"),
1310     ("(gint) G_REGEX_ERROR_RANGE_OUT_OF_ORDER", "108"),
1311     ("(gint) G_REGEX_ERROR_REPLACE", "2"),
1312     (
1313         "(gint) G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND",
1314         "136",
1315     ),
1316     ("(gint) G_REGEX_ERROR_STRAY_BACKSLASH", "101"),
1317     ("(gint) G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG", "148"),
1318     ("(gint) G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE", "154"),
1319     ("(gint) G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES", "127"),
1320     ("(gint) G_REGEX_ERROR_TOO_MANY_FORWARD_REFERENCES", "172"),
1321     ("(gint) G_REGEX_ERROR_TOO_MANY_SUBPATTERNS", "149"),
1322     (
1323         "(gint) G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB",
1324         "160",
1325     ),
1326     ("(gint) G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME", "130"),
1327     ("(gint) G_REGEX_ERROR_UNKNOWN_PROPERTY", "147"),
1328     ("(gint) G_REGEX_ERROR_UNMATCHED_PARENTHESIS", "114"),
1329     ("(gint) G_REGEX_ERROR_UNRECOGNIZED_CHARACTER", "112"),
1330     ("(gint) G_REGEX_ERROR_UNRECOGNIZED_ESCAPE", "103"),
1331     ("(gint) G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS", "106"),
1332     ("(gint) G_REGEX_ERROR_UNTERMINATED_COMMENT", "118"),
1333     ("(gint) G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND", "125"),
1334     ("(guint) G_REGEX_EXTENDED", "8"),
1335     ("(guint) G_REGEX_FIRSTLINE", "262144"),
1336     ("(guint) G_REGEX_JAVASCRIPT_COMPAT", "33554432"),
1337     ("(guint) G_REGEX_MATCH_ANCHORED", "16"),
1338     ("(guint) G_REGEX_MATCH_BSR_ANY", "16777216"),
1339     ("(guint) G_REGEX_MATCH_BSR_ANYCRLF", "8388608"),
1340     ("(guint) G_REGEX_MATCH_NEWLINE_ANY", "4194304"),
1341     ("(guint) G_REGEX_MATCH_NEWLINE_ANYCRLF", "5242880"),
1342     ("(guint) G_REGEX_MATCH_NEWLINE_CR", "1048576"),
1343     ("(guint) G_REGEX_MATCH_NEWLINE_CRLF", "3145728"),
1344     ("(guint) G_REGEX_MATCH_NEWLINE_LF", "2097152"),
1345     ("(guint) G_REGEX_MATCH_NOTBOL", "128"),
1346     ("(guint) G_REGEX_MATCH_NOTEMPTY", "1024"),
1347     ("(guint) G_REGEX_MATCH_NOTEMPTY_ATSTART", "268435456"),
1348     ("(guint) G_REGEX_MATCH_NOTEOL", "256"),
1349     ("(guint) G_REGEX_MATCH_PARTIAL", "32768"),
1350     ("(guint) G_REGEX_MATCH_PARTIAL_HARD", "134217728"),
1351     ("(guint) G_REGEX_MATCH_PARTIAL_SOFT", "32768"),
1352     ("(guint) G_REGEX_MULTILINE", "2"),
1353     ("(guint) G_REGEX_NEWLINE_ANYCRLF", "5242880"),
1354     ("(guint) G_REGEX_NEWLINE_CR", "1048576"),
1355     ("(guint) G_REGEX_NEWLINE_CRLF", "3145728"),
1356     ("(guint) G_REGEX_NEWLINE_LF", "2097152"),
1357     ("(guint) G_REGEX_NO_AUTO_CAPTURE", "4096"),
1358     ("(guint) G_REGEX_OPTIMIZE", "8192"),
1359     ("(guint) G_REGEX_RAW", "2048"),
1360     ("(guint) G_REGEX_UNGREEDY", "512"),
1361     ("(gint) G_SEEK_CUR", "0"),
1362     ("(gint) G_SEEK_END", "2"),
1363     ("(gint) G_SEEK_SET", "1"),
1364     ("(gint) G_SHELL_ERROR_BAD_QUOTING", "0"),
1365     ("(gint) G_SHELL_ERROR_EMPTY_STRING", "1"),
1366     ("(gint) G_SHELL_ERROR_FAILED", "2"),
1367     ("(gint) G_SLICE_CONFIG_ALWAYS_MALLOC", "1"),
1368     ("(gint) G_SLICE_CONFIG_BYPASS_MAGAZINES", "2"),
1369     ("(gint) G_SLICE_CONFIG_CHUNK_SIZES", "5"),
1370     ("(gint) G_SLICE_CONFIG_COLOR_INCREMENT", "4"),
1371     ("(gint) G_SLICE_CONFIG_CONTENTION_COUNTER", "6"),
1372     ("(gint) G_SLICE_CONFIG_WORKING_SET_MSECS", "3"),
1373     ("G_SOURCE_CONTINUE", "1"),
1374     ("G_SOURCE_REMOVE", "0"),
1375     ("(guint) G_SPAWN_CHILD_INHERITS_STDIN", "32"),
1376     ("(guint) G_SPAWN_CLOEXEC_PIPES", "256"),
1377     ("(guint) G_SPAWN_DEFAULT", "0"),
1378     ("(guint) G_SPAWN_DO_NOT_REAP_CHILD", "2"),
1379     ("(gint) G_SPAWN_ERROR_2BIG", "5"),
1380     ("(gint) G_SPAWN_ERROR_ACCES", "3"),
1381     ("(gint) G_SPAWN_ERROR_CHDIR", "2"),
1382     ("(gint) G_SPAWN_ERROR_FAILED", "19"),
1383     ("(gint) G_SPAWN_ERROR_FORK", "0"),
1384     ("(gint) G_SPAWN_ERROR_INVAL", "16"),
1385     ("(gint) G_SPAWN_ERROR_IO", "13"),
1386     ("(gint) G_SPAWN_ERROR_ISDIR", "17"),
1387     ("(gint) G_SPAWN_ERROR_LIBBAD", "18"),
1388     ("(gint) G_SPAWN_ERROR_LOOP", "11"),
1389     ("(gint) G_SPAWN_ERROR_MFILE", "15"),
1390     ("(gint) G_SPAWN_ERROR_NAMETOOLONG", "7"),
1391     ("(gint) G_SPAWN_ERROR_NFILE", "14"),
1392     ("(gint) G_SPAWN_ERROR_NOENT", "8"),
1393     ("(gint) G_SPAWN_ERROR_NOEXEC", "6"),
1394     ("(gint) G_SPAWN_ERROR_NOMEM", "9"),
1395     ("(gint) G_SPAWN_ERROR_NOTDIR", "10"),
1396     ("(gint) G_SPAWN_ERROR_PERM", "4"),
1397     ("(gint) G_SPAWN_ERROR_READ", "1"),
1398     ("(gint) G_SPAWN_ERROR_TOO_BIG", "5"),
1399     ("(gint) G_SPAWN_ERROR_TXTBUSY", "12"),
1400     ("(guint) G_SPAWN_FILE_AND_ARGV_ZERO", "64"),
1401     ("(guint) G_SPAWN_LEAVE_DESCRIPTORS_OPEN", "1"),
1402     ("(guint) G_SPAWN_SEARCH_PATH", "4"),
1403     ("(guint) G_SPAWN_SEARCH_PATH_FROM_ENVP", "128"),
1404     ("(guint) G_SPAWN_STDERR_TO_DEV_NULL", "16"),
1405     ("(guint) G_SPAWN_STDOUT_TO_DEV_NULL", "8"),
1406     ("G_SQRT2", "1.414214"),
1407     ("G_STR_DELIMITERS", "_-|> <."),
1408     ("(gint) G_TEST_BUILT", "1"),
1409     ("(gint) G_TEST_DIST", "0"),
1410     ("(gint) G_TEST_LOG_ERROR", "1"),
1411     ("(gint) G_TEST_LOG_LIST_CASE", "3"),
1412     ("(gint) G_TEST_LOG_MAX_RESULT", "8"),
1413     ("(gint) G_TEST_LOG_MESSAGE", "9"),
1414     ("(gint) G_TEST_LOG_MIN_RESULT", "7"),
1415     ("(gint) G_TEST_LOG_NONE", "0"),
1416     ("(gint) G_TEST_LOG_SKIP_CASE", "4"),
1417     ("(gint) G_TEST_LOG_START_BINARY", "2"),
1418     ("(gint) G_TEST_LOG_START_CASE", "5"),
1419     ("(gint) G_TEST_LOG_START_SUITE", "10"),
1420     ("(gint) G_TEST_LOG_STOP_CASE", "6"),
1421     ("(gint) G_TEST_LOG_STOP_SUITE", "11"),
1422     ("G_TEST_OPTION_ISOLATE_DIRS", "isolate_dirs"),
1423     ("(gint) G_TEST_RUN_FAILURE", "2"),
1424     ("(gint) G_TEST_RUN_INCOMPLETE", "3"),
1425     ("(gint) G_TEST_RUN_SKIPPED", "1"),
1426     ("(gint) G_TEST_RUN_SUCCESS", "0"),
1427     ("(guint) G_TEST_SUBPROCESS_INHERIT_STDERR", "4"),
1428     ("(guint) G_TEST_SUBPROCESS_INHERIT_STDIN", "1"),
1429     ("(guint) G_TEST_SUBPROCESS_INHERIT_STDOUT", "2"),
1430     ("(guint) G_TEST_TRAP_INHERIT_STDIN", "512"),
1431     ("(guint) G_TEST_TRAP_SILENCE_STDERR", "256"),
1432     ("(guint) G_TEST_TRAP_SILENCE_STDOUT", "128"),
1433     ("(gint) G_THREAD_ERROR_AGAIN", "0"),
1434     ("G_TIME_SPAN_DAY", "86400000000"),
1435     ("G_TIME_SPAN_HOUR", "3600000000"),
1436     ("G_TIME_SPAN_MILLISECOND", "1000"),
1437     ("G_TIME_SPAN_MINUTE", "60000000"),
1438     ("G_TIME_SPAN_SECOND", "1000000"),
1439     ("(gint) G_TIME_TYPE_DAYLIGHT", "1"),
1440     ("(gint) G_TIME_TYPE_STANDARD", "0"),
1441     ("(gint) G_TIME_TYPE_UNIVERSAL", "2"),
1442     ("(gint) G_TOKEN_BINARY", "259"),
1443     ("(gint) G_TOKEN_CHAR", "258"),
1444     ("(gint) G_TOKEN_COMMA", "44"),
1445     ("(gint) G_TOKEN_COMMENT_MULTI", "269"),
1446     ("(gint) G_TOKEN_COMMENT_SINGLE", "268"),
1447     ("(gint) G_TOKEN_EOF", "0"),
1448     ("(gint) G_TOKEN_EQUAL_SIGN", "61"),
1449     ("(gint) G_TOKEN_ERROR", "257"),
1450     ("(gint) G_TOKEN_FLOAT", "263"),
1451     ("(gint) G_TOKEN_HEX", "262"),
1452     ("(gint) G_TOKEN_IDENTIFIER", "266"),
1453     ("(gint) G_TOKEN_IDENTIFIER_NULL", "267"),
1454     ("(gint) G_TOKEN_INT", "261"),
1455     ("(gint) G_TOKEN_LEFT_BRACE", "91"),
1456     ("(gint) G_TOKEN_LEFT_CURLY", "123"),
1457     ("(gint) G_TOKEN_LEFT_PAREN", "40"),
1458     ("(gint) G_TOKEN_NONE", "256"),
1459     ("(gint) G_TOKEN_OCTAL", "260"),
1460     ("(gint) G_TOKEN_RIGHT_BRACE", "93"),
1461     ("(gint) G_TOKEN_RIGHT_CURLY", "125"),
1462     ("(gint) G_TOKEN_RIGHT_PAREN", "41"),
1463     ("(gint) G_TOKEN_STRING", "264"),
1464     ("(gint) G_TOKEN_SYMBOL", "265"),
1465     ("(guint) G_TRAVERSE_ALL", "3"),
1466     ("(guint) G_TRAVERSE_LEAFS", "1"),
1467     ("(guint) G_TRAVERSE_LEAVES", "1"),
1468     ("(guint) G_TRAVERSE_MASK", "3"),
1469     ("(guint) G_TRAVERSE_NON_LEAFS", "2"),
1470     ("(guint) G_TRAVERSE_NON_LEAVES", "2"),
1471     ("G_UNICHAR_MAX_DECOMPOSITION_LENGTH", "18"),
1472     ("(gint) G_UNICODE_BREAK_AFTER", "10"),
1473     ("(gint) G_UNICODE_BREAK_ALPHABETIC", "23"),
1474     ("(gint) G_UNICODE_BREAK_AMBIGUOUS", "27"),
1475     ("(gint) G_UNICODE_BREAK_BEFORE", "11"),
1476     ("(gint) G_UNICODE_BREAK_BEFORE_AND_AFTER", "12"),
1477     ("(gint) G_UNICODE_BREAK_CARRIAGE_RETURN", "1"),
1478     ("(gint) G_UNICODE_BREAK_CLOSE_PARANTHESIS", "36"),
1479     ("(gint) G_UNICODE_BREAK_CLOSE_PUNCTUATION", "16"),
1480     ("(gint) G_UNICODE_BREAK_COMBINING_MARK", "3"),
1481     ("(gint) G_UNICODE_BREAK_COMPLEX_CONTEXT", "26"),
1482     ("(gint) G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER", "37"),
1483     ("(gint) G_UNICODE_BREAK_CONTINGENT", "8"),
1484     ("(gint) G_UNICODE_BREAK_EMOJI_BASE", "40"),
1485     ("(gint) G_UNICODE_BREAK_EMOJI_MODIFIER", "41"),
1486     ("(gint) G_UNICODE_BREAK_EXCLAMATION", "18"),
1487     ("(gint) G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE", "35"),
1488     ("(gint) G_UNICODE_BREAK_HANGUL_LV_SYLLABLE", "34"),
1489     ("(gint) G_UNICODE_BREAK_HANGUL_L_JAMO", "31"),
1490     ("(gint) G_UNICODE_BREAK_HANGUL_T_JAMO", "33"),
1491     ("(gint) G_UNICODE_BREAK_HANGUL_V_JAMO", "32"),
1492     ("(gint) G_UNICODE_BREAK_HEBREW_LETTER", "38"),
1493     ("(gint) G_UNICODE_BREAK_HYPHEN", "13"),
1494     ("(gint) G_UNICODE_BREAK_IDEOGRAPHIC", "19"),
1495     ("(gint) G_UNICODE_BREAK_INFIX_SEPARATOR", "21"),
1496     ("(gint) G_UNICODE_BREAK_INSEPARABLE", "6"),
1497     ("(gint) G_UNICODE_BREAK_LINE_FEED", "2"),
1498     ("(gint) G_UNICODE_BREAK_MANDATORY", "0"),
1499     ("(gint) G_UNICODE_BREAK_NEXT_LINE", "29"),
1500     ("(gint) G_UNICODE_BREAK_NON_BREAKING_GLUE", "7"),
1501     ("(gint) G_UNICODE_BREAK_NON_STARTER", "14"),
1502     ("(gint) G_UNICODE_BREAK_NUMERIC", "20"),
1503     ("(gint) G_UNICODE_BREAK_OPEN_PUNCTUATION", "15"),
1504     ("(gint) G_UNICODE_BREAK_POSTFIX", "25"),
1505     ("(gint) G_UNICODE_BREAK_PREFIX", "24"),
1506     ("(gint) G_UNICODE_BREAK_QUOTATION", "17"),
1507     ("(gint) G_UNICODE_BREAK_REGIONAL_INDICATOR", "39"),
1508     ("(gint) G_UNICODE_BREAK_SPACE", "9"),
1509     ("(gint) G_UNICODE_BREAK_SURROGATE", "4"),
1510     ("(gint) G_UNICODE_BREAK_SYMBOL", "22"),
1511     ("(gint) G_UNICODE_BREAK_UNKNOWN", "28"),
1512     ("(gint) G_UNICODE_BREAK_WORD_JOINER", "30"),
1513     ("(gint) G_UNICODE_BREAK_ZERO_WIDTH_JOINER", "42"),
1514     ("(gint) G_UNICODE_BREAK_ZERO_WIDTH_SPACE", "5"),
1515     ("(gint) G_UNICODE_CLOSE_PUNCTUATION", "18"),
1516     ("(gint) G_UNICODE_CONNECT_PUNCTUATION", "16"),
1517     ("(gint) G_UNICODE_CONTROL", "0"),
1518     ("(gint) G_UNICODE_CURRENCY_SYMBOL", "23"),
1519     ("(gint) G_UNICODE_DASH_PUNCTUATION", "17"),
1520     ("(gint) G_UNICODE_DECIMAL_NUMBER", "13"),
1521     ("(gint) G_UNICODE_ENCLOSING_MARK", "11"),
1522     ("(gint) G_UNICODE_FINAL_PUNCTUATION", "19"),
1523     ("(gint) G_UNICODE_FORMAT", "1"),
1524     ("(gint) G_UNICODE_INITIAL_PUNCTUATION", "20"),
1525     ("(gint) G_UNICODE_LETTER_NUMBER", "14"),
1526     ("(gint) G_UNICODE_LINE_SEPARATOR", "27"),
1527     ("(gint) G_UNICODE_LOWERCASE_LETTER", "5"),
1528     ("(gint) G_UNICODE_MATH_SYMBOL", "25"),
1529     ("(gint) G_UNICODE_MODIFIER_LETTER", "6"),
1530     ("(gint) G_UNICODE_MODIFIER_SYMBOL", "24"),
1531     ("(gint) G_UNICODE_NON_SPACING_MARK", "12"),
1532     ("(gint) G_UNICODE_OPEN_PUNCTUATION", "22"),
1533     ("(gint) G_UNICODE_OTHER_LETTER", "7"),
1534     ("(gint) G_UNICODE_OTHER_NUMBER", "15"),
1535     ("(gint) G_UNICODE_OTHER_PUNCTUATION", "21"),
1536     ("(gint) G_UNICODE_OTHER_SYMBOL", "26"),
1537     ("(gint) G_UNICODE_PARAGRAPH_SEPARATOR", "28"),
1538     ("(gint) G_UNICODE_PRIVATE_USE", "3"),
1539     ("(gint) G_UNICODE_SCRIPT_ADLAM", "132"),
1540     ("(gint) G_UNICODE_SCRIPT_AHOM", "126"),
1541     ("(gint) G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS", "127"),
1542     ("(gint) G_UNICODE_SCRIPT_ARABIC", "2"),
1543     ("(gint) G_UNICODE_SCRIPT_ARMENIAN", "3"),
1544     ("(gint) G_UNICODE_SCRIPT_AVESTAN", "78"),
1545     ("(gint) G_UNICODE_SCRIPT_BALINESE", "62"),
1546     ("(gint) G_UNICODE_SCRIPT_BAMUM", "79"),
1547     ("(gint) G_UNICODE_SCRIPT_BASSA_VAH", "103"),
1548     ("(gint) G_UNICODE_SCRIPT_BATAK", "93"),
1549     ("(gint) G_UNICODE_SCRIPT_BENGALI", "4"),
1550     ("(gint) G_UNICODE_SCRIPT_BHAIKSUKI", "133"),
1551     ("(gint) G_UNICODE_SCRIPT_BOPOMOFO", "5"),
1552     ("(gint) G_UNICODE_SCRIPT_BRAHMI", "94"),
1553     ("(gint) G_UNICODE_SCRIPT_BRAILLE", "46"),
1554     ("(gint) G_UNICODE_SCRIPT_BUGINESE", "55"),
1555     ("(gint) G_UNICODE_SCRIPT_BUHID", "44"),
1556     ("(gint) G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL", "40"),
1557     ("(gint) G_UNICODE_SCRIPT_CARIAN", "75"),
1558     ("(gint) G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN", "104"),
1559     ("(gint) G_UNICODE_SCRIPT_CHAKMA", "96"),
1560     ("(gint) G_UNICODE_SCRIPT_CHAM", "72"),
1561     ("(gint) G_UNICODE_SCRIPT_CHEROKEE", "6"),
1562     ("(gint) G_UNICODE_SCRIPT_CHORASMIAN", "153"),
1563     ("(gint) G_UNICODE_SCRIPT_COMMON", "0"),
1564     ("(gint) G_UNICODE_SCRIPT_COPTIC", "7"),
1565     ("(gint) G_UNICODE_SCRIPT_CUNEIFORM", "63"),
1566     ("(gint) G_UNICODE_SCRIPT_CYPRIOT", "47"),
1567     ("(gint) G_UNICODE_SCRIPT_CYRILLIC", "8"),
1568     ("(gint) G_UNICODE_SCRIPT_DESERET", "9"),
1569     ("(gint) G_UNICODE_SCRIPT_DEVANAGARI", "10"),
1570     ("(gint) G_UNICODE_SCRIPT_DIVES_AKURU", "154"),
1571     ("(gint) G_UNICODE_SCRIPT_DOGRA", "142"),
1572     ("(gint) G_UNICODE_SCRIPT_DUPLOYAN", "105"),
1573     ("(gint) G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS", "80"),
1574     ("(gint) G_UNICODE_SCRIPT_ELBASAN", "106"),
1575     ("(gint) G_UNICODE_SCRIPT_ELYMAIC", "149"),
1576     ("(gint) G_UNICODE_SCRIPT_ETHIOPIC", "11"),
1577     ("(gint) G_UNICODE_SCRIPT_GEORGIAN", "12"),
1578     ("(gint) G_UNICODE_SCRIPT_GLAGOLITIC", "56"),
1579     ("(gint) G_UNICODE_SCRIPT_GOTHIC", "13"),
1580     ("(gint) G_UNICODE_SCRIPT_GRANTHA", "107"),
1581     ("(gint) G_UNICODE_SCRIPT_GREEK", "14"),
1582     ("(gint) G_UNICODE_SCRIPT_GUJARATI", "15"),
1583     ("(gint) G_UNICODE_SCRIPT_GUNJALA_GONDI", "143"),
1584     ("(gint) G_UNICODE_SCRIPT_GURMUKHI", "16"),
1585     ("(gint) G_UNICODE_SCRIPT_HAN", "17"),
1586     ("(gint) G_UNICODE_SCRIPT_HANGUL", "18"),
1587     ("(gint) G_UNICODE_SCRIPT_HANIFI_ROHINGYA", "144"),
1588     ("(gint) G_UNICODE_SCRIPT_HANUNOO", "43"),
1589     ("(gint) G_UNICODE_SCRIPT_HATRAN", "128"),
1590     ("(gint) G_UNICODE_SCRIPT_HEBREW", "19"),
1591     ("(gint) G_UNICODE_SCRIPT_HIRAGANA", "20"),
1592     ("(gint) G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC", "81"),
1593     ("(gint) G_UNICODE_SCRIPT_INHERITED", "1"),
1594     ("(gint) G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI", "82"),
1595     ("(gint) G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN", "83"),
1596     ("(gint) G_UNICODE_SCRIPT_INVALID_CODE", "-1"),
1597     ("(gint) G_UNICODE_SCRIPT_JAVANESE", "84"),
1598     ("(gint) G_UNICODE_SCRIPT_KAITHI", "85"),
1599     ("(gint) G_UNICODE_SCRIPT_KANNADA", "21"),
1600     ("(gint) G_UNICODE_SCRIPT_KATAKANA", "22"),
1601     ("(gint) G_UNICODE_SCRIPT_KAYAH_LI", "67"),
1602     ("(gint) G_UNICODE_SCRIPT_KHAROSHTHI", "60"),
1603     ("(gint) G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT", "155"),
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_YEZIDI", "156"),
1695     ("(gint) G_UNICODE_SCRIPT_YI", "41"),
1696     ("(gint) G_UNICODE_SCRIPT_ZANABAZAR_SQUARE", "141"),
1697     ("(gint) G_UNICODE_SPACE_SEPARATOR", "29"),
1698     ("(gint) G_UNICODE_SPACING_MARK", "10"),
1699     ("(gint) G_UNICODE_SURROGATE", "4"),
1700     ("(gint) G_UNICODE_TITLECASE_LETTER", "8"),
1701     ("(gint) G_UNICODE_UNASSIGNED", "2"),
1702     ("(gint) G_UNICODE_UPPERCASE_LETTER", "9"),
1703     ("(gint) G_URI_ERROR_BAD_AUTH_PARAMS", "4"),
1704     ("(gint) G_URI_ERROR_BAD_FRAGMENT", "9"),
1705     ("(gint) G_URI_ERROR_BAD_HOST", "5"),
1706     ("(gint) G_URI_ERROR_BAD_PASSWORD", "3"),
1707     ("(gint) G_URI_ERROR_BAD_PATH", "7"),
1708     ("(gint) G_URI_ERROR_BAD_PORT", "6"),
1709     ("(gint) G_URI_ERROR_BAD_QUERY", "8"),
1710     ("(gint) G_URI_ERROR_BAD_SCHEME", "1"),
1711     ("(gint) G_URI_ERROR_BAD_USER", "2"),
1712     ("(gint) G_URI_ERROR_FAILED", "0"),
1713     ("(guint) G_URI_FLAGS_ENCODED", "8"),
1714     ("(guint) G_URI_FLAGS_ENCODED_FRAGMENT", "128"),
1715     ("(guint) G_URI_FLAGS_ENCODED_PATH", "64"),
1716     ("(guint) G_URI_FLAGS_ENCODED_QUERY", "32"),
1717     ("(guint) G_URI_FLAGS_HAS_AUTH_PARAMS", "4"),
1718     ("(guint) G_URI_FLAGS_HAS_PASSWORD", "2"),
1719     ("(guint) G_URI_FLAGS_NONE", "0"),
1720     ("(guint) G_URI_FLAGS_NON_DNS", "16"),
1721     ("(guint) G_URI_FLAGS_PARSE_RELAXED", "1"),
1722     ("(guint) G_URI_HIDE_AUTH_PARAMS", "4"),
1723     ("(guint) G_URI_HIDE_FRAGMENT", "16"),
1724     ("(guint) G_URI_HIDE_NONE", "0"),
1725     ("(guint) G_URI_HIDE_PASSWORD", "2"),
1726     ("(guint) G_URI_HIDE_QUERY", "8"),
1727     ("(guint) G_URI_HIDE_USERINFO", "1"),
1728     ("(guint) G_URI_PARAMS_CASE_INSENSITIVE", "1"),
1729     ("(guint) G_URI_PARAMS_NONE", "0"),
1730     ("(guint) G_URI_PARAMS_PARSE_RELAXED", "4"),
1731     ("(guint) G_URI_PARAMS_WWW_FORM", "2"),
1732     ("G_URI_RESERVED_CHARS_GENERIC_DELIMITERS", ":/?#[]@"),
1733     (
1734         "G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS",
1735         "!$&'()*+,;=",
1736     ),
1737     ("G_USEC_PER_SEC", "1000000"),
1738     ("(gint) G_USER_DIRECTORY_DESKTOP", "0"),
1739     ("(gint) G_USER_DIRECTORY_DOCUMENTS", "1"),
1740     ("(gint) G_USER_DIRECTORY_DOWNLOAD", "2"),
1741     ("(gint) G_USER_DIRECTORY_MUSIC", "3"),
1742     ("(gint) G_USER_DIRECTORY_PICTURES", "4"),
1743     ("(gint) G_USER_DIRECTORY_PUBLIC_SHARE", "5"),
1744     ("(gint) G_USER_DIRECTORY_TEMPLATES", "6"),
1745     ("(gint) G_USER_DIRECTORY_VIDEOS", "7"),
1746     ("(gint) G_USER_N_DIRECTORIES", "8"),
1747     ("(gint) G_VARIANT_CLASS_ARRAY", "97"),
1748     ("(gint) G_VARIANT_CLASS_BOOLEAN", "98"),
1749     ("(gint) G_VARIANT_CLASS_BYTE", "121"),
1750     ("(gint) G_VARIANT_CLASS_DICT_ENTRY", "123"),
1751     ("(gint) G_VARIANT_CLASS_DOUBLE", "100"),
1752     ("(gint) G_VARIANT_CLASS_HANDLE", "104"),
1753     ("(gint) G_VARIANT_CLASS_INT16", "110"),
1754     ("(gint) G_VARIANT_CLASS_INT32", "105"),
1755     ("(gint) G_VARIANT_CLASS_INT64", "120"),
1756     ("(gint) G_VARIANT_CLASS_MAYBE", "109"),
1757     ("(gint) G_VARIANT_CLASS_OBJECT_PATH", "111"),
1758     ("(gint) G_VARIANT_CLASS_SIGNATURE", "103"),
1759     ("(gint) G_VARIANT_CLASS_STRING", "115"),
1760     ("(gint) G_VARIANT_CLASS_TUPLE", "40"),
1761     ("(gint) G_VARIANT_CLASS_UINT16", "113"),
1762     ("(gint) G_VARIANT_CLASS_UINT32", "117"),
1763     ("(gint) G_VARIANT_CLASS_UINT64", "116"),
1764     ("(gint) G_VARIANT_CLASS_VARIANT", "118"),
1765     ("(gint) G_VARIANT_PARSE_ERROR_BASIC_TYPE_EXPECTED", "1"),
1766     ("(gint) G_VARIANT_PARSE_ERROR_CANNOT_INFER_TYPE", "2"),
1767     ("(gint) G_VARIANT_PARSE_ERROR_DEFINITE_TYPE_EXPECTED", "3"),
1768     ("(gint) G_VARIANT_PARSE_ERROR_FAILED", "0"),
1769     ("(gint) G_VARIANT_PARSE_ERROR_INPUT_NOT_AT_END", "4"),
1770     ("(gint) G_VARIANT_PARSE_ERROR_INVALID_CHARACTER", "5"),
1771     ("(gint) G_VARIANT_PARSE_ERROR_INVALID_FORMAT_STRING", "6"),
1772     ("(gint) G_VARIANT_PARSE_ERROR_INVALID_OBJECT_PATH", "7"),
1773     ("(gint) G_VARIANT_PARSE_ERROR_INVALID_SIGNATURE", "8"),
1774     ("(gint) G_VARIANT_PARSE_ERROR_INVALID_TYPE_STRING", "9"),
1775     ("(gint) G_VARIANT_PARSE_ERROR_NO_COMMON_TYPE", "10"),
1776     ("(gint) G_VARIANT_PARSE_ERROR_NUMBER_OUT_OF_RANGE", "11"),
1777     ("(gint) G_VARIANT_PARSE_ERROR_NUMBER_TOO_BIG", "12"),
1778     ("(gint) G_VARIANT_PARSE_ERROR_RECURSION", "18"),
1779     ("(gint) G_VARIANT_PARSE_ERROR_TYPE_ERROR", "13"),
1780     ("(gint) G_VARIANT_PARSE_ERROR_UNEXPECTED_TOKEN", "14"),
1781     ("(gint) G_VARIANT_PARSE_ERROR_UNKNOWN_KEYWORD", "15"),
1782     (
1783         "(gint) G_VARIANT_PARSE_ERROR_UNTERMINATED_STRING_CONSTANT",
1784         "16",
1785     ),
1786     ("(gint) G_VARIANT_PARSE_ERROR_VALUE_EXPECTED", "17"),
1787     ("G_WIN32_MSG_HANDLE", "19981206"),
1788 ];
1789