| ... | ... | @@ -210,11 +210,26 @@ pub fn read(fd: i32, buf: [*]u8, count: usize) usize { |
| 210 | 210 | } |
| 211 | 211 | |
| 212 | 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 | 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 | 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 | 241 | } |
| 227 | 242 | |
| 228 | 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 | 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 | 266 | // TODO https://github.com/ziglang/zig/issues/265 |
| ... | ... | @@ -503,9 +533,9 @@ pub fn setgid(gid: u32) usize { |
| 503 | 533 | |
| 504 | 534 | pub fn setreuid(ruid: u32, euid: u32) usize { |
| 505 | 535 | if (@hasDecl(@This(), "SYS_setreuid32")) { |
| 506 | | return syscall2(SYS_setreuid32, ruid, euid)); |
| 536 | return syscall2(SYS_setreuid32, ruid, euid); |
| 507 | 537 | } else { |
| 508 | | return syscall2(SYS_setreuid, ruid, euid)); |
| 538 | return syscall2(SYS_setreuid, ruid, euid); |
| 509 | 539 | } |
| 510 | 540 | } |
| 511 | 541 | |