about summary refs log tree commit diff
path: root/gi
diff options
context:
space:
mode:
authorDrew DeVault <drew@ddevault.org>2025-03-21 10:40:06 +0100
committerAlexey Yerin <yyp@disroot.org>2025-03-21 14:40:42 +0300
commit100753a060bebb9ad33a2b56722a4e83faba3fea (patch)
tree236780e4181ccb3e8f5899765101c51c9909d7c3 /gi
parentea84d7a04d5f2eb51c06a5cafbfd877228ab8c4a (diff)
Move bindings from bindings/gi => gi
Signed-off-by: Drew DeVault <drew@ddevault.org>
Diffstat (limited to 'gi')
-rw-r--r--gi/glib/types.ha10
-rw-r--r--gi/gobject/types.ha13
-rw-r--r--gi/libc/types.ha32
3 files changed, 55 insertions, 0 deletions
diff --git a/gi/glib/types.ha b/gi/glib/types.ha
new file mode 100644
index 0000000..2492c4e
--- /dev/null
+++ b/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/gi/gobject/types.ha b/gi/gobject/types.ha
new file mode 100644
index 0000000..570fe30
--- /dev/null
+++ b/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,
+};
diff --git a/gi/libc/types.ha b/gi/libc/types.ha
new file mode 100644
index 0000000..94959b7
--- /dev/null
+++ b/gi/libc/types.ha
@@ -0,0 +1,32 @@
+use types::c;
+
+export type time_t = i64;
+
+export type utimbuf = struct {
+	actime: time_t,
+	modtime: time_t,
+};
+
+export type tm = struct {
+	tm_sec: int,
+	tm_min: int,
+	tm_hour: int,
+	tm_mday: int,
+	tm_mon: int,
+	tm_year: int,
+	tm_wday: int,
+	tm_yday: int,
+	tm_isdst: int,
+};
+
+export type FILE = opaque;
+
+export type passwd = struct {
+	pw_name: *c::char,
+	pw_passwd: *c::char,
+	pw_uid: uint,
+	pw_gid: uint,
+	pw_gecos: *c::char,
+	pw_dir: *c::char,
+	pw_shell: *c::char,
+};