From 100753a060bebb9ad33a2b56722a4e83faba3fea Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Fri, 21 Mar 2025 10:40:06 +0100 Subject: Move bindings from bindings/gi => gi Signed-off-by: Drew DeVault --- gi/glib/types.ha | 10 ++++++++++ gi/gobject/types.ha | 13 +++++++++++++ gi/libc/types.ha | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 gi/glib/types.ha create mode 100644 gi/gobject/types.ha create mode 100644 gi/libc/types.ha (limited to 'gi') 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, +}; -- cgit 1.3.0-6-gf8a5