aboutsummaryrefslogtreecommitdiff
path: root/lib/std/os/linux.zig
AgeCommit message (Collapse)Author
2024-03-11std.builtin: make atomic order fields lowercaseTristan Ross
2024-03-11std.builtin: make link mode fields lowercaseTristan Ross
2024-03-08std.os.linux: rework io_uring supportmlugg
* `linux.IO_Uring` -> `linux.IoUring` to align with naming conventions. * All functions `io_uring_prep_foo` are now methods `prep_foo` on `io_uring_sqe`, which is in a file of its own. * `SubmissionQueue` and `CompletionQueue` are namespaced under `IoUring`. This is a breaking change. The new file and namespace layouts are more idiomatic, and allow us to eliminate one more usage of `usingnamespace` from the standard library. 2 remain.
2024-03-08std.os.linux: do not use `usingnamespace` to define getauxvalmlugg
This usage of `usingnamespace` was removed fairly trivially - the resulting code is, IMO, more clear. Eliminates one more usage of `usingnamespace` from the standard library.
2024-03-08std.os.linux: remove unnecessary use of `usingnamespace`mlugg
This is a trivial change - this code did `usingnamespace` into an otherwise empty namespace, so the outer namespace was just unnecessary. Eliminates one more usage of `usingnamespace` from the standard library.
2024-03-05std.os.linux: enforce null-terminated path argumentsOK Ryoko
2024-02-13std.posix.termios: bring V backAndrew Kelley
In d7563a7753393d7f0d1af445276a64b8a55cb857, I misunderstood what `cc_t` was supposed to do. Those V enum values are indices into the array.
2024-02-12std.os.speed_t: add type safetyAndrew Kelley
and collect the missing flag bits from all the operating systems.
2024-02-12std.os.termios: add type safety to lflag fieldAndrew Kelley
This creates `tc_cflag_t` even though such a type is not defined by libc. I also collected the missing flag bits from all the operating systems.
2024-02-12std.os.termios: add type safety to cflag fieldAndrew Kelley
This creates `tc_cflag_t` even though such a type is not defined by libc. I also collected the missing flag bits from all the operating systems.
2024-02-12std.os.termios: add type safety to oflag fieldAndrew Kelley
This creates `tc_oflag_t` even though such a type is not defined by libc. I also collected the missing flag bits from all the operating systems.
2024-02-12std.os.termios: add type safety to iflag fieldAndrew Kelley
This creates `tc_iflag_t` even though such a type is not defined by libc. I also collected the missing flag bits from all the operating systems.
2024-02-12std.os.termios: consolidate and correctAndrew Kelley
2024-02-12std.c.NCSS: consolidate and correctAndrew Kelley
2024-02-12std: add type safety to cc_tAndrew Kelley
2024-02-12Merge pull request #18898 from psnszsn/iouring_waitidAndrew Kelley
io_uring: add waitid operation
2024-02-11some API work on std.c, std.os, std.os.wasiAndrew Kelley
* std.c: consolidate some definitions, making them share code. For example, freebsd, dragonfly, and openbsd can all share the same `pthread_mutex_t` definition. * add type safety to std.c.O - this caught a bug where mode flags were incorrectly passed as the open flags. * 3 fewer uses of usingnamespace keyword * as per convention, remove purposeless field prefixes from struct field names even if they have those prefixes in the corresponding C code. * fix incorrect wasi libc Stat definition * remove C definitions from incorrectly being in std.os.wasi * make std.os.wasi definitions type safe * go through wasi native APIs even when linking libc because the libc APIs are problematic and wasteful * don't expose WASI definitions in std.posix * remove std.os.wasi.rights_t.ALL: this is a footgun. should it be all future rights too? or only all current rights known? both are the wrong answer.
2024-02-11linux: add missing io_uring opcodesVlad Pănăzan
2024-02-06std.os.linux.MAP: use a packed structAndrew Kelley
Introduces type safety to this constant. Eliminates one use of `usingnamespace`.
2024-01-15Linux: Add syscall bindings, enhance documentation.Stephen Gregoratto
- Add syscall bindings/structures for the `futex2` family. The documentation is taken from the syscall definitions. - Add documnentation for the `cachestat` bindings and structures. Taken from work I did in Cosmopolitian libc. - Add binding for `map_shadow_stack`. No documentation for this one, since the kernel devs didn't bother to do it ¯\_(ツ)_/¯.
2024-01-13Add fchmodat2 bits to os/linux.zigStephen Gregoratto
2024-01-09Optimized `std.mem.eql` with SIMD (#18389)David Rubin
* optimized memeql * add `sched_setaffinity` to `std.os.linux` Co-authored-by: Protty <45520026+kprotty@users.noreply.github.com> Co-authored-by: Ryan Liptak <squeek502@hotmail.com>
2023-12-08switch to mem.spanxdBronch
Co-authored-by: erikarvstedt <36110478+erikarvstedt@users.noreply.github.com>
2023-12-08add getName helper to inotify_eventxdBronch
2023-11-19lib: correct unnecessary uses of 'var'mlugg
2023-11-01Fix regressing #17290 from #17734Kai Jellinghaus
2023-10-31std.builtin.Endian: make the tags lower caseAndrew Kelley
Let's take this breaking change opportunity to fix the style of this enum.
2023-10-27std.linux: Update io_uring structs and consts for kernel 6.3.8joadnacer
2023-10-20gettimeofday takes nullable pointersProkop Randacek
2023-10-06Add pause() to linux.zigRatakor
2023-10-06Add filled_sigset to os.linuxRatakor
filled_sigset is equivalent to sigfillset() as empty_sigset is equivalent to sigemptyset().
2023-10-04x86_64: implement C abi for 128-bit integersJacob Young
2023-10-04linux: add fanotify APInikneym
2023-10-04Update IORING_OP to reflect upstream (#17388)Kai Jellinghaus
Reference [upstream io_uring.h](https://github.com/torvalds/linux/blob/cbf3a2cb156a2c911d8f38d8247814b4c07f49a2/include/uapi/linux/io_uring.h#L234)
2023-09-28Linux: Add cachestat wrapper.Stephen Gregoratto
Can be tested using this program I whipped up: https://gist.github.com/The-King-of-Toasters/aee448f5975c50f735fd1946794574f7
2023-09-26Add new fields to io_sqring_offsets & io_cqring_offsetsKai Jellinghaus
`user_addr`s were introduced in `03d89a2` ([github link](https://github.com/torvalds/linux/commit/03d89a2de25bbc5c77e61a0cf77663978c4b6ea7) which was shipped in v6.5 `flags` was introduced even earlier
2023-08-27linux: fixup for platforms that don't support extern functions yetkcbanner
2023-08-27linux: only export getauxval if not linking libckcbanner
2023-08-27linux: instead of export elf_aux_maybe, export getauxval itselfkcbanner
2023-08-26linux: export elf_aux_maybe so that libraries can call getauxvalkcbanner
2023-08-09linux: add setsidmllken
2023-07-31Merge pull request #16622 from jacobly0/cbe-asm-compatAndrew Kelley
CBE: fix regressions and get new targets passing behavior tests
2023-07-31Revert "linux adding some NUMA support"Andrew Kelley
This reverts commit 6f418c11e1ad1150fbdb002cfe1be92bda4e93cb.
2023-07-31Revert "std.os: adding linux's sched_setaffinity and its wrapper"Andrew Kelley
This reverts commit c7bf8bab38f8b89c1371eedb9229e00a29b5ca5b.
2023-07-31Revert "std.os: add linux timer api"Andrew Kelley
This reverts commit b9d2e0e308794463db1b1acf04d76778c470a070.
2023-07-31std: finish cleanup up asmJacob Young
This also required implementing the necessary syntax in the x86_64 backend.
2023-07-25std.os.linux | Fix sendmmsg function | Issue #16513Zachary Raineri
Closes #16513
2023-07-24Use builtin inference over @as where possibleZachary Raineri
2023-07-20debug: fix initialization of the optional fields on StackIteratorkcbanner
dwarf: documentation fixups target: enable unwind tables on macho
2023-07-20linux: add getcontext for x86_64kcbanner