Crate linux_io

Source
Expand description

Lightweight but safe abstractions around Linux system calls related to file descriptors.

This goal of this crate is to expose a convenient API while skipping any unnecessary abstraction. In most cases calls to functions in this crate should reduce to inline system calls and some minimal argument and result conversion code, and the results should be generally unsurprising to anyone who is familiar with the underlying system call behavior.

The functions in this crate wrap functions in crate linux_unsafe to actually make the system calls, and so the platform support for this crate is limited to what that other crate supports.

Implements standard library I/O traits by default, but can be made friendly to no_std environments by disabling the default feature std.

The initial versions of this crate are focused only on basic file operations, until the API for that feels settled. In later releases the scope will hopefully increase to cover most or all of the system calls that work with file descriptors.

Re-exports§

pub use fd::File;
pub use fd::OpenOptions;
pub use fd::OPEN_READ_ONLY;
pub use fd::OPEN_READ_WRITE;
pub use fd::OPEN_WRITE_ONLY;

Modules§

fd
The main File type and its supporting utilities for working safely with file descriptors.
poll
Access to the “poll” system call.
ptr
For safely representing pointers in ioctl request types, and similar.
result
Types for representing system call results and errors.
seek
Types for use with “seek” operations.
socket
Socket address manipulation, socket device ioctls, etc.
sync
Synchronization primitives built using Linux kernel features.
tty
For interacting with tty devices.