[−]Struct nix::sys::socket::MsgFlags
Flags for send/recv and their relatives
Methods
impl MsgFlags
pub const MSG_OOB: MsgFlags
Sends or requests out-of-band data on sockets that support this notion
(e.g., of type Stream
); the underlying protocol must also
support out-of-band data.
pub const MSG_PEEK: MsgFlags
Peeks at an incoming message. The data is treated as unread and the next
recv()
or similar function shall still return this data.
pub const MSG_WAITALL: MsgFlags
Receive operation blocks until the full amount of data can be returned. The function may return smaller amount of data if a signal is caught, an error or disconnect occurs.
pub const MSG_DONTWAIT: MsgFlags
Enables nonblocking operation; if the operation would block,
EAGAIN
or EWOULDBLOCK
is returned. This provides similar
behavior to setting the O_NONBLOCK
flag
(via the fcntl
F_SETFL
operation), but differs in that MSG_DONTWAIT
is a per-
call option, whereas O_NONBLOCK
is a setting on the open file
description (see open(2)),
which will affect all threads in
the calling process and as well as other processes that hold
file descriptors referring to the same open file description.
pub const MSG_CTRUNC: MsgFlags
Receive flags: Control Data was discarded (buffer too small)
pub const MSG_TRUNC: MsgFlags
For raw (Packet
), Internet datagram
(since Linux 2.4.27/2.6.8),
netlink (since Linux 2.6.22) and UNIX datagram (since Linux 3.4)
sockets: return the real length of the packet or datagram, even
when it was longer than the passed buffer. Not implemented for UNIX
domain (unix(7)) sockets.
For use with Internet stream sockets, see tcp(7).
pub const MSG_EOR: MsgFlags
Terminates a record (when this notion is supported, as for
sockets of type SeqPacket
).
pub const MSG_CMSG_CLOEXEC: MsgFlags
Set the close-on-exec
flag for the file descriptor received via a UNIX domain
file descriptor using the SCM_RIGHTS
operation (described in
unix(7)).
This flag is useful for the same reasons as the O_CLOEXEC
flag of
open(2).
Only used in recvmsg
function.
pub const fn empty() -> MsgFlags
Returns an empty set of flags
pub const fn all() -> MsgFlags
Returns the set containing all flags.
pub const fn bits(&self) -> c_int
Returns the raw value of the flags currently stored.
pub fn from_bits(bits: c_int) -> Option<MsgFlags>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
pub const fn from_bits_truncate(bits: c_int) -> MsgFlags
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
pub const unsafe fn from_bits_unchecked(bits: c_int) -> MsgFlags
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
pub const fn is_empty(&self) -> bool
Returns true
if no flags are currently stored.
pub const fn is_all(&self) -> bool
Returns true
if all flags are currently set.
pub const fn intersects(&self, other: MsgFlags) -> bool
Returns true
if there are flags common to both self
and other
.
pub const fn contains(&self, other: MsgFlags) -> bool
Returns true
all of the flags in other
are contained within self
.
pub fn insert(&mut self, other: MsgFlags)
Inserts the specified flags in-place.
pub fn remove(&mut self, other: MsgFlags)
Removes the specified flags in-place.
pub fn toggle(&mut self, other: MsgFlags)
Toggles the specified flags in-place.
pub fn set(&mut self, other: MsgFlags, value: bool)
Inserts or removes the specified flags depending on the passed value.
Trait Implementations
impl Extend<MsgFlags> for MsgFlags
fn extend<T: IntoIterator<Item = MsgFlags>>(&mut self, iterator: T)
impl Clone for MsgFlags
fn clone(&self) -> MsgFlags
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for MsgFlags
impl Eq for MsgFlags
impl Ord for MsgFlags
fn cmp(&self, other: &MsgFlags) -> Ordering
fn max(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
1.21.0[src]
fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<MsgFlags> for MsgFlags
impl PartialOrd<MsgFlags> for MsgFlags
fn partial_cmp(&self, other: &MsgFlags) -> Option<Ordering>
fn lt(&self, other: &MsgFlags) -> bool
fn le(&self, other: &MsgFlags) -> bool
fn gt(&self, other: &MsgFlags) -> bool
fn ge(&self, other: &MsgFlags) -> bool
impl Debug for MsgFlags
impl Sub<MsgFlags> for MsgFlags
type Output = MsgFlags
The resulting type after applying the -
operator.
fn sub(self, other: MsgFlags) -> MsgFlags
Returns the set difference of the two sets of flags.
impl SubAssign<MsgFlags> for MsgFlags
fn sub_assign(&mut self, other: MsgFlags)
Disables all flags enabled in the set.
impl Not for MsgFlags
type Output = MsgFlags
The resulting type after applying the !
operator.
fn not(self) -> MsgFlags
Returns the complement of this set of flags.
impl BitAnd<MsgFlags> for MsgFlags
type Output = MsgFlags
The resulting type after applying the &
operator.
fn bitand(self, other: MsgFlags) -> MsgFlags
Returns the intersection between the two sets of flags.
impl BitOr<MsgFlags> for MsgFlags
type Output = MsgFlags
The resulting type after applying the |
operator.
fn bitor(self, other: MsgFlags) -> MsgFlags
Returns the union of the two sets of flags.
impl BitXor<MsgFlags> for MsgFlags
type Output = MsgFlags
The resulting type after applying the ^
operator.
fn bitxor(self, other: MsgFlags) -> MsgFlags
Returns the left flags, but with all the right flags toggled.
impl BitAndAssign<MsgFlags> for MsgFlags
fn bitand_assign(&mut self, other: MsgFlags)
Disables all flags disabled in the set.
impl BitOrAssign<MsgFlags> for MsgFlags
fn bitor_assign(&mut self, other: MsgFlags)
Adds the set of flags.
impl BitXorAssign<MsgFlags> for MsgFlags
fn bitxor_assign(&mut self, other: MsgFlags)
Toggles the set of flags.
impl Hash for MsgFlags
fn hash<__H: Hasher>(&self, state: &mut __H)
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl StructuralPartialEq for MsgFlags
impl StructuralEq for MsgFlags
impl FromIterator<MsgFlags> for MsgFlags
fn from_iter<T: IntoIterator<Item = MsgFlags>>(iterator: T) -> MsgFlags
impl Octal for MsgFlags
impl Binary for MsgFlags
impl LowerHex for MsgFlags
impl UpperHex for MsgFlags
Auto Trait Implementations
impl Send for MsgFlags
impl Sync for MsgFlags
impl Unpin for MsgFlags
impl UnwindSafe for MsgFlags
impl RefUnwindSafe for MsgFlags
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,