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 › Io › Uring › processCurrentPath Private Function processCurrentPath Doc Source Private Function std.Io.Uring.processCurrentPath
fn processCurrentPath (userdata : ?*anyopaque , buffer : []u8 ) process .CurrentPathError !usize Params userdata : ?*anyopaque buffer : []u8 File Io/Uring.zig: 4203
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219 fn processCurrentPath (userdata : ?*anyopaque , buffer : []u8 ) process .CurrentPathError !usize {
const ev : *Evented = @ptrCast (@alignCast (userdata ));
var sync : CancelRegion .Sync = try .init (ev );
defer sync .deinit (ev );
while (true ) {
try sync .cancel_region .await (.nothing );
switch (linux .errno (linux .getcwd (buffer .ptr , buffer .len ))) {
.SUCCESS => return std .mem .findScalar (u8 , buffer , 0 ).?,
.INTR => {},
.NOENT => return error .CurrentDirUnlinked ,
.RANGE => return error .NameTooLong ,
.FAULT => |err | return errnoBug (err ),
.INVAL => |err | return errnoBug (err ),
else => |err | return unexpectedErrno (err ),
}
}
}