Expand description
Rust friendly bindings to the various *nix system functions.
Modules are structured according to the C header file that they would be defined in.
Features
Nix uses the following Cargo features to enable optional functionality. They may be enabled in any combination.
- acct- Process accounting
- aio- POSIX AIO
- dir- Stuff relating to directory iteration
- env- Manipulate environment variables
- event- Event-driven APIs, like- kqueueand- epoll
- feature- Query characteristics of the OS at runtime
- fs- File system functionality
- hostname- Get and set the system’s hostname
- inotify- Linux’s- inotifyfile system notification API
- ioctl- The- ioctlsyscall, and wrappers for many specific instances
- kmod- Load and unload kernel modules
- mman- Stuff relating to memory management
- mount- Mount and unmount file systems
- mqueue- POSIX message queues
- net- Networking-related functionality
- personality- Set the process execution domain
- poll- APIs like- polland- select
- process- Stuff relating to running processes
- pthread- POSIX threads
- ptrace- Process tracing and debugging
- quota- File system quotas
- reboot- Reboot the system
- resource- Process resource limits
- sched- Manipulate process’s scheduling
- socket- Sockets, whether for networking or local use
- signal- Send and receive signals to processes
- term- Terminal control APIs
- time- Query the operating system’s clocks
- ucontext- User thread context
- uio- Vectored I/O
- user- Stuff relating to users and groups
- zerocopy- APIs like- sendfileand- copy_file_range
Re-exports
- pub use libc;
Modules
- dirdirList directory contents
- envenvEnvironment variables
- featuresfeatureFeature tests for OS functionality
- ifaddrsnetQuery network interface addresses
- kmodkmodLoad and unload kernel modules.
- mountmountMount file systems
- mqueuemqueuePosix Message Queue functions
- netnetFunctionality involving network interfaces
- pollpollWait for events to trigger on specific file descriptors
- ptytermCreate master and slave virtual pseudo-terminals (PTYs)
- schedschedExecution scheduling
- Mostly platform-specific functionality
- timetime
- ucontextucontext
- Safe wrappers around functions found in libc “unistd.h” header
Macros
- cmsg_spacesocketanduioCreate a buffer large enough for storing some control messages as returned byrecvmsg.
- ioctl_noneioctlGenerates a wrapper function for an ioctl that passes no data to the kernel.
- ioctl_none_badioctlGenerates a wrapper function for a “bad” ioctl that passes no data to the kernel.
- ioctl_readioctlGenerates a wrapper function for an ioctl that reads data from the kernel.
- ioctl_read_badioctlGenerates a wrapper function for a “bad” ioctl that reads data from the kernel.
- ioctl_read_bufioctlGenerates a wrapper function for an ioctl that reads an array of elements from the kernel.
- ioctl_readwriteioctlGenerates a wrapper function for an ioctl that reads and writes data to the kernel.
- ioctl_readwrite_badioctlGenerates a wrapper function for a “bad” ioctl that reads and writes data to the kernel.
- ioctl_readwrite_bufioctlGenerates a wrapper function for an ioctl that reads and writes an array of elements to the kernel.
- ioctl_write_bufioctlGenerates a wrapper function for an ioctl that writes an array of elements to the kernel.
- ioctl_write_intioctlGenerates a wrapper function for a ioctl that writes an integer to the kernel.
- ioctl_write_int_badioctlGenerates a wrapper function for a “bad” ioctl that writes an integer to the kernel.
- ioctl_write_ptrioctlGenerates a wrapper function for an ioctl that writes data through a pointer to the kernel.
- ioctl_write_ptr_badioctlGenerates a wrapper function for a “bad” ioctl that writes data through a pointer to the kernel.
- request_code_noneioctlGenerate an ioctl request code for a command that passes no data.
- request_code_readioctlGenerate an ioctl request code for a command that reads.
- Generate an ioctl request code for a command that reads and writes.
- request_code_writeioctlGenerate an ioctl request code for a command that writes.
Traits
- Common trait used to represent file system paths by many Nix functions.
Type Aliases
- Nix’s main error type.
- Nix Result Type