Zig 0.17.0-dev (Split by item) This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig standard library.
std › os › linux › clock_gettime Public Function clock_gettime Doc Source Public Function std.os.linux.clock_gettime
pub fn clock_gettime (clk_id : clockid_t , tp : *timespec ) usize Params File os/linux.zig: 2148
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164 pub fn clock_gettime (clk_id : clockid_t , tp : *timespec ) usize {
if (VDSO != void ) {
const ptr = @atomicLoad (?VdsoClockGettime , &vdso_clock_gettime , .unordered );
if (ptr ) |f | {
const rc = f (clk_id , tp );
switch (rc ) {
0 , @as (usize , @bitCast (-@as (isize , @backingInt (E .INVAL )))) => return rc ,
else => {},
}
}
}
return syscall2 (
if (@hasField (SYS , "clock_gettime" ) and native_arch != .hexagon ) .clock_gettime else .clock_gettime64 ,
@backingInt (clk_id ),
@intFromPtr (tp ),
);
}