rustix provides efficient memory-safe and I/O-safe wrappers to POSIX-like, Unix-like, Linux, and Winsock syscall-like APIs, with configurable backends. It uses Rust references, slices, and return values instead of raw pointers, and I/O safety types instead of raw file descriptors, providing memory safety, I/O safety, and provenance. It uses Results for reporting errors, bitflags instead of bare integer flags, an Arg trait with optimizations to efficiently accept any Rust string type, and several other efficient conveniences. rustix is low-level and, and while the net API supports Windows Sockets 2 (Winsock), the rest of the APIs do not support Windows; for higher-level and more portable APIs built on this functionality, see the cap-std, memfd, timerfd, and io-streams crates.
Features
- Documentation available
- Examples available
- Polling and event operations
- POSIX shared memory
- Pipe operations
- Network-related operations