Struct tracelogging::InType
source · #[repr(C)]pub struct InType(_);
Expand description
Advanced: Used to indicate the field’s type for raw metadata operations.
An InType indicates the binary encoding of the field, i.e. how to determine the field’s size. For example, InType::I32 indicates the field is always 4 bytes, while InType::Str8 indicates the field begins with a U16 byte-count to specify the field’s size. The InType also provides a default format to be used if a field’s OutType is OutType::Default, e.g. InType::I32 defaults to OutType::Signed, and InType::Hex32 defaults to OutType::Hex.
Implementations§
source§impl InType
impl InType
sourcepub const fn from_int(value: u8) -> InType
pub const fn from_int(value: u8) -> InType
Returns an intype with the specified value.
Requires: value <= 127
.
sourcepub const CStr16: InType = _
pub const CStr16: InType = _
TlgInUNICODESTRING = NUL-terminated UTF-16LE string.
Default format: OutType::String
Other usable formats: OutType::Xml, OutType::Json.
sourcepub const CStr8: InType = _
pub const CStr8: InType = _
TlgInANSISTRING = NUL-terminated 8-bit string, assumed to be encoded as CP1252.
Default format: OutType::String
Other usable formats: OutType::Xml, OutType::Json, OutType::Utf8.
sourcepub const I8: InType = _
pub const I8: InType = _
TlgInINT8 = 8-bit signed integer.
Default format: OutType::Signed
Other usable formats: OutType::String (formats as CP1252 char).
sourcepub const U8: InType = _
pub const U8: InType = _
TlgInUINT8 = 8-bit unsigned integer.
Default format: OutType::Unsigned
Other usable formats: OutType::Hex, OutType::String (formats as CP1252 char), OutType::Boolean.
sourcepub const I16: InType = _
pub const I16: InType = _
TlgInINT16 = 16-bit signed integer.
Default format: OutType::Signed
sourcepub const U16: InType = _
pub const U16: InType = _
TlgInUINT16 = 16-bit unsigned integer.
Default format: OutType::Unsigned
Other usable formats: OutType::Hex, OutType::String (formats as UCS-2 char),
OutType::Port (formats as big-endian u16
).
sourcepub const I32: InType = _
pub const I32: InType = _
TlgInINT32 = 32-bit signed integer.
Default format: OutType::Signed
Other usable formats: OutType::HResult.
sourcepub const U32: InType = _
pub const U32: InType = _
TlgInUINT32 = 32-bit unsigned integer.
Default format: OutType::Unsigned
Other usable formats: OutType::Pid, OutType::Tid, OutType::IPv4, OutType::Win32Error, OutType::NtStatus, OutType::CodePointer.
sourcepub const I64: InType = _
pub const I64: InType = _
TlgInINT64 = 64-bit signed integer.
Default format: OutType::Signed
sourcepub const U64: InType = _
pub const U64: InType = _
TlgInUINT64 = 64-bit signed integer.
Default format: OutType::Unsigned
Other usable formats: OutType::CodePointer.
sourcepub const Bool32: InType = _
pub const Bool32: InType = _
TlgInBOOL32 = 32-bit Boolean.
Default format: OutType::Boolean
sourcepub const Binary: InType = _
pub const Binary: InType = _
TlgInBINARY = UINT16 byte-count followed by binary data.
Default format: OutType::Hex
Other usable formats: OutType::IPv6, OutType::SocketAddress, OutType::Pkcs7WithTypeInfo.
Note: Array of Binary is not supported. For arrays, use InType::BinaryC.
sourcepub const _HexSize_PlatformSpecific: InType = _
pub const _HexSize_PlatformSpecific: InType = _
_TlgInPOINTER_unsupported = Not supported. Use InType::HexSize instead.
sourcepub const FileTime: InType = _
pub const FileTime: InType = _
TlgInFILETIME = 64-bit timestamp in Windows FILETIME format.
Default format: OutType::DateTime
Other usable formats: OutType::DateTimeCultureInsensitive, OutType::DateTimeUtc.
sourcepub const SystemTime: InType = _
pub const SystemTime: InType = _
TlgInSYSTEMTIME = 128-bit date/time in Windows SYSTEMTIME format.
Default format: OutType::DateTime
Other usable formats: OutType::DateTimeCultureInsensitive, OutType::DateTimeUtc.
sourcepub const Sid: InType = _
pub const Sid: InType = _
TlgInSID = Security ID in Windows SID format.
Note: Expected size of value is
GetSidLength(sid_bytes)
= sid_bytes[1] * 4 + 8
.
sourcepub const Hex32: InType = _
pub const Hex32: InType = _
TlgInHEXINT32 = 32-bit integer formatted as hex.
Default format: OutType::Hex
Other usable formats: OutType::Win32Error, OutType::NtStatus, OutType::CodePointer.
sourcepub const Hex64: InType = _
pub const Hex64: InType = _
TlgInHEXINT64 = 64-bit integer formatted as hex.
Default format: OutType::Hex
Other usable formats: OutType::CodePointer.
sourcepub const Str16: InType = _
pub const Str16: InType = _
TlgInCOUNTEDSTRING = 16-bit byte count followed by UTF-16LE string.
Default format: OutType::String
Other usable formats: OutType::Xml, OutType::Json.
sourcepub const Str8: InType = _
pub const Str8: InType = _
TlgInCOUNTEDANSISTRING = 16-bit byte count followed by 8-bit string, assumed to be encoded as CP1252.
Default format: OutType::String
Other usable formats: OutType::Xml, OutType::Json, OutType::Utf8.
sourcepub const Struct: InType = _
pub const Struct: InType = _
_TlgInSTRUCT = The struct field contains no data, but the following N fields will be considered as logically part of the struct field, where N is a value from 1 to 127 encoded into the OutType slot.
sourcepub const BinaryC: InType = _
pub const BinaryC: InType = _
TlgInCOUNTEDBINARY = UINT16 byte-count followed by binary data.
Default format: OutType::Hex
Other usable formats: OutType::IPv6, OutType::SocketAddress, OutType::Pkcs7WithTypeInfo.
This is the same as InType::Binary except:
- New type code. Decoders might not support it yet.
- Decodes without the synthesized “FieldName.Length” fields that are common with Binary.
- Arrays are supported.
sourcepub const ISize: InType = _
pub const ISize: InType = _
TlgInINTPTR = an alias for either InType::I64 or InType::I32, depending on the running process’s pointer size.
Default format: OutType::Signed
sourcepub const USize: InType = _
pub const USize: InType = _
TlgInUINTPTR = an alias for either InType::U64 or InType::U32, depending on the running process’s pointer size.
Default format: OutType::Unsigned
Other usable formats: OutType::CodePointer.
sourcepub const HexSize: InType = _
pub const HexSize: InType = _
TlgInPOINTER = an alias for either InType::Hex64 or InType::Hex32, depending on the running process’s pointer size.
Default format: OutType::Hex
Other usable formats: OutType::CodePointer.
sourcepub const ConstantCountFlag: u8 = 32u8
pub const ConstantCountFlag: u8 = 32u8
Raw encoding flag: _TlgInCcount indicates that field metadata contains a const-array-count slot.
sourcepub const VariableCountFlag: u8 = 64u8
pub const VariableCountFlag: u8 = 64u8
Raw encoding flag: TlgInVcount indicates that field data contains a variable-array-count slot.
sourcepub const CustomFlag: u8 = 96u8
pub const CustomFlag: u8 = 96u8
Raw encoding flag: _TlgInCustom indicates that the field uses a custom serializer.
Trait Implementations§
source§impl Ord for InType
impl Ord for InType
source§impl PartialEq<InType> for InType
impl PartialEq<InType> for InType
source§impl PartialOrd<InType> for InType
impl PartialOrd<InType> for InType
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more