zig/lib/std/os/linux
Pat Tullmann cfe5defd02 linux: futex v1 API cleanup
* 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).
2025-06-17 22:06:39 -07:00
..
bpf linux/bpf: add alignment for helper functions to make compiler happy 2024-11-18 16:19:44 +01:00
aarch64.zig linux: update sigmask in every arch ucontext_t 2025-04-30 20:32:04 -07:00
arm.zig linux: update sigmask in every arch ucontext_t 2025-04-30 20:32:04 -07:00
bpf.zig lib/std: PermissionDenied/AccessDenied cleanup and fallout 2025-03-24 16:20:45 +01:00
hexagon.zig std.os.linux: use heap.pageSize() instead of MMAP2_UNIT 2025-04-07 13:37:01 +02:00
io_uring_sqe.zig io_uring: add setsockopt/getsockopt 2025-03-05 13:35:52 +01:00
ioctl.zig std.Target: Remove sparcel architecture tag. 2024-07-30 06:30:25 +02:00
IoUring.zig Add register_file_alloc_range 2025-05-06 18:01:07 +02:00
loongarch64.zig linux: update sigmask in every arch ucontext_t 2025-04-30 20:32:04 -07:00
m68k.zig std.os.linux: use heap.pageSize() instead of MMAP2_UNIT 2025-04-07 13:37:01 +02:00
mips.zig std.os.linux: use heap.pageSize() instead of MMAP2_UNIT 2025-04-07 13:37:01 +02:00
mips64.zig std.os.linux: use heap.pageSize() instead of MMAP2_UNIT 2025-04-07 13:37:01 +02:00
powerpc.zig linux: update sigmask in every arch ucontext_t 2025-04-30 20:32:04 -07:00
powerpc64.zig linux: update sigmask in every arch ucontext_t 2025-04-30 20:32:04 -07:00
riscv32.zig std.os.linux: use heap.pageSize() instead of MMAP2_UNIT 2025-04-07 13:37:01 +02:00
riscv64.zig Remove uses of deprecated callconv aliases 2025-03-05 03:01:43 +00:00
s390x.zig linux: update sigmask in every arch ucontext_t 2025-04-30 20:32:04 -07:00
seccomp.zig std.builtin.Endian: make the tags lower case 2023-10-31 21:37:35 -04:00
sparc64.zig linux: update sigmask in every arch ucontext_t 2025-04-30 20:32:04 -07:00
syscalls.zig generate_linux_syscalls: Generate syscalls for x32. 2024-11-02 10:42:53 +01:00
test.zig linux: futex v1 API cleanup 2025-06-17 22:06:39 -07:00
thumb.zig Remove uses of deprecated callconv aliases 2025-03-05 03:01:43 +00:00
tls.zig std.os.linux: use heap.pageSize() instead of MMAP2_UNIT 2025-04-07 13:37:01 +02:00
vdso.zig std.dynamic_library: update to new elf API 2024-10-12 10:44:17 -07:00
x86.zig linux: update sigmask in every arch ucontext_t 2025-04-30 20:32:04 -07:00
x86_64.zig std.os.linux: export kernel-sized sigset_t and operations 2025-04-30 20:32:04 -07:00