#pragma warning disable 169 // Field 'x' is never used #pragma warning disable 414 // Field 'x' is assigned but its value never used #pragma warning disable 649 // Field 'x' is never assigned #pragma warning disable IDE1006 // Naming Styles using System.Runtime.InteropServices; namespace RGB.NET.Devices.Corsair.Native; // ReSharper disable once InconsistentNaming /// /// iCUE-SDK: a union of all property data types /// [StructLayout(LayoutKind.Explicit)] internal struct _CorsairDataValue { #region Properties & Fields /// /// iCUE-SDK: actual property value if it’s type is CPDT_Boolean /// [FieldOffset(0)] internal bool boolean; /// /// iCUE-SDK: actual property value if it’s type is CPDT_Int32 /// [FieldOffset(0)] internal int int32; /// /// iCUE-SDK: actual property value if it’s type is CPDT_Float64 /// [FieldOffset(0)] internal double float64; /// /// iCUE-SDK: actual property value if it’s type is CPDT_String /// [FieldOffset(0)] internal nint @string; /// /// iCUE-SDK: actual property value if it’s type is CPDT_Boolean_Array /// [FieldOffset(0)] internal CorsairDataTypeBooleanArray booleanArray; /// /// iCUE-SDK: actual property value if it’s type is CPDT_Int32_Array /// [FieldOffset(0)] internal CorsairDataTypeInt32Array int32Array; /// /// iCUE-SDK: actual property value if it’s type is CPDT_Float64_Array /// [FieldOffset(0)] internal CorsairDataTypeFloat64Array float64Array; /// /// iCUE-SDK: actual property value if it’s type is CPDT_String_Array /// [FieldOffset(0)] internal CorsairDataTypeStringArray stringArray; #endregion #region Data Types /// /// iCUE: represents an array of boolean values /// [StructLayout(LayoutKind.Sequential)] internal struct CorsairDataTypeBooleanArray { /// /// iCUE: an array of boolean values /// internal nint items; /// /// iCUE: number of items array elements /// internal uint count; }; /// /// iCUE: represents an array of integer values /// [StructLayout(LayoutKind.Sequential)] internal struct CorsairDataTypeInt32Array { /// /// iCUE: an array of integer values /// internal nint items; /// /// iCUE: number of items array elements /// internal uint count; }; /// /// iCUE: represents an array of double values /// [StructLayout(LayoutKind.Sequential)] internal struct CorsairDataTypeFloat64Array { /// /// iCUE: an array of double values /// internal nint items; /// /// iCUE: number of items array elements /// internal uint count; }; /// /// iCUE: represents an array of pointers to null terminated strings /// [StructLayout(LayoutKind.Sequential)] internal struct CorsairDataTypeStringArray { /// /// iCUE: an array of pointers to null terminated strings /// internal nint items; /// /// iCUE: number of items array elements /// internal uint count; }; #endregion }