#include "HiiDatabase.h"\r
#include "UefiIfrDefault.h"\r
\r
-typedef struct {\r
- UINT8 *Buffer;\r
- UINTN BufferSize;\r
- UINTN Position;\r
-} HII_LIB_OPCODE_BUFFER;\r
-\r
/**\r
The dynamic creation of these opcodes is supported in Framework HII modules.\r
Therefore, Framework HII Thunk module only map these opcode between Framework\r
return EFI_NOT_FOUND;\r
}\r
\r
-\r
-\r
-#define HII_LIB_OPCODE_ALLOCATION_SIZE 0x200\r
-\r
-/**\r
- Append raw opcodes to an OpCodeHandle.\r
-\r
- If OpCodeHandle is NULL, then ASSERT().\r
- If RawBuffer is NULL, then ASSERT();\r
-\r
- @param[in] OpCodeHandle Handle to the buffer of opcodes.\r
- @param[in] RawBuffer Buffer of opcodes to append.\r
- @param[in] RawBufferSize The size, in bytes, of Buffer.\r
-\r
- @retval NULL There is not enough space left in Buffer to add the opcode.\r
- @retval Other A pointer to the appended opcodes.\r
-\r
-**/\r
-UINT8 *\r
-EFIAPI\r
-HiiThunkCreateRawOpCodes (\r
- IN VOID *OpCodeHandle,\r
- IN UINT8 *RawBuffer,\r
- IN UINTN RawBufferSize\r
- )\r
-{\r
- UINT8 *Buffer;\r
- HII_LIB_OPCODE_BUFFER *OpCodeBuffer;\r
-\r
- ASSERT (RawBuffer != NULL);\r
- ASSERT (OpCodeHandle != NULL);\r
-\r
- OpCodeBuffer = (HII_LIB_OPCODE_BUFFER *)OpCodeHandle;\r
- if (OpCodeBuffer->Position + RawBufferSize > OpCodeBuffer->BufferSize) {\r
- Buffer = ReallocatePool (\r
- OpCodeBuffer->BufferSize, \r
- OpCodeBuffer->BufferSize + (RawBufferSize + HII_LIB_OPCODE_ALLOCATION_SIZE),\r
- OpCodeBuffer->Buffer\r
- );\r
- if (Buffer == NULL) {\r
- return NULL;\r
- }\r
- OpCodeBuffer->Buffer = Buffer;\r
- OpCodeBuffer->BufferSize += (RawBufferSize + HII_LIB_OPCODE_ALLOCATION_SIZE);\r
- }\r
- Buffer = OpCodeBuffer->Buffer + OpCodeBuffer->Position;\r
- OpCodeBuffer->Position += RawBufferSize;\r
- \r
- return (UINT8 *)CopyMem (Buffer, RawBuffer, RawBufferSize);\r
-}\r
-\r
/**\r
Assign a Question ID.\r
\r
UTextOpCode.Statement.Prompt = FwOpcode->Text;\r
UTextOpCode.TextTwo = FwOpcode->TextTwo;\r
\r
- return HiiThunkCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UTextOpCode, sizeof(UTextOpCode));\r
+ return HiiCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UTextOpCode, sizeof(UTextOpCode));\r
} else {\r
//\r
// Iteractive Text Opcode is EFI_IFR_ACTION\r
//\r
UOpcode.Question.Flags = (UINT8) (FwOpcode->Flags & (FRAMEWORK_EFI_IFR_FLAG_INTERACTIVE | FRAMEWORK_EFI_IFR_FLAG_RESET_REQUIRED));\r
\r
- return HiiThunkCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcode, sizeof(UOpcode));\r
+ return HiiCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcode, sizeof(UOpcode));\r
}\r
\r
/**\r
return NULL;\r
}\r
\r
- return HiiThunkCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcode, sizeof(UOpcode));\r
+ return HiiCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcode, sizeof(UOpcode));\r
}\r
\r
/**\r
}\r
}\r
\r
- OneOfOpCodeBuffer = HiiThunkCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcode, sizeof (UOpcode));\r
+ OneOfOpCodeBuffer = HiiCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcode, sizeof (UOpcode));\r
if (OneOfOpCodeBuffer == NULL) {\r
return NULL;\r
}\r
}\r
}\r
\r
- OrderListOpCode = HiiThunkCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcode, sizeof(UOpcode));\r
+ OrderListOpCode = HiiCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcode, sizeof(UOpcode));\r
if (OrderListOpCode == NULL) {\r
return NULL;\r
}\r
//\r
UOpcode.Flags = (UINT8) (FwOpcode->Flags & (FRAMEWORK_EFI_IFR_FLAG_DEFAULT | FRAMEWORK_EFI_IFR_FLAG_MANUFACTURING));\r
\r
- return HiiThunkCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcode, sizeof(UOpcode));\r
+ return HiiCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcode, sizeof(UOpcode));\r
}\r
\r
\r
}\r
}\r
\r
- NumbericOpCode = HiiThunkCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcode, sizeof(UOpcode));\r
+ NumbericOpCode = HiiCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcode, sizeof(UOpcode));\r
if (NumbericOpCode == NULL) {\r
return NULL;\r
}\r
\r
CopyMem (&UOpcodeDefault.Value.u8, &FwOpcode->Default, FwOpcode->Width);\r
\r
- OpcodeBuffer = HiiThunkCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcodeDefault, sizeof(UOpcodeDefault));\r
+ OpcodeBuffer = HiiCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcodeDefault, sizeof(UOpcodeDefault));\r
if (OpcodeBuffer == NULL) {\r
return NULL;\r
}\r
UOpcode.MaxSize = FwOpcode->MaxSize;\r
UOpcode.Flags = EFI_IFR_STRING_MULTI_LINE;\r
\r
- return HiiThunkCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcode, sizeof(UOpcode));\r
+ return HiiCreateRawOpCodes (UefiUpdateDataHandle, (UINT8 *) &UOpcode, sizeof(UOpcode));\r
}\r
\r
/**\r