diff options
Diffstat (limited to 'src/mscorlib/shared/System/Diagnostics/Tracing/TraceLogging/TraceLoggingDataType.cs')
-rw-r--r-- | src/mscorlib/shared/System/Diagnostics/Tracing/TraceLogging/TraceLoggingDataType.cs | 349 |
1 files changed, 349 insertions, 0 deletions
diff --git a/src/mscorlib/shared/System/Diagnostics/Tracing/TraceLogging/TraceLoggingDataType.cs b/src/mscorlib/shared/System/Diagnostics/Tracing/TraceLogging/TraceLoggingDataType.cs new file mode 100644 index 0000000000..529948daf8 --- /dev/null +++ b/src/mscorlib/shared/System/Diagnostics/Tracing/TraceLogging/TraceLoggingDataType.cs @@ -0,0 +1,349 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; + +#if ES_BUILD_STANDALONE +namespace Microsoft.Diagnostics.Tracing +#else +namespace System.Diagnostics.Tracing +#endif +{ + /// <summary> + /// TraceLogging: Used when implementing a custom TraceLoggingTypeInfo. + /// These are passed to metadataCollector.Add to specify the low-level + /// type of a field in the event payload. Note that a "formatted" + /// TraceLoggingDataType consists of a core TraceLoggingDataType value + /// (a TraceLoggingDataType with a value less than 32) plus an OutType. + /// Any combination of TraceLoggingDataType + OutType is valid, but not + /// all are useful. In particular, combinations not explicitly listed + /// below are unlikely to be recognized by decoders, and will typically + /// be decoded as the corresponding core type (i.e. the decoder will + /// mask off any unrecognized OutType value). + /// </summary> + internal enum TraceLoggingDataType + { + /// <summary> + /// Core type. + /// Data type with no value (0-length payload). + /// NOTE: arrays of Nil are illegal. + /// NOTE: a fixed-length array of Nil is interpreted by the decoder as + /// a struct (obsolete but retained for backwards-compatibility). + /// </summary> + Nil = 0, + + /// <summary> + /// Core type. + /// Encoding assumes null-terminated Char16 string. + /// Decoding treats as UTF-16LE string. + /// </summary> + Utf16String = 1, + + /// <summary> + /// Core type. + /// Encoding assumes null-terminated Char8 string. + /// Decoding treats as MBCS string. + /// </summary> + MbcsString = 2, + + /// <summary> + /// Core type. + /// Encoding assumes 8-bit value. + /// Decoding treats as signed integer. + /// </summary> + Int8 = 3, + + /// <summary> + /// Core type. + /// Encoding assumes 8-bit value. + /// Decoding treats as unsigned integer. + /// </summary> + UInt8 = 4, + + /// <summary> + /// Core type. + /// Encoding assumes 16-bit value. + /// Decoding treats as signed integer. + /// </summary> + Int16 = 5, + + /// <summary> + /// Core type. + /// Encoding assumes 16-bit value. + /// Decoding treats as unsigned integer. + /// </summary> + UInt16 = 6, + + /// <summary> + /// Core type. + /// Encoding assumes 32-bit value. + /// Decoding treats as signed integer. + /// </summary> + Int32 = 7, + + /// <summary> + /// Core type. + /// Encoding assumes 32-bit value. + /// Decoding treats as unsigned integer. + /// </summary> + UInt32 = 8, + + /// <summary> + /// Core type. + /// Encoding assumes 64-bit value. + /// Decoding treats as signed integer. + /// </summary> + Int64 = 9, + + /// <summary> + /// Core type. + /// Encoding assumes 64-bit value. + /// Decoding treats as unsigned integer. + /// </summary> + UInt64 = 10, + + /// <summary> + /// Core type. + /// Encoding assumes 32-bit value. + /// Decoding treats as Float. + /// </summary> + Float = 11, + + /// <summary> + /// Core type. + /// Encoding assumes 64-bit value. + /// Decoding treats as Double. + /// </summary> + Double = 12, + + /// <summary> + /// Core type. + /// Encoding assumes 32-bit value. + /// Decoding treats as Boolean. + /// </summary> + Boolean32 = 13, + + /// <summary> + /// Core type. + /// Encoding assumes 16-bit bytecount followed by binary data. + /// Decoding treats as binary data. + /// </summary> + Binary = 14, + + /// <summary> + /// Core type. + /// Encoding assumes 16-byte value. + /// Decoding treats as GUID. + /// </summary> + Guid = 15, + + /// <summary> + /// Core type. + /// Encoding assumes 64-bit value. + /// Decoding treats as FILETIME. + /// </summary> + FileTime = 17, + + /// <summary> + /// Core type. + /// Encoding assumes 16-byte value. + /// Decoding treats as SYSTEMTIME. + /// </summary> + SystemTime = 18, + + /// <summary> + /// Core type. + /// Encoding assumes 32-bit value. + /// Decoding treats as hexadecimal unsigned integer. + /// </summary> + HexInt32 = 20, + + /// <summary> + /// Core type. + /// Encoding assumes 64-bit value. + /// Decoding treats as hexadecimal unsigned integer. + /// </summary> + HexInt64 = 21, + + /// <summary> + /// Core type. + /// Encoding assumes 16-bit bytecount followed by Char16 data. + /// Decoding treats as UTF-16LE string. + /// </summary> + CountedUtf16String = 22, + + /// <summary> + /// Core type. + /// Encoding assumes 16-bit bytecount followed by Char8 data. + /// Decoding treats as MBCS string. + /// </summary> + CountedMbcsString = 23, + + /// <summary> + /// Core type. + /// Special case: Struct indicates that this field plus the the + /// subsequent N logical fields are to be considered as one logical + /// field (i.e. a nested structure). The OutType is used to encode N. + /// The maximum value for N is 127. This field has no payload by + /// itself, but logically contains the payload of the following N + /// fields. It is legal to have an array of Struct. + /// </summary> + Struct = 24, + + /// <summary> + /// Formatted type. + /// Encoding assumes 16-bit value. + /// Decoding treats as UTF-16LE character. + /// </summary> + Char16 = UInt16 + (EventFieldFormat.String << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes 8-bit value. + /// Decoding treats as character. + /// </summary> + Char8 = UInt8 + (EventFieldFormat.String << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes 8-bit value. + /// Decoding treats as Boolean. + /// </summary> + Boolean8 = UInt8 + (EventFieldFormat.Boolean << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes 8-bit value. + /// Decoding treats as hexadecimal unsigned integer. + /// </summary> + HexInt8 = UInt8 + (EventFieldFormat.Hexadecimal << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes 16-bit value. + /// Decoding treats as hexadecimal unsigned integer. + /// </summary> + HexInt16 = UInt16 + (EventFieldFormat.Hexadecimal << 8), + +#if false + /// <summary> + /// Formatted type. + /// Encoding assumes 32-bit value. + /// Decoding treats as process identifier. + /// </summary> + ProcessId = UInt32 + (EventSourceFieldFormat.ProcessId << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes 32-bit value. + /// Decoding treats as thread identifier. + /// </summary> + ThreadId = UInt32 + (EventSourceFieldFormat.ThreadId << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes 16-bit value. + /// Decoding treats as IP port. + /// </summary> + Port = UInt16 + (EventSourceFieldFormat.Port << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes 32-bit value. + /// Decoding treats as IPv4 address. + /// </summary> + Ipv4Address = UInt32 + (EventSourceFieldFormat.Ipv4Address << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes 16-bit bytecount followed by binary data. + /// Decoding treats as IPv6 address. + /// </summary> + Ipv6Address = Binary + (EventSourceFieldFormat.Ipv6Address << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes 16-bit bytecount followed by binary data. + /// Decoding treats as SOCKADDR. + /// </summary> + SocketAddress = Binary + (EventSourceFieldFormat.SocketAddress << 8), +#endif + /// <summary> + /// Formatted type. + /// Encoding assumes null-terminated Char16 string. + /// Decoding treats as UTF-16LE XML string. + /// </summary> + Utf16Xml = Utf16String + (EventFieldFormat.Xml << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes null-terminated Char8 string. + /// Decoding treats as MBCS XML string. + /// </summary> + MbcsXml = MbcsString + (EventFieldFormat.Xml << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes 16-bit bytecount followed by Char16 data. + /// Decoding treats as UTF-16LE XML. + /// </summary> + CountedUtf16Xml = CountedUtf16String + (EventFieldFormat.Xml << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes 16-bit bytecount followed by Char8 data. + /// Decoding treats as MBCS XML. + /// </summary> + CountedMbcsXml = CountedMbcsString + (EventFieldFormat.Xml << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes null-terminated Char16 string. + /// Decoding treats as UTF-16LE JSON string. + /// </summary> + Utf16Json = Utf16String + (EventFieldFormat.Json << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes null-terminated Char8 string. + /// Decoding treats as MBCS JSON string. + /// </summary> + MbcsJson = MbcsString + (EventFieldFormat.Json << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes 16-bit bytecount followed by Char16 data. + /// Decoding treats as UTF-16LE JSON. + /// </summary> + CountedUtf16Json = CountedUtf16String + (EventFieldFormat.Json << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes 16-bit bytecount followed by Char8 data. + /// Decoding treats as MBCS JSON. + /// </summary> + CountedMbcsJson = CountedMbcsString + (EventFieldFormat.Json << 8), +#if false + /// <summary> + /// Formatted type. + /// Encoding assumes 32-bit value. + /// Decoding treats as Win32 error. + /// </summary> + Win32Error = UInt32 + (EventSourceFieldFormat.Win32Error << 8), + + /// <summary> + /// Formatted type. + /// Encoding assumes 32-bit value. + /// Decoding treats as NTSTATUS. + /// </summary> + NTStatus = UInt32 + (EventSourceFieldFormat.NTStatus << 8), +#endif + /// <summary> + /// Formatted type. + /// Encoding assumes 32-bit value. + /// Decoding treats as HRESULT. + /// </summary> + HResult = Int32 + (EventFieldFormat.HResult << 8) + } +} |