| ... | @@ -210,11 +210,26 @@ pub fn read(fd: i32, buf: [*]u8, count: usize) usize { | ... | @@ -210,11 +210,26 @@ pub fn read(fd: i32, buf: [*]u8, count: usize) usize { |
| 210 | } | 210 | } |
| 211 | | 211 | |
| 212 | pub fn preadv(fd: i32, iov: [*]const iovec, count: usize, offset: u64) usize { | 212 | pub fn preadv(fd: i32, iov: [*]const iovec, count: usize, offset: u64) usize { |
| 213 | return syscall4(SYS_preadv, @bitCast(usize, isize(fd)), @ptrToInt(iov), count, offset); | 213 | return syscall5( |
| | 214 | SYS_preadv, |
| | 215 | @bitCast(usize, isize(fd)), |
| | 216 | @ptrToInt(iov), |
| | 217 | count, |
| | 218 | @truncate(usize, offset), |
| | 219 | @truncate(usize, offset >> 32), |
| | 220 | ); |
| 214 | } | 221 | } |
| 215 | | 222 | |
| 216 | pub fn preadv2(fd: i32, iov: [*]const iovec, count: usize, offset: u64, flags: kernel_rwf) usize { | 223 | pub fn preadv2(fd: i32, iov: [*]const iovec, count: usize, offset: u64, flags: kernel_rwf) usize { |
| 217 | return syscall5(SYS_preadv2, @bitCast(usize, isize(fd)), @ptrToInt(iov), count, offset, flags); | 224 | return syscall6( |
| | 225 | SYS_preadv2, |
| | 226 | @bitCast(usize, isize(fd)), |
| | 227 | @ptrToInt(iov), |
| | 228 | count, |
| | 229 | @truncate(usize, offset), |
| | 230 | @truncate(usize, offset >> 32), |
| | 231 | flags |
| | 232 | ); |
| 218 | } | 233 | } |
| 219 | | 234 | |
| 220 | pub fn readv(fd: i32, iov: [*]const iovec, count: usize) usize { | 235 | pub fn readv(fd: i32, iov: [*]const iovec, count: usize) usize { |
| ... | @@ -226,11 +241,26 @@ pub fn writev(fd: i32, iov: [*]const iovec_const, count: usize) usize { | ... | @@ -226,11 +241,26 @@ pub fn writev(fd: i32, iov: [*]const iovec_const, count: usize) usize { |
| 226 | } | 241 | } |
| 227 | | 242 | |
| 228 | pub fn pwritev(fd: i32, iov: [*]const iovec_const, count: usize, offset: u64) usize { | 243 | pub fn pwritev(fd: i32, iov: [*]const iovec_const, count: usize, offset: u64) usize { |
| 229 | return syscall4(SYS_pwritev, @bitCast(usize, isize(fd)), @ptrToInt(iov), count, offset); | 244 | return syscall5( |
| | 245 | SYS_pwritev, |
| | 246 | @bitCast(usize, isize(fd)), |
| | 247 | @ptrToInt(iov), |
| | 248 | count, |
| | 249 | @truncate(usize, offset), |
| | 250 | @truncate(usize, offset >> 32), |
| | 251 | ); |
| 230 | } | 252 | } |
| 231 | | 253 | |
| 232 | pub fn pwritev2(fd: i32, iov: [*]const iovec_const, count: usize, offset: u64, flags: kernel_rwf) usize { | 254 | pub fn pwritev2(fd: i32, iov: [*]const iovec_const, count: usize, offset: u64, flags: kernel_rwf) usize { |
| 233 | return syscall5(SYS_pwritev2, @bitCast(usize, isize(fd)), @ptrToInt(iov), count, offset, flags); | 255 | return syscall6( |
| | 256 | SYS_pwritev2, |
| | 257 | @bitCast(usize, isize(fd)), |
| | 258 | @ptrToInt(iov), |
| | 259 | count, |
| | 260 | @truncate(usize, offset), |
| | 261 | @truncate(usize, offset >> 32), |
| | 262 | flags |
| | 263 | ); |
| 234 | } | 264 | } |
| 235 | | 265 | |
| 236 | // TODO https://github.com/ziglang/zig/issues/265 | 266 | // TODO https://github.com/ziglang/zig/issues/265 |
| ... | @@ -503,9 +533,9 @@ pub fn setgid(gid: u32) usize { | ... | @@ -503,9 +533,9 @@ pub fn setgid(gid: u32) usize { |
| 503 | | 533 | |
| 504 | pub fn setreuid(ruid: u32, euid: u32) usize { | 534 | pub fn setreuid(ruid: u32, euid: u32) usize { |
| 505 | if (@hasDecl(@This(), "SYS_setreuid32")) { | 535 | if (@hasDecl(@This(), "SYS_setreuid32")) { |
| 506 | return syscall2(SYS_setreuid32, ruid, euid)); | 536 | return syscall2(SYS_setreuid32, ruid, euid); |
| 507 | } else { | 537 | } else { |
| 508 | return syscall2(SYS_setreuid, ruid, euid)); | 538 | return syscall2(SYS_setreuid, ruid, euid); |
| 509 | } | 539 | } |
| 510 | } | 540 | } |
| 511 | | 541 | |