+/**\r
+ Create EFI_IFR_TEXT_OP opcode.\r
+\r
+ If OpCodeHandle is NULL, then ASSERT().\r
+\r
+ @param[in] OpCodeHandle Handle to the buffer of opcodes.\r
+ @param[in] Prompt String ID for Prompt.\r
+ @param[in] Help String ID for Help.\r
+ @param[in] TextTwo String ID for TextTwo.\r
+\r
+ @retval NULL There is not enough space left in Buffer to add the opcode.\r
+ @retval Other A pointer to the created opcode.\r
+\r
+**/\r
+UINT8 *\r
+EFIAPI\r
+HiiCreateTextOpCode (\r
+ IN VOID *OpCodeHandle,\r
+ IN EFI_STRING_ID Prompt,\r
+ IN EFI_STRING_ID Help,\r
+ IN EFI_STRING_ID TextTwo\r
+ );\r
+\r
+/**\r
+ Create EFI_IFR_DATE_OP opcode.\r
+\r
+ If OpCodeHandle is NULL, then ASSERT().\r
+ If any reserved bits are set in QuestionFlags, then ASSERT().\r
+ If any reserved bits are set in DateFlags, then ASSERT().\r
+\r
+ @param[in] OpCodeHandle Handle to the buffer of opcodes.\r
+ @param[in] QuestionId Question ID\r
+ @param[in] VarStoreId Storage ID, optional. If DateFlags is not\r
+ QF_DATE_STORAGE_NORMAL, this parameter is ignored.\r
+ @param[in] VarOffset Offset in Storage, optional. If DateFlags is not\r
+ QF_DATE_STORAGE_NORMAL, this parameter is ignored.\r
+ @param[in] Prompt String ID for Prompt\r
+ @param[in] Help String ID for Help\r
+ @param[in] QuestionFlags Flags in Question Header\r
+ @param[in] DateFlags Flags for date opcode\r
+ @param[in] DefaultsOpCodeHandle Handle for a buffer of DEFAULT opcodes. This\r
+ is an optional parameter that may be NULL.\r
+\r
+ @retval NULL There is not enough space left in Buffer to add the opcode.\r
+ @retval Other A pointer to the created opcode.\r
+\r
+**/\r
+UINT8 *\r
+EFIAPI\r
+HiiCreateDateOpCode (\r
+ IN VOID *OpCodeHandle,\r
+ IN EFI_QUESTION_ID QuestionId,\r
+ IN EFI_VARSTORE_ID VarStoreId, OPTIONAL\r
+ IN UINT16 VarOffset, OPTIONAL\r
+ IN EFI_STRING_ID Prompt,\r
+ IN EFI_STRING_ID Help,\r
+ IN UINT8 QuestionFlags,\r
+ IN UINT8 DateFlags,\r
+ IN VOID *DefaultsOpCodeHandle OPTIONAL\r
+ );\r
+\r
+/**\r
+ Create EFI_IFR_TIME_OP opcode.\r
+\r
+ If OpCodeHandle is NULL, then ASSERT().\r
+ If any reserved bits are set in QuestionFlags, then ASSERT().\r
+ If any reserved bits are set in TimeFlags, then ASSERT().\r
+\r
+ @param[in] OpCodeHandle Handle to the buffer of opcodes.\r
+ @param[in] QuestionId Question ID\r
+ @param[in] VarStoreId Storage ID, optional. If TimeFlags is not\r
+ QF_TIME_STORAGE_NORMAL, this parameter is ignored.\r
+ @param[in] VarOffset Offset in Storage, optional. If TimeFlags is not\r
+ QF_TIME_STORAGE_NORMAL, this parameter is ignored.\r
+ @param[in] Prompt String ID for Prompt\r
+ @param[in] Help String ID for Help\r
+ @param[in] QuestionFlags Flags in Question Header\r
+ @param[in] TimeFlags Flags for time opcode\r
+ @param[in] DefaultsOpCodeHandle Handle for a buffer of DEFAULT opcodes. This\r
+ is an optional parameter that may be NULL.\r
+\r
+ @retval NULL There is not enough space left in Buffer to add the opcode.\r
+ @retval Other A pointer to the created opcode.\r
+\r
+**/\r
+UINT8 *\r
+EFIAPI\r
+HiiCreateTimeOpCode (\r
+ IN VOID *OpCodeHandle,\r
+ IN EFI_QUESTION_ID QuestionId,\r
+ IN EFI_VARSTORE_ID VarStoreId, OPTIONAL\r
+ IN UINT16 VarOffset, OPTIONAL\r
+ IN EFI_STRING_ID Prompt,\r
+ IN EFI_STRING_ID Help,\r
+ IN UINT8 QuestionFlags,\r
+ IN UINT8 TimeFlags,\r
+ IN VOID *DefaultsOpCodeHandle OPTIONAL\r
+ );\r
+\r