fn lseek(ev: *Evented, fd: c.fd_t, offset: u64, whence: i32) File.SeekError!void
fn lseek(ev: *Evented, fd: c.fd_t, offset: u64, whence: i32) File.SeekError!void { _ = ev; while (true) switch (c.errno(c.lseek(fd, @bitCast(offset), whence))) { .SUCCESS => return, .INTR => {}, .BADF => |err| return errnoBug(err), // File descriptor used after closed. .INVAL => return error.Unseekable, .OVERFLOW => return error.Unseekable, .SPIPE => return error.Unseekable, .NXIO => return error.Unseekable, else => |err| return unexpectedErrno(err), }; }