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 › Dispatch › dirDeleteDir Private Function dirDeleteDir Doc Source Private Function std.Io.Dispatch.dirDeleteDir
fn dirDeleteDir (userdata : ?*anyopaque , dir : Dir , sub_path : []const u8 ) Dir .DeleteDirError !void Params userdata : ?*anyopaque dir : Dir sub_path : []const u8 File Io/Dispatch.zig: 2915
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944 fn dirDeleteDir (userdata : ?*anyopaque , dir : Dir , sub_path : []const u8 ) Dir .DeleteDirError !void {
const ev : *Evented = @ptrCast (@alignCast (userdata ));
_ = ev ;
var path_buffer : [c .PATH_MAX ]u8 = undefined ;
const sub_path_posix = try pathToPosix (sub_path , &path_buffer );
while (true ) switch (c .errno (c .unlinkat (dir .handle , sub_path_posix , c .AT .REMOVEDIR ))) {
.SUCCESS => return ,
.INTR => {},
.ACCES => return error .AccessDenied ,
.PERM => return error .PermissionDenied ,
.BUSY => return error .FileBusy ,
.FAULT => |err | return errnoBug (err ),
.IO => return error .FileSystem ,
.ISDIR => |err | return errnoBug (err ),
.LOOP => return error .SymLinkLoop ,
.NAMETOOLONG => return error .NameTooLong ,
.NOENT => return error .FileNotFound ,
.NOTDIR => return error .NotDir ,
.NOMEM => return error .SystemResources ,
.ROFS => return error .ReadOnlyFileSystem ,
.EXIST => |err | return errnoBug (err ),
.NOTEMPTY => return error .DirNotEmpty ,
.ILSEQ => return error .BadPathName ,
.INVAL => |err | return errnoBug (err ), // invalid flags, or pathname has . as last component
.BADF => |err | return errnoBug (err ), // File descriptor used after closed.
else => |err | return unexpectedErrno (err ),
};
}