namespace SabreTools.Models.CFB
{
///
/// VARIANT is a container for a union that can hold many types of data.
///
///
public sealed class Variant
{
///
/// MUST be set to the size, in quad words (64 bits), of the structure.
///
public uint Size { get; set; }
///
/// MUST be set to 0 and MUST be ignored by the recipient.
///
public uint RpcReserved { get; set; }
///
/// MUST be set to one of the values specified with a "V".
///
public VariantType VariantType { get; set; }
///
/// MAY be set to 0 and MUST be ignored by the recipient.
///
public ushort Reserved1 { get; set; }
///
/// MAY be set to 0 and MUST be ignored by the recipient.
///
public ushort Reserved2 { get; set; }
///
/// MAY be set to 0 and MUST be ignored by the recipient.
///
public ushort Reserved3 { get; set; }
///
/// MUST contain an instance of the type, according to the value
/// in the field.
///
#if NET48
public object Union { get; set; }
#else
public object? Union { get; set; }
#endif
}
}