rustix
rustix copied to clipboard
Safe Rust bindings to POSIX-ish APIs
In https://github.com/coreos/rpm-ostree/issues/3839, they're seeing this error: ``` --> /builddir/build/BUILD/rpm-ostree-2022.10.110.gad3fecdc/vendor/rustix/src/imp/libc/fs/dir.rs:47:18 | 47 | use libc_errno::{errno, set_errno, Errno}; | ^^^^^ ^^^^^^^^^ ^^^^^ no `Errno` in the root | | | | |...
In dynamically linked executables, we should be able to `dlopen` the "linux-vdso.so" library and use `dlsym` to obtain symbols like "__vdso_clock_gettime" instead of parsing the vDSO ELF image manually. An...
Currently, [`read`](https://docs.rs/rsix/latest/rsix/io/fn.read.html) takes a `&mut [u8]`. That's fine for many use cases, but it does require the buffer to be initialized before calling `read`, so it's currently not possible to...
Following up on a discussion in #97: [`std::process::Command`](https://doc.rust-lang.org/stable/std/process/struct.Command.html) has a safe API for spawning child processes. Its documentation doesn't mention non-`O_CLOEXEC` file descriptors, but from some experimenting, child processes do...
Rustix's [futex function](https://docs.rs/rustix/latest/rustix/thread/fn.futex.html) can perform several different operations, as determined by a `FutexOperation` argument. However, as documented in the Arguments section of [Linux's man page](https://man7.org/linux/man-pages/man2/futex.2.html), in some operations, some of...
`pid_t` is universally signed, however rustix's linux_raw backend makes `RawPid` be `u32`. This complicates porting code from libc to rustix.
As discussed in https://github.com/bytecodealliance/rustix/pull/165, `wait` is a tricky function to test from within the test harness because it depends on knowing that nothing else in the process is creating child...
This PR focus on adding ipv6 multicast hops support: See: https://man7.org/linux/man-pages/man7/ipv6.7.html See: https://learn.microsoft.com/en-us/windows/win32/winsock/ipproto-ipv6-socket-options This is the same as multicast_ttl but for ipv6, it's also missing in Rust std
Is this required? I am thinking of moving the Parser here from the rust std... What do you think?