/netcore/System.Private.CoreLib/shared/System/Diagnostics/Tracing/TraceLogging/TraceLoggingDataType.cs
C# | 351 lines | 62 code | 43 blank | 246 comment | 0 complexity | 7475342578c2efbcd4ab1507bc8c6fe1 MD5 | raw file
- // 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.
- #if ES_BUILD_STANDALONE
- using System;
- #endif
- #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
- /// 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)
- }
- }