Commit 54ea0bbcdd

David CARLIER <devnexen@gmail.com>
2023-05-19 13:44:08
std.c: exposing timer api
1 parent c17a8df
lib/std/c/dragonfly.zig
@@ -1162,3 +1162,5 @@ pub const sigevent = extern struct {
 };
 
 pub const PTHREAD_STACK_MIN = 16 * 1024;
+
+pub const timer_t = *opaque {};
lib/std/c/freebsd.zig
@@ -2586,6 +2586,8 @@ pub const sigevent = extern struct {
     },
 };
 
+pub const timer_t = *opaque {};
+
 pub const MIN = struct {
     pub const INCORE = 0x1;
     pub const REFERENCED = 0x2;
lib/std/c/linux.zig
@@ -100,6 +100,7 @@ pub const stack_t = linux.stack_t;
 pub const tcflag_t = linux.tcflag_t;
 pub const termios = linux.termios;
 pub const time_t = linux.time_t;
+pub const timer_t = linux.timer_t;
 pub const timespec = linux.timespec;
 pub const timeval = linux.timeval;
 pub const timezone = linux.timezone;
lib/std/c/netbsd.zig
@@ -1723,3 +1723,5 @@ pub extern "c" fn ptrace(request: c_int, pid: pid_t, addr: ?*anyopaque, data: c_
 
 /// TODO refines if necessary
 pub const PTHREAD_STACK_MIN = 16 * 1024;
+
+pub const timer_t = *opaque {};
lib/std/c/solaris.zig
@@ -1948,3 +1948,5 @@ pub const sigevent = extern struct {
 };
 
 pub const PTHREAD_STACK_MIN = if (@sizeOf(usize) == 8) 8 * 1024 else 4 * 1024;
+
+pub const timer_t = *opaque {};
lib/std/c.zig
@@ -408,6 +408,11 @@ pub extern "c" fn setlogmask(maskpri: c_int) c_int;
 
 pub extern "c" fn if_nametoindex([*:0]const u8) c_int;
 
+pub extern "c" fn timer_create(clockid: c.clockid_t, sevp: *c.sigevent, timerid: *c.timer_t) c_int;
+pub extern "c" fn timer_delete(timerid: c.timer_t) c_int;
+pub extern "c" fn timer_settime(timerid: c.timer_t, flags: c_int, new_value: *const c.itimerspec, old_value: *c.itimerspec) c_int;
+pub extern "c" fn timer_gettime(timerid: c.timer_t, flags: c_int, curr_value: *c.itimerspec) c_int;
+
 pub const max_align_t = if (builtin.abi == .msvc)
     f64
 else if (builtin.target.isDarwin())