about summary refs log tree commit diff
path: root/bindings/gi
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/gi')
-rw-r--r--bindings/gi/glib/types.ha10
-rw-r--r--bindings/gi/gobject/types.ha13
2 files changed, 23 insertions, 0 deletions
diff --git a/bindings/gi/glib/types.ha b/bindings/gi/glib/types.ha
new file mode 100644
index 0000000..2492c4e
--- /dev/null
+++ b/bindings/gi/glib/types.ha
@@ -0,0 +1,10 @@
+export type Type = size;
+
+// Boolean type used by GLib and related libraries, equivalent to gboolean in C.
+export type boolean = uint;
+
+// True value of [[boolean]].
+export def TRUE: boolean = 1;
+
+// False value of [[boolean]].
+export def FALSE: boolean = 0;
diff --git a/bindings/gi/gobject/types.ha b/bindings/gi/gobject/types.ha
new file mode 100644
index 0000000..570fe30
--- /dev/null
+++ b/bindings/gi/gobject/types.ha
@@ -0,0 +1,13 @@
+use types::c;
+
+export type ValueUnion = union {
+	v_int: int,
+	v_uint: uint,
+	v_long: c::long,
+	v_ulong: c::ulong,
+	v_int64: i64,
+	v_uint64: u64,
+	v_float: f32,
+	v_double: f64,
+	v_pointer: *opaque,
+};