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 › Threaded › dirCreateDirWasi Private Function dirCreateDirWasi Doc Source Private Function std.Io.Threaded.dirCreateDirWasi
fn dirCreateDirWasi (userdata : ?*anyopaque , dir : Dir , sub_path : []const u8 , permissions : Dir .Permissions ) Dir .CreateDirError !void Params userdata : ?*anyopaque dir : Dir sub_path : []const u8 permissions : Dir .Permissions File Io/Threaded.zig: 3380
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419 fn dirCreateDirWasi (userdata : ?*anyopaque , dir : Dir , sub_path : []const u8 , permissions : Dir .Permissions ) Dir .CreateDirError !void {
if (builtin .link_libc ) return dirCreateDirPosix (userdata , dir , sub_path , permissions );
const t : *Threaded = @ptrCast (@alignCast (userdata ));
_ = t ;
const syscall : Syscall = try .start ();
while (true ) {
switch (std .os .wasi .path_create_directory (dir .handle , sub_path .ptr , sub_path .len )) {
.SUCCESS => {
syscall .finish ();
return ;
},
.INTR => {
try syscall .checkCancel ();
continue ;
},
else => |e | {
syscall .finish ();
switch (e ) {
.ACCES => return error .AccessDenied ,
.BADF => |err | return errnoBug (err ), // File descriptor used after closed.
.PERM => return error .PermissionDenied ,
.DQUOT => return error .DiskQuota ,
.EXIST => return error .PathAlreadyExists ,
.FAULT => |err | return errnoBug (err ),
.LOOP => return error .SymLinkLoop ,
.MLINK => return error .LinkQuotaExceeded ,
.NAMETOOLONG => return error .NameTooLong ,
.NOENT => return error .FileNotFound ,
.NOMEM => return error .SystemResources ,
.NOSPC => return error .NoSpaceLeft ,
.NOTDIR => return error .NotDir ,
.ROFS => return error .ReadOnlyFileSystem ,
.NOTCAPABLE => return error .AccessDenied ,
.ILSEQ => return error .BadPathName ,
else => |err | return posix .unexpectedErrno (err ),
}
},
}
}
}