+\r
+/**\r
+ Locate HII Database protocol and HII Font protocol.\r
+\r
+ @retval EFI_SUCCESS HII Database protocol and HII Font protocol \r
+ are located successfully.\r
+ @return other Failed to locate HII Database protocol or \r
+ HII Font protocol.\r
+\r
+**/\r
+EFI_STATUS\r
+EfiLocateHiiProtocol (\r
+ VOID\r
+ );\r
+\r
+\r
+/**\r
+ Gets Graphics Console devcie's foreground color and background color.\r
+\r
+ @param This Protocol instance pointer.\r
+ @param Foreground Returned text foreground color.\r
+ @param Background Returned text background color.\r
+\r
+ @retval EFI_SUCCESS It returned always.\r
+\r
+**/\r
+EFI_STATUS\r
+GetTextColors (\r
+ IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
+ OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Foreground,\r
+ OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Background\r
+ );\r
+\r
+/**\r
+ Draw Unicode string on the Graphics Console device's screen.\r
+\r
+ @param This Protocol instance pointer.\r
+ @param UnicodeWeight One Unicode string to be displayed.\r
+ @param Count The count of Unicode string.\r
+\r
+ @retval EFI_OUT_OF_RESOURCES If no memory resource to use.\r
+ @retval EFI_UNSUPPORTED If no Graphics Output protocol and UGA Draw\r
+ protocol exist.\r
+ @retval EFI_SUCCESS Drawing Unicode string implemented successfully.\r
+\r
+**/\r
+EFI_STATUS\r
+DrawUnicodeWeightAtCursorN (\r
+ IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
+ IN CHAR16 *UnicodeWeight,\r
+ IN UINTN Count\r
+ );\r
+\r
+/**\r
+ Erase the cursor on the screen.\r
+\r
+ @param This Protocol instance pointer.\r
+\r
+ @retval EFI_SUCCESS The cursor is erased successfully.\r
+\r
+**/\r
+EFI_STATUS\r
+EraseCursor (\r
+ IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This\r
+ );\r
+\r
+/**\r
+ Check if the current specific mode supported the user defined resolution\r
+ for the Graphics Console device based on Graphics Output Protocol.\r
+\r
+ If yes, set the graphic device's current mode to this specific mode.\r
+ \r
+ @param GraphicsOutput Graphics Output Protocol instance pointer.\r
+ @param HorizontalResolution User defined horizontal resolution\r
+ @param VerticalResolution User defined vertical resolution.\r
+ @param CurrentModeNumber Current specific mode to be check.\r
+\r
+ @retval EFI_SUCCESS The mode is supported.\r
+ @retval EFI_UNSUPPORTED The specific mode is out of range of graphics \r
+ device supported.\r
+ @retval other The specific mode does not support user defined \r
+ resolution or failed to set the current mode to the \r
+ specific mode on graphics device.\r
+\r
+**/\r
+EFI_STATUS\r
+CheckModeSupported (\r
+ EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,\r
+ IN UINT32 HorizontalResolution,\r
+ IN UINT32 VerticalResolution,\r
+ OUT UINT32 *CurrentModeNumber\r
+ );\r
+\r