Struct procfs::Lock

source ·
pub struct Lock {
    pub lock_type: LockType,
    pub mode: LockMode,
    pub kind: LockKind,
    pub pid: Option<i32>,
    pub devmaj: u32,
    pub devmin: u32,
    pub inode: u64,
    pub offset_first: u64,
    pub offset_last: Option<u64>,
}
Expand description

Details about an individual file lock

See the locks function.

For an example, see the lslocks.rs example in the source repo.

Fields§

§lock_type: LockType

The type of lock

§mode: LockMode

The lock mode (advisory or mandatory)

§kind: LockKind

The kind of lock (read or write)

§pid: Option<i32>

The process that owns the lock

Because OFD locks are not owned by a single process (since multiple processes may have file descriptors that refer to the same FD), this field may be None.

Before kernel 4.14 a bug meant that the PID of of the process that initially acquired the lock was displayed instead of None.

§devmaj: u32

The major ID of the device containing the FS that contains this lock

§devmin: u32

The minor ID of the device containing the FS that contains this lock

§inode: u64

The inode of the locked file

§offset_first: u64

The offset (in bytes) of the first byte of the lock.

For BSD locks, this value is always 0.

§offset_last: Option<u64>

The offset (in bytes) of the last byte of the lock.

None means the lock extends to the end of the file. For BSD locks, the value is always None.

Trait Implementations§

source§

impl Clone for Lock

source§

fn clone(&self) -> Lock

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 Lock

source§

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

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

impl<'de> Deserialize<'de> for Lock

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Lock

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Lock

§

impl Send for Lock

§

impl Sync for Lock

§

impl Unpin for Lock

§

impl UnwindSafe for Lock

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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 Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,