fn dirReadLink(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, buffer: []u8) Dir.ReadLinkError!usize
fn dirReadLink(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, buffer: []u8) Dir.ReadLinkError!usize { const t: *Threaded = @ptrCast(@alignCast(userdata)); _ = t; switch (native_os) { .windows => return dirReadLinkWindows(dir, sub_path, buffer), .wasi => return dirReadLinkWasi(dir, sub_path, buffer), else => return dirReadLinkPosix(dir, sub_path, buffer), } }