Expand description
Linux file descriptors and file descriptions (equivalent to Linux struct file
s).
Modules§
- descriptor_
table - epoll
- eventfd
- listener
- Types for emitting and subscribing to
File
events. - pipe
- shared_
buf - A buffer for files that need to share a buffer with other files. Example use-cases are pipes and unix sockets. This buffer supports notifying files when readers or writers are added or removed.
- socket
- timerfd
Structs§
- Counted
Legacy File Ref - Represents a counted reference to a legacy file object. Will decrement the legacy file’s ref count when dropped.
- Descriptor
- A file descriptor that reference an open file. Also contains flags that change the behaviour of this file descriptor.
- File
Mode - These are flags that should generally not change (analagous to the Linux
filp->f_mode
). Since the plugin will never see these values and they’re not exposed by the kernel, we don’t match the kernelFMODE_
values here. - File
Signals - File-related signals that listeners can watch for.
- File
State - Flags representing the state of a file. Listeners can subscribe to state changes using
FileRefMut::add_listener
(or similar methods onSocketRefMut
,Pipe
, etc). - File
Status - These are flags that can potentially be changed from the plugin (analagous to the Linux
filp->f_flags
status flags). Not allO_
flags are valid here. For example file access mode flags (ex:O_RDWR
) are stored elsewhere, and file creation flags (ex:O_CREAT
) are not stored anywhere. Many of these can be represented in different ways, for example:O_NONBLOCK
,SOCK_NONBLOCK
,EFD_NONBLOCK
,GRND_NONBLOCK
, etc, and not all have the same value. - Legacy
File Counter - Used to track how many descriptors are open for a
LegacyFile
. - Open
File - Represents a POSIX file description, or a Linux
struct file
.
Enums§
- Compat
File - A compatibility wrapper around an
OpenFile
orLegacyFileCounter
. - File
- A wrapper for any type of file object.
- FileRef
- Wraps an immutably borrowed
File
. Created fromFile::borrow
orFile::try_borrow
. - File
RefMut - Wraps a mutably borrowed
File
. Created fromFile::borrow_mut
orFile::try_borrow_mut
.