#[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

Returns an intype with the specified value. Requires: value <= 127.

Returns the numeric value corresponding to this intype.

TlgInNULL = Invalid type.

TlgInUNICODESTRING = NUL-terminated UTF-16LE string.

Default format: OutType::String

Other usable formats: OutType::Xml, OutType::Json.

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.

TlgInINT8 = 8-bit signed integer.

Default format: OutType::Signed

Other usable formats: OutType::String (formats as CP1252 char).

TlgInUINT8 = 8-bit unsigned integer.

Default format: OutType::Unsigned

Other usable formats: OutType::Hex, OutType::String (formats as CP1252 char), OutType::Boolean.

TlgInINT16 = 16-bit signed integer.

Default format: OutType::Signed

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).

TlgInINT32 = 32-bit signed integer.

Default format: OutType::Signed

Other usable formats: OutType::HResult.

TlgInUINT32 = 32-bit unsigned integer.

Default format: OutType::Unsigned

Other usable formats: OutType::Pid, OutType::Tid, OutType::IPv4, OutType::Win32Error, OutType::NtStatus, OutType::CodePointer.

TlgInINT64 = 64-bit signed integer.

Default format: OutType::Signed

TlgInUINT64 = 64-bit signed integer.

Default format: OutType::Unsigned

Other usable formats: OutType::CodePointer.

TlgInFLOAT = 32-bit float.

TlgInDOUBLE = 64-bit float.

TlgInBOOL32 = 32-bit Boolean.

Default format: OutType::Boolean

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.

TlgInGUID = 128-bit GUID in Windows (little-endian) byte order.

_TlgInPOINTER_unsupported = Not supported. Use InType::HexSize instead.

TlgInFILETIME = 64-bit timestamp in Windows FILETIME format.

Default format: OutType::DateTime

Other usable formats: OutType::DateTimeCultureInsensitive, OutType::DateTimeUtc.

TlgInSYSTEMTIME = 128-bit date/time in Windows SYSTEMTIME format.

Default format: OutType::DateTime

Other usable formats: OutType::DateTimeCultureInsensitive, OutType::DateTimeUtc.

TlgInSID = Security ID in Windows SID format.

Note: Expected size of value is GetSidLength(sid_bytes) = sid_bytes[1] * 4 + 8.

TlgInHEXINT32 = 32-bit integer formatted as hex.

Default format: OutType::Hex

Other usable formats: OutType::Win32Error, OutType::NtStatus, OutType::CodePointer.

TlgInHEXINT64 = 64-bit integer formatted as hex.

Default format: OutType::Hex

Other usable formats: OutType::CodePointer.

TlgInCOUNTEDSTRING = 16-bit byte count followed by UTF-16LE string.

Default format: OutType::String

Other usable formats: OutType::Xml, OutType::Json.

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.

_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.

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.

TlgInINTPTR = an alias for either InType::I64 or InType::I32, depending on the running process’s pointer size.

Default format: OutType::Signed

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.

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.

Raw encoding flag: _TlgInCcount indicates that field metadata contains a const-array-count slot.

Raw encoding flag: TlgInVcount indicates that field data contains a variable-array-count slot.

Raw encoding flag: _TlgInCustom indicates that the field uses a custom serializer.

Raw encoding flag: _TlgInTypeMask is a mask for the intype portion of the encoded byte.

Raw encoding flag: _TlgInFlagMask is a mask for the flags portion of the encoded byte.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Formats the value using the given formatter. Read more

Converts to this type from the input type.

Converts to this type from the input type.

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.