authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-02-10 18:40:46 -08:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-02-12 02:20:36 -08:00
logb60f398ce8bf942dbe93c6809c78be2debb76665
treef4f92b0c5ca0a32d8cd561a6d7da1b264647bba0
parentccca33f6d18723e46db0bb684c1d6749d61cb9f9

add clock_gettime


2 files changed, 23 insertions(+), 0 deletions(-)

mod.zig+22
...@@ -2814,6 +2814,21 @@ pub const S = struct {...@@ -2814,6 +2814,21 @@ pub const S = struct {
2814 pub const IRWXO = 0o007;2814 pub const IRWXO = 0o007;
2815};2815};
28162816
2817pub const CLOCK = struct {
2818 pub const REALTIME = 0;
2819 pub const MONOTONIC = 1;
2820 pub const PROCESS_CPUTIME_ID = 2;
2821 pub const THREAD_CPUTIME_ID = 3;
2822 pub const MONOTONIC_RAW = 4;
2823 pub const REALTIME_COARSE = 5;
2824 pub const MONOTONIC_COARSE = 6;
2825 pub const BOOTTIME = 7;
2826 pub const REALTIME_ALARM = 8;
2827 pub const BOOTTIME_ALARM = 9;
2828 pub const SGI_CYCLE = 10;
2829 pub const TAI = 11;
2830};
2831
2817pub const NAME_MAX = 255;2832pub const NAME_MAX = 255;
2818pub const PATH_MAX = 4096;2833pub const PATH_MAX = 4096;
2819pub const NGROUPS_MAX = 32;2834pub const NGROUPS_MAX = 32;
...@@ -3108,3 +3123,10 @@ pub fn getaddrinfo(noalias nodename: ?[*:0]const u8, noalias servname: ?[*:0]con...@@ -3108,3 +3123,10 @@ pub fn getaddrinfo(noalias nodename: ?[*:0]const u8, noalias servname: ?[*:0]con
3108pub fn freeaddrinfo(ai: *const struct_addrinfo) void {3123pub fn freeaddrinfo(ai: *const struct_addrinfo) void {
3109 return libc.freeaddrinfo(ai);3124 return libc.freeaddrinfo(ai);
3110}3125}
3126pub fn clock_gettime(clock_id: clockid_t) !struct_timespec {
3127 var tp: struct_timespec = undefined;
3128 const rc = libc.clock_gettime(clock_id, &tp);
3129 if (rc == -1) return errno.fromInt(errno.fromLibC());
3130 std.debug.assert(rc == 0);
3131 return tp;
3132}
test.zig+1
...@@ -27,4 +27,5 @@ test {...@@ -27,4 +27,5 @@ test {
27 _ = &linux.recv;27 _ = &linux.recv;
28 _ = &linux.getaddrinfo;28 _ = &linux.getaddrinfo;
29 _ = &linux.freeaddrinfo;29 _ = &linux.freeaddrinfo;
30 _ = &linux.clock_gettime;
30}31}