[][src]Struct win_etw_metadata::InFlag

#[repr(transparent)]pub struct InFlag { /* fields omitted */ }

Defines the input type of a field. In traceloggingprovider.h, this is the 'TlgIn_t` enumerated type.

Implementations

impl InFlag[src]

pub const NULL: InFlag[src]

No value at all

pub const UNICODE_STRING: InFlag[src]

A wide string (UTF-16), corresponding to PCWSTR in Win32.

pub const ANSI_STRING: InFlag[src]

An ANSI string, corresponding to PCSTR in Win32. The character set can be specified as UTF-8 by using OutFlag::UTF8.

pub const INT8: InFlag[src]

i8

pub const UINT8: InFlag[src]

u8

pub const INT16: InFlag[src]

i16, stored in little-endian form.

pub const UINT16: InFlag[src]

u16, stored in little-endian form.

pub const INT32: InFlag[src]

i16, stored in little-endian form.

pub const UINT32: InFlag[src]

u32, stored in little-endian form.

pub const INT64: InFlag[src]

i64, stored in little-endian form.

pub const UINT64: InFlag[src]

u64, stored in little-endian form.

pub const FLOAT: InFlag[src]

f32, stored in little-endian form.

pub const DOUBLE: InFlag[src]

f64, stored in little-endian form.

pub const BOOL32: InFlag[src]

A Win32 'BOOL' value, which is i32, stored in little-endian form.

pub const BINARY: InFlag[src]

An array of bytes, stored in little-endian form.

pub const GUID: InFlag[src]

A GUID, stored in canonical byte-oriented representation. The fields within the GUID are stored in big-endian form.

pub const FILETIME: InFlag[src]

A Win32 FILETIME value. FILETIME values are u64 values, stored in little-endian form, counting 100ns intervals from the FILETIME epoch.

pub const SYSTEMTIME: InFlag[src]

A Win32 SYSTEMTIME value, with fields encoded in little-endian form.

pub const SID: InFlag[src]

A Win32 SID.

pub const HEXINT32: InFlag[src]

An i32 value, encoded in little-endian form, displayed in hexadecimal.

pub const HEXINT64: InFlag[src]

An i64 value, encoded in little-endian form, displayed in hexadecimal.

pub const COUNTED_UNICODE_STRING: InFlag[src]

A counted wide string (UTF-16), corresponding to UNICODE_STRING in Win32. This type uses two data descriptor slots. The first is a u16 value, giving the length of the string data in WCHAR units (not bytes). The second points to the character data.

pub const COUNTED_ANSI_STRING: InFlag[src]

A counted ANSI string, corresponding to STRING in Win32. The character set can be specified as UTF-8 by using OutFlag::UTF8. This type uses two data descriptor slots. The first is a u16 value, giving the length of the string data in WCHAR units (not bytes). The second points to the character data.

pub const CCOUNT_FLAG: InFlag[src]

A flag which indicates that this field is an array of constant length. If this field is present, then the metadata contains an additional u16 field, which is the constant length.

pub const VCOUNT_FLAG: InFlag[src]

A flag which indicates that this field has a dynamic length. The field uses two data descriptors. The first is a u16 field specifying the length of the array. The second points to the array data.

pub const CHAIN_FLAG: InFlag[src]

A flag which indicates that this field metadata also includes an OutFlag. The OutFlag byte immediately follows the InFlag byte.

pub const CUSTOM_FLAG: InFlag[src]

A flag which indicates that the field uses a custom serializer.

pub const TYPE_MASK: InFlag[src]

A mask of the field type flags.

pub const COUNT_MASK: InFlag[src]

A mask of the field length flags (VCOUNT_FLAG, CCOUNT_FLAG, CUSTOM_FLAG).

pub const FLAG_MASK: InFlag[src]

A mask over all of the flags (all bits excluding the type bits).

pub const fn empty() -> InFlag[src]

Returns an empty set of flags

pub const fn all() -> InFlag[src]

Returns the set containing all flags.

pub const fn bits(&self) -> u8[src]

Returns the raw value of the flags currently stored.

pub fn from_bits(bits: u8) -> Option<InFlag>[src]

Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.

pub const fn from_bits_truncate(bits: u8) -> InFlag[src]

Convert from underlying bit representation, dropping any bits that do not correspond to flags.

pub const unsafe fn from_bits_unchecked(bits: u8) -> InFlag[src]

Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).

pub const fn is_empty(&self) -> bool[src]

Returns true if no flags are currently stored.

pub const fn is_all(&self) -> bool[src]

Returns true if all flags are currently set.

pub const fn intersects(&self, other: InFlag) -> bool[src]

Returns true if there are flags common to both self and other.

pub const fn contains(&self, other: InFlag) -> bool[src]

Returns true all of the flags in other are contained within self.

pub fn insert(&mut self, other: InFlag)[src]

Inserts the specified flags in-place.

pub fn remove(&mut self, other: InFlag)[src]

Removes the specified flags in-place.

pub fn toggle(&mut self, other: InFlag)[src]

Toggles the specified flags in-place.

pub fn set(&mut self, other: InFlag, value: bool)[src]

Inserts or removes the specified flags depending on the passed value.

impl InFlag[src]

pub const USIZE: InFlag[src]

An alias for the architecture-dependent USIZE (pointer-sized word) InFlag.

pub const ISIZE: InFlag[src]

An alias for the architecture-dependent ISIZE (pointer-sized word) InFlag.

Trait Implementations

impl Binary for InFlag[src]

impl BitAnd<InFlag> for InFlag[src]

type Output = InFlag

The resulting type after applying the & operator.

fn bitand(self, other: InFlag) -> InFlag[src]

Returns the intersection between the two sets of flags.

impl BitAndAssign<InFlag> for InFlag[src]

fn bitand_assign(&mut self, other: InFlag)[src]

Disables all flags disabled in the set.

impl BitOr<InFlag> for InFlag[src]

type Output = InFlag

The resulting type after applying the | operator.

fn bitor(self, other: InFlag) -> InFlag[src]

Returns the union of the two sets of flags.

impl BitOrAssign<InFlag> for InFlag[src]

fn bitor_assign(&mut self, other: InFlag)[src]

Adds the set of flags.

impl BitXor<InFlag> for InFlag[src]

type Output = InFlag

The resulting type after applying the ^ operator.

fn bitxor(self, other: InFlag) -> InFlag[src]

Returns the left flags, but with all the right flags toggled.

impl BitXorAssign<InFlag> for InFlag[src]

fn bitxor_assign(&mut self, other: InFlag)[src]

Toggles the set of flags.

impl Clone for InFlag[src]

impl Copy for InFlag[src]

impl Debug for InFlag[src]

impl Eq for InFlag[src]

impl Extend<InFlag> for InFlag[src]

impl FromIterator<InFlag> for InFlag[src]

impl Hash for InFlag[src]

impl LowerHex for InFlag[src]

impl Not for InFlag[src]

type Output = InFlag

The resulting type after applying the ! operator.

fn not(self) -> InFlag[src]

Returns the complement of this set of flags.

impl Octal for InFlag[src]

impl Ord for InFlag[src]

impl PartialEq<InFlag> for InFlag[src]

impl PartialOrd<InFlag> for InFlag[src]

impl StructuralEq for InFlag[src]

impl StructuralPartialEq for InFlag[src]

impl Sub<InFlag> for InFlag[src]

type Output = InFlag

The resulting type after applying the - operator.

fn sub(self, other: InFlag) -> InFlag[src]

Returns the set difference of the two sets of flags.

impl SubAssign<InFlag> for InFlag[src]

fn sub_assign(&mut self, other: InFlag)[src]

Disables all flags enabled in the set.

impl UpperHex for InFlag[src]

Auto Trait Implementations

impl Send for InFlag

impl Sync for InFlag

impl Unpin for InFlag

Blanket Implementations

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

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

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

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

impl<T, U> Into<U> for T where
    U: From<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> 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.