#[repr(C)]pub struct InType(/* private fields */);
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 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.
Sourcepub const TypeMask: u8 = 31u8
pub const TypeMask: u8 = 31u8
Raw encoding flag: _TlgInTypeMask is a mask for the intype portion of the encoded byte.
Sourcepub const FlagMask: u8 = 96u8
pub const FlagMask: u8 = 96u8
Raw encoding flag: _TlgInFlagMask is a mask for the flags portion of the encoded byte.