/* If OpCodeHandle is NULL, then ASSERT(). If Type is invalid, then ASSERT(). If Flags is invalid, then ASSERT(). */
UINT8* EFIAPI HiiCreateOneOfOptionOpCode(IN VOID *OpCodeHandle, IN UINT16 StringId, IN UINT8 Flags, IN UINT8 Type, IN UINT64 Value)
/* If OpCodeHandle is NULL, then ASSERT(). If Type is invalid, then ASSERT(). If Flags is invalid, then ASSERT(). */
UINT8* EFIAPI HiiCreateOneOfOptionOpCode(IN VOID *OpCodeHandle, IN UINT16 StringId, IN UINT8 Flags, IN UINT8 Type, IN UINT64 Value)
{
  EFI_IFR_ONE_OF_OPTION  OpCode;
  ASSERT (Type < EFI_IFR_TYPE_OTHER);
  ZeroMem (&OpCode, sizeof (OpCode));
  OpCode.Option = StringId;
  OpCode.Flags  = (UINT8)(Flags & (EFI_IFR_OPTION_DEFAULT | EFI_IFR_OPTION_DEFAULT_MFG));
  OpCode.Type   = Type;
  CopyMem (&OpCode.Value, &Value, mHiiDefaultTypeToWidth[Type]);
  return InternalHiiCreateOpCode (OpCodeHandle, &OpCode, EFI_IFR_ONE_OF_OPTION_OP, OFFSET_OF (EFI_IFR_ONE_OF_OPTION, Value) + mHiiDefaultTypeToWidth[Type]);
}