[][src]Struct nc::types::shmid64_ds_t

#[repr(C)]
pub struct shmid64_ds_t {
    pub shm_perm: ipc64_perm_t,
    pub shm_segsz: size_t,
    pub shm_atime: time_t,
    pub shm_dtime: time_t,
    pub shm_ctime: time_t,
    pub shm_cpid: pid_t,
    pub shm_lpid: pid_t,
    pub shm_nattch: usize,
    // some fields omitted
}

The shmid64_ds structure for x86 architecture. Note extra padding because this structure is passed back and forth between kernel and user space.

shmid64_ds was originally meant to be architecture specific, but everyone just ended up making identical copies without specific optimizations, so we may just as well all use the same one.

64 bit architectures typically define a 64 bit __kernel_time_t, so they do not need the first two padding words. On big-endian systems, the padding is in the wrong place.

Pad space is left for:

  • 2 miscellaneous 32-bit values

Fields

shm_perm: ipc64_perm_t

operation perms

shm_segsz: size_t

size of segment (bytes)

shm_atime: time_t

last attach time

shm_dtime: time_t

last detach time

shm_ctime: time_t

last change time

shm_cpid: pid_t

pid of creator

shm_lpid: pid_t

pid of last operator

shm_nattch: usize

no. of current attaches

Auto Trait Implementations

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]