Type CLOCK [src]
Alias for std.c.clockid_t
Source
pub const clockid_t = switch (native_os) {
.linux, .emscripten => linux.clockid_t,
.wasi => wasi.clockid_t,
.macos, .ios, .tvos, .watchos, .visionos => enum(u32) {
REALTIME = 0,
MONOTONIC = 6,
MONOTONIC_RAW = 4,
MONOTONIC_RAW_APPROX = 5,
UPTIME_RAW = 8,
UPTIME_RAW_APPROX = 9,
PROCESS_CPUTIME_ID = 12,
THREAD_CPUTIME_ID = 16,
_,
},
.haiku => enum(i32) {
/// system-wide monotonic clock (aka system time)
MONOTONIC = 0,
/// system-wide real time clock
REALTIME = -1,
/// clock measuring the used CPU time of the current process
PROCESS_CPUTIME_ID = -2,
/// clock measuring the used CPU time of the current thread
THREAD_CPUTIME_ID = -3,
},
.freebsd => enum(u32) {
REALTIME = 0,
VIRTUAL = 1,
PROF = 2,
MONOTONIC = 4,
UPTIME = 5,
UPTIME_PRECISE = 7,
UPTIME_FAST = 8,
REALTIME_PRECISE = 9,
REALTIME_FAST = 10,
MONOTONIC_PRECISE = 11,
MONOTONIC_FAST = 12,
SECOND = 13,
THREAD_CPUTIME_ID = 14,
PROCESS_CPUTIME_ID = 15,
},
.solaris, .illumos => enum(u32) {
VIRTUAL = 1,
THREAD_CPUTIME_ID = 2,
REALTIME = 3,
MONOTONIC = 4,
PROCESS_CPUTIME_ID = 5,
},
.netbsd => enum(u32) {
REALTIME = 0,
VIRTUAL = 1,
PROF = 2,
MONOTONIC = 3,
THREAD_CPUTIME_ID = 0x20000000,
PROCESS_CPUTIME_ID = 0x40000000,
},
.dragonfly => enum(u32) {
REALTIME = 0,
VIRTUAL = 1,
PROF = 2,
MONOTONIC = 4,
UPTIME = 5,
UPTIME_PRECISE = 7,
UPTIME_FAST = 8,
REALTIME_PRECISE = 9,
REALTIME_FAST = 10,
MONOTONIC_PRECISE = 11,
MONOTONIC_FAST = 12,
SECOND = 13,
THREAD_CPUTIME_ID = 14,
PROCESS_CPUTIME_ID = 15,
},
.openbsd => enum(u32) {
REALTIME = 0,
PROCESS_CPUTIME_ID = 2,
MONOTONIC = 3,
THREAD_CPUTIME_ID = 4,
},
// https://github.com/SerenityOS/serenity/blob/0a78056453578c18e0a04a0b45ebfb1c96d59005/Kernel/API/POSIX/time.h#L24-L36
.serenity => enum(c_int) {
REALTIME = 0,
MONOTONIC = 1,
MONOTONIC_RAW = 2,
REALTIME_COARSE = 3,
MONOTONIC_COARSE = 4,
},
else => void,
}