rustix::mm

Enum Advice

source
#[non_exhaustive]
#[repr(u32)]
pub enum Advice {
Show 24 variants Normal = 0, Sequential = 2, Random = 1, WillNeed = 3, LinuxDontNeed = 4, LinuxFree = 8, LinuxRemove = 9, LinuxDontFork = 10, LinuxDoFork = 11, LinuxHwPoison = 100, LinuxSoftOffline = 101, LinuxMergeable = 12, LinuxUnmergeable = 13, LinuxHugepage = 14, LinuxNoHugepage = 15, LinuxDontDump = 16, LinuxDoDump = 17, LinuxWipeOnFork = 18, LinuxKeepOnFork = 19, LinuxCold = 20, LinuxPageOut = 21, LinuxPopulateRead = 22, LinuxPopulateWrite = 23, LinuxDontneedLocked = 24,
}
Expand description

POSIX_MADV_* constants for use with madvise.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Normal = 0

POSIX_MADV_NORMAL

§

Sequential = 2

POSIX_MADV_SEQUENTIAL

§

Random = 1

POSIX_MADV_RANDOM

§

WillNeed = 3

POSIX_MADV_WILLNEED

§

LinuxDontNeed = 4

MADV_DONTNEED

§

LinuxFree = 8

MADV_FREE (since Linux 4.5)

§

LinuxRemove = 9

MADV_REMOVE

§

LinuxDontFork = 10

MADV_DONTFORK

§

LinuxDoFork = 11

MADV_DOFORK

§

LinuxHwPoison = 100

MADV_HWPOISON

§

LinuxSoftOffline = 101

MADV_SOFT_OFFLINE

§

LinuxMergeable = 12

MADV_MERGEABLE

§

LinuxUnmergeable = 13

MADV_UNMERGEABLE

§

LinuxHugepage = 14

MADV_HUGEPAGE

§

LinuxNoHugepage = 15

MADV_NOHUGEPAGE

§

LinuxDontDump = 16

MADV_DONTDUMP (since Linux 3.4)

§

LinuxDoDump = 17

MADV_DODUMP (since Linux 3.4)

§

LinuxWipeOnFork = 18

MADV_WIPEONFORK (since Linux 4.14)

§

LinuxKeepOnFork = 19

MADV_KEEPONFORK (since Linux 4.14)

§

LinuxCold = 20

MADV_COLD (since Linux 5.4)

§

LinuxPageOut = 21

MADV_PAGEOUT (since Linux 5.4)

§

LinuxPopulateRead = 22

MADV_POPULATE_READ (since Linux 5.14)

§

LinuxPopulateWrite = 23

MADV_POPULATE_WRITE (since Linux 5.14)

§

LinuxDontneedLocked = 24

MADV_DONTNEED_LOCKED (since Linux 5.18)

Implementations§

source§

impl Advice

source

pub const DontNeed: Self = Self::Normal

POSIX_MADV_DONTNEED

On Linux, this is mapped to POSIX_MADV_NORMAL because Linux’s MADV_DONTNEED differs from POSIX_MADV_DONTNEED. See LinuxDontNeed for the Linux behavior.

Trait Implementations§

source§

impl Clone for Advice

source§

fn clone(&self) -> Advice

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Advice

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for Advice

source§

fn eq(&self, other: &Advice) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for Advice

source§

impl Eq for Advice

source§

impl StructuralPartialEq for Advice

Auto Trait Implementations§

§

impl Freeze for Advice

§

impl RefUnwindSafe for Advice

§

impl Send for Advice

§

impl Sync for Advice

§

impl Unpin for Advice

§

impl UnwindSafe for Advice

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.