[][src]Struct nc::types::msqid64_ds_t

#[repr(C)]
pub struct msqid64_ds_t {
    pub msg_perm: ipc_perm_t,
    pub msg_stime: time_t,
    pub msg_rtime: time_t,
    pub msg_ctime: time_t,
    pub msg_cbytes: usize,
    pub msg_qnum: usize,
    pub msg_qbytes: usize,
    pub msg_lspid: pid_t,
    pub msg_lrpid: pid_t,
    // some fields omitted
}

generic msqid64_ds structure.

Note extra padding because this structure is passed back and forth between kernel and user space.

msqid64_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 three padding words. On big-endian systems, the padding is in the wrong place.

Pad space is left for:

  • 2 miscellaneous 32-bit values

Fields

msg_perm: ipc_perm_tmsg_stime: time_t

last msgsnd time

msg_rtime: time_t

last msgrcv time

msg_ctime: time_t

last change time

msg_cbytes: usize

current number of bytes on queue

msg_qnum: usize

number of messages in queue

msg_qbytes: usize

max number of bytes on queue

msg_lspid: pid_t

pid of last msgsnd

msg_lrpid: pid_t

last receive pid

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]