mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
* Use `packed struct` for flags arguments. So, instead of
`linux.FUTEX.WAIT` use `.{ .cmd = .WAIT, .private = true }`
* rename `futex_wait` and `futex_wake` which didn't actually specify
wait/wake, as `futex_3arg` and `futex_4arg` (as its the number
of parameters that is different, the `op` is whatever is specified.
* expose the full six-arg flavor of the syscall (for some of the advanced
ops), and add packed structs for their arguments.
* Use a `packed union` to support the 4th parameter which is sometimes a
`timespec` pointer, and sometimes a `u32`.
* Add tests that make sure the structure layout is correct and that the
basic argument passing is working (no actual futexes are contended).
|
||
|---|---|---|
| .. | ||
| bpf | ||
| aarch64.zig | ||
| arm.zig | ||
| bpf.zig | ||
| hexagon.zig | ||
| io_uring_sqe.zig | ||
| ioctl.zig | ||
| IoUring.zig | ||
| loongarch64.zig | ||
| m68k.zig | ||
| mips.zig | ||
| mips64.zig | ||
| powerpc.zig | ||
| powerpc64.zig | ||
| riscv32.zig | ||
| riscv64.zig | ||
| s390x.zig | ||
| seccomp.zig | ||
| sparc64.zig | ||
| syscalls.zig | ||
| test.zig | ||
| thumb.zig | ||
| tls.zig | ||
| vdso.zig | ||
| x86.zig | ||
| x86_64.zig | ||