#[non_exhaustive]#[repr(u32)]pub enum Seal {
Seal = 1,
Shrink = 2,
Grow = 4,
Write = 8,
FutureWrite = 16,
}
Expand description
A seal that prevents certain actions from being performed on a file.
Note that seals apply to a file, not a file descriptor. If two file descriptors refer to the same file, they share the same set of seals.
Seals can not be removed from a file once applied.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Seal = 1
Prevent adding more seals to the file.
Shrink = 2
Prevent the file from being shrunk with truncate
or similar.
Combine with Seal::Grow
to prevent the file from being resized in any way.
Grow = 4
Prevent the file from being extended with truncate
, fallocate
or simillar.
Combine with Seal::Shrink
to prevent the file from being resized in any way.
Write = 8
Prevent write to the file.
This will block all writes to the file and prevents any shared, writable memory mappings from being created.
If a shared, writable memory mapping already exists, adding this seal will fail.
FutureWrite = 16
Similar to Seal::Write
, but allows existing shared, writable memory mappings to modify the file contents.
This can be used to share a read-only view of the file with other processes, while still being able to modify the contents through an existing mapping.
Trait Implementations§
source§impl Ord for Seal
impl Ord for Seal
source§impl PartialEq for Seal
impl PartialEq for Seal
source§impl PartialOrd for Seal
impl PartialOrd for Seal
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more