14STATIC CONST EFI_GUID *CfgGuidList[] = { &gEfiDriverConfigurationProtocolGuid, &gEfiDriverConfiguration2ProtocolGuid,
NULL };
34 UINTN HandleBufferSize;
43 ASSERT (DevPath1 !=
NULL);
44 ASSERT (HiiHandle !=
NULL);
45 ASSERT (*HiiHandle ==
NULL);
46 ASSERT (HiiDb !=
NULL);
50 Status = HiiDb->ListPackageLists (HiiDb, EFI_HII_PACKAGE_DEVICE_PATH,
NULL, &HandleBufferSize, HandleBuffer);
51 if (Status == EFI_BUFFER_TOO_SMALL) {
53 if (HandleBuffer ==
NULL) {
54 Status = EFI_OUT_OF_RESOURCES;
56 Status = HiiDb->ListPackageLists (HiiDb, EFI_HII_PACKAGE_DEVICE_PATH,
NULL, &HandleBufferSize, HandleBuffer);
60 if (EFI_ERROR (Status)) {
61 SHELL_FREE_NON_NULL (HandleBuffer);
65 if (HandleBuffer ==
NULL) {
69 for (LoopVariable = 0; LoopVariable < (HandleBufferSize/
sizeof (HandleBuffer[0])) && *HiiHandle ==
NULL; LoopVariable++) {
72 Status = HiiDb->ExportPackageLists (HiiDb, HandleBuffer[LoopVariable], &MainBufferSize, MainBuffer);
73 if (Status == EFI_BUFFER_TOO_SMALL) {
75 if (MainBuffer !=
NULL) {
76 Status = HiiDb->ExportPackageLists (HiiDb, HandleBuffer[LoopVariable], &MainBufferSize, MainBuffer);
80 if (EFI_ERROR (Status)) {
89 ; PackageListHeader !=
NULL && ((CHAR8 *)PackageListHeader) < (((CHAR8 *)MainBuffer)+MainBufferSize) && *HiiHandle ==
NULL
93 ; PackageHeader !=
NULL && ((CHAR8 *)PackageHeader) < (((CHAR8 *)MainBuffer)+MainBufferSize) && PackageHeader->Type != EFI_HII_PACKAGE_END && *HiiHandle ==
NULL
96 if (PackageHeader->Type == EFI_HII_PACKAGE_DEVICE_PATH) {
99 *HiiHandle = HandleBuffer[LoopVariable];
106 SHELL_FREE_NON_NULL (MainBuffer);
109 SHELL_FREE_NON_NULL (HandleBuffer);
111 if (*HiiHandle ==
NULL) {
112 return (EFI_NOT_FOUND);
137 if ((HiiHandle ==
NULL) || (HiiDb ==
NULL)) {
138 return (EFI_INVALID_PARAMETER);
143 if (Handle ==
NULL) {
148 Status =
gBS->OpenProtocol (Handle, &gEfiDevicePathProtocolGuid, (VOID **)&DevPath1,
gImageHandle,
NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);
149 if (EFI_ERROR (Status) || (DevPath1 ==
NULL)) {
150 return (EFI_NOT_FOUND);
171 UINTN MainBufferSize;
173 SHELL_FILE_HANDLE FileHandle;
180 Status =
ShellOpenFileByName (FileName, &FileHandle, EFI_FILE_MODE_READ|EFI_FILE_MODE_WRITE|EFI_FILE_MODE_CREATE, 0);
181 if (EFI_ERROR (Status)) {
187 gShellDriver1HiiHandle,
198 Status =
gBS->LocateProtocol (
199 &gEfiHiiDatabaseProtocolGuid,
201 (VOID **)&HiiDatabase
204 if (EFI_ERROR (Status) || (HiiDatabase ==
NULL)) {
210 gShellDriver1HiiHandle,
212 L
"EfiHiiDatabaseProtocol",
213 &gEfiHiiDatabaseProtocolGuid
221 if (EFI_ERROR (Status)) {
227 gShellDriver1HiiHandle,
236 Status = HiiDatabase->ExportPackageLists (HiiDatabase, HiiHandle, &MainBufferSize, MainBuffer);
237 if (Status == EFI_BUFFER_TOO_SMALL) {
239 if (MainBuffer ==
NULL) {
245 gShellDriver1HiiHandle,
252 Status = HiiDatabase->ExportPackageLists (HiiDatabase, HiiHandle, &MainBufferSize, MainBuffer);
253 if (EFI_ERROR (Status)) {
254 SHELL_FREE_NON_NULL (MainBuffer);
260 gShellDriver1HiiHandle,
268 Status =
ShellWriteFile (FileHandle, &MainBufferSize, MainBuffer);
271 SHELL_FREE_NON_NULL (MainBuffer);
273 if (EFI_ERROR (Status)) {
279 gShellDriver1HiiHandle,
291 gShellDriver1HiiHandle
313 UINTN MainBufferSize;
315 SHELL_FILE_HANDLE FileHandle;
316 CHAR16 *TempDevPathString;
330 if (EFI_ERROR (Status)) {
336 gShellDriver1HiiHandle,
349 Status =
gBS->LocateProtocol (
350 &gEfiHiiDatabaseProtocolGuid,
352 (VOID **)&HiiDatabase
355 if (EFI_ERROR (Status) || (HiiDatabase ==
NULL)) {
361 gShellDriver1HiiHandle,
363 L
"EfiHiiDatabaseProtocol",
364 &gEfiHiiDatabaseProtocolGuid
372 MainBufferSize = (
UINTN)Temp;
373 if (EFI_ERROR (Status)) {
379 gShellDriver1HiiHandle,
389 if (MainBuffer ==
NULL) {
395 gShellDriver1HiiHandle,
403 if (EFI_ERROR (Status)) {
409 gShellDriver1HiiHandle,
417 Status =
ShellReadFile (FileHandle, &MainBufferSize, MainBuffer);
418 if (EFI_ERROR (Status)) {
424 gShellDriver1HiiHandle,
436 if (Handle !=
NULL) {
442 if (EFI_ERROR (Status)) {
448 gShellDriver1HiiHandle,
458 Status = HiiDatabase->UpdatePackageList (HiiDatabase, HiiHandle, MainBuffer);
459 if (EFI_ERROR (Status)) {
465 gShellDriver1HiiHandle,
467 L
"HiiDatabase->UpdatePackageList",
480 ; PackageListHeader !=
NULL && ((CHAR8 *)PackageListHeader) < (((CHAR8 *)MainBuffer)+MainBufferSize)
484 ; PackageHeader !=
NULL && ((CHAR8 *)PackageHeader) < (((CHAR8 *)MainBuffer)+MainBufferSize) && PackageHeader->Type != EFI_HII_PACKAGE_END
487 if (PackageHeader->Type == EFI_HII_PACKAGE_DEVICE_PATH) {
490 if (EFI_ERROR (Status)) {
495 if (TempDevPathString ==
NULL) {
501 gShellDriver1HiiHandle,
514 gShellDriver1HiiHandle,
517 SHELL_FREE_NON_NULL (TempDevPathString);
519 Status = HiiDatabase->UpdatePackageList (HiiDatabase, HiiHandle, PackageListHeader);
520 if (EFI_ERROR (Status)) {
526 gShellDriver1HiiHandle,
528 L
"HiiDatabase->UpdatePackageList",
536 gBS->LocateDevicePath (&gEfiHiiConfigAccessProtocolGuid, &DevPath, &Handle);
543 gShellDriver1HiiHandle,
554 SHELL_FREE_NON_NULL (MainBuffer);
556 if (FileHandle !=
NULL) {
566 gShellDriver1HiiHandle
591 EFI_HANDLE ConnectControllerContextOverride[2];
593 switch (ActionRequired) {
603 gBS->DisconnectController (ControllerHandle, DriverImageHandle, ChildHandle);
612 gBS->DisconnectController (ControllerHandle, DriverImageHandle, ChildHandle);
613 ConnectControllerContextOverride[0] = DriverImageHandle;
614 ConnectControllerContextOverride[1] =
NULL;
615 gBS->ConnectController (ControllerHandle, ConnectControllerContextOverride,
NULL,
TRUE);
628 return (EFI_INVALID_PARAMETER);
653 IN BOOLEAN ForceDefaults,
654 IN UINT32 DefaultType,
655 IN BOOLEAN AllChildren,
656 IN BOOLEAN ValidateOptions,
657 IN BOOLEAN SetOptions,
665 UINTN OuterLoopCounter;
667 UINTN DriverImageHandleCount;
674 UINTN ChildHandleCount;
676 UINTN *ChildHandleType;
679 BOOLEAN Iso639Language;
686 if ((ChildHandle ==
NULL) && AllChildren) {
696 gShellDriver1HiiHandle,
699 }
else if (ValidateOptions) {
705 gShellDriver1HiiHandle
707 }
else if (SetOptions) {
713 gShellDriver1HiiHandle
717 if (DriverImageHandle == 0) {
719 if (DriverImageHandleBuffer ==
NULL) {
725 HandleBuffer = DriverImageHandleBuffer, DriverImageHandleCount = 0
726 ; HandleBuffer !=
NULL && *HandleBuffer !=
NULL
727 ; HandleBuffer++, DriverImageHandleCount++)
731 DriverImageHandleCount = 1;
737 if (DriverImageHandleBuffer ==
NULL) {
738 ASSERT (DriverImageHandleBuffer);
743 DriverImageHandleBuffer[0] = DriverImageHandle;
746 for (OuterLoopCounter = 0; OuterLoopCounter < DriverImageHandleCount; OuterLoopCounter++) {
747 Iso639Language =
FALSE;
748 Status =
gBS->OpenProtocol (
749 DriverImageHandleBuffer[OuterLoopCounter],
750 &gEfiDriverConfiguration2ProtocolGuid,
751 (VOID **)&DriverConfiguration,
754 EFI_OPEN_PROTOCOL_GET_PROTOCOL
756 if (EFI_ERROR (Status)) {
757 Iso639Language =
TRUE;
758 Status =
gBS->OpenProtocol (
759 DriverImageHandleBuffer[OuterLoopCounter],
760 &gEfiDriverConfigurationProtocolGuid,
761 (VOID **)&DriverConfiguration,
764 EFI_OPEN_PROTOCOL_GET_PROTOCOL
768 if (EFI_ERROR (Status)) {
782 DriverConfiguration->SupportedLanguages,
784 Language !=
NULL ? Language :
"",
785 DriverConfiguration->SupportedLanguages,
788 if (BestLanguage ==
NULL) {
794 gShellDriver1HiiHandle,
803 DriverImageHandleBuffer[OuterLoopCounter],
809 if (EFI_ERROR (Status)) {
813 if (SetOptions && (DeviceHandle ==
NULL)) {
815 Status = DriverConfiguration->SetOptions (
829 gShellDriver1HiiHandle,
831 DriverConfiguration->SupportedLanguages
833 if (!EFI_ERROR (Status)) {
839 gShellDriver1HiiHandle
841 for (LoopCounter = 0; LoopCounter < HandleCount; LoopCounter++) {
842 if ((HandleType[LoopCounter] & HR_CONTROLLER_HANDLE) == HR_CONTROLLER_HANDLE) {
844 DriverImageHandleBuffer[OuterLoopCounter],
845 HandleBuffer[LoopCounter],
857 gShellDriver1HiiHandle,
865 for (LoopCounter = 0; LoopCounter < HandleCount; LoopCounter++) {
866 if ((HandleType[LoopCounter] & HR_CONTROLLER_HANDLE) != HR_CONTROLLER_HANDLE) {
870 if ((DeviceHandle !=
NULL) && (DeviceHandle != HandleBuffer[LoopCounter])) {
874 if (ChildHandle ==
NULL) {
882 gShellDriver1HiiHandle,
885 DriverConfiguration->SupportedLanguages
889 Status = DriverConfiguration->ForceDefaults (
891 HandleBuffer[LoopCounter],
897 if (!EFI_ERROR (Status)) {
903 gShellDriver1HiiHandle
906 DriverImageHandleBuffer[OuterLoopCounter],
907 HandleBuffer[LoopCounter],
917 gShellDriver1HiiHandle,
922 }
else if (ValidateOptions) {
923 Status = DriverConfiguration->OptionsValid (
925 HandleBuffer[LoopCounter],
929 if (!EFI_ERROR (Status)) {
935 gShellDriver1HiiHandle
943 gShellDriver1HiiHandle,
948 }
else if (SetOptions) {
950 Status = DriverConfiguration->SetOptions (
952 HandleBuffer[LoopCounter],
965 gShellDriver1HiiHandle,
968 DriverConfiguration->SupportedLanguages
970 if (!EFI_ERROR (Status)) {
976 gShellDriver1HiiHandle
980 DriverImageHandleBuffer[OuterLoopCounter],
981 HandleBuffer[LoopCounter],
991 gShellDriver1HiiHandle,
1001 if ((ChildHandle ==
NULL) && !AllChildren) {
1006 DriverImageHandleBuffer[OuterLoopCounter],
1007 HandleBuffer[LoopCounter],
1012 if (EFI_ERROR (Status)) {
1016 for (ChildIndex = 0; ChildIndex < ChildHandleCount; ChildIndex++) {
1017 if ((ChildHandleType[ChildIndex] & HR_CHILD_HANDLE) != HR_CHILD_HANDLE) {
1021 if ((ChildHandle !=
NULL) && (ChildHandle != ChildHandleBuffer[ChildIndex])) {
1033 gShellDriver1HiiHandle,
1037 DriverConfiguration->SupportedLanguages
1040 if (ForceDefaults) {
1041 Status = DriverConfiguration->ForceDefaults (
1042 DriverConfiguration,
1043 HandleBuffer[LoopCounter],
1044 ChildHandleBuffer[ChildIndex],
1049 if (!EFI_ERROR (Status)) {
1055 gShellDriver1HiiHandle
1059 DriverImageHandleBuffer[OuterLoopCounter],
1060 HandleBuffer[LoopCounter],
1061 ChildHandleBuffer[ChildIndex],
1070 gShellDriver1HiiHandle,
1075 }
else if (ValidateOptions) {
1076 Status = DriverConfiguration->OptionsValid (
1077 DriverConfiguration,
1078 HandleBuffer[LoopCounter],
1079 ChildHandleBuffer[ChildIndex]
1082 if (!EFI_ERROR (Status)) {
1088 gShellDriver1HiiHandle
1096 gShellDriver1HiiHandle,
1101 }
else if (SetOptions) {
1103 Status = DriverConfiguration->SetOptions (
1104 DriverConfiguration,
1105 HandleBuffer[LoopCounter],
1106 ChildHandleBuffer[ChildIndex],
1119 gShellDriver1HiiHandle,
1123 DriverConfiguration->SupportedLanguages
1125 if (!EFI_ERROR (Status)) {
1131 gShellDriver1HiiHandle
1135 DriverImageHandleBuffer[OuterLoopCounter],
1136 HandleBuffer[LoopCounter],
1137 ChildHandleBuffer[ChildIndex],
1146 gShellDriver1HiiHandle,
1165 if ((DriverImageHandle !=
NULL) && (DriverImageHandleCount != 0)) {
1166 FreePool (DriverImageHandleBuffer);
1196 CurrentHandle =
NULL;
1203 for (CurrentHandle = HandleList; CurrentHandle !=
NULL && *CurrentHandle !=
NULL; CurrentHandle++) {
1211 gShellDriver1HiiHandle,
1216 SHELL_FREE_NON_NULL (HandleList);
1274 CHAR16 *ProblemParam;
1278 CONST CHAR16 *HandleIndex1;
1279 CONST CHAR16 *HandleIndex2;
1280 CONST CHAR16 *HandleIndex3;
1281 CONST CHAR16 *ForceTypeString;
1287 BOOLEAN AllChildren;
1290 UINT64 Intermediate;
1294 CONST CHAR16 *FileName;
1300 ProblemParam =
NULL;
1317 if (Package !=
NULL) {
1321 SHELL_FREE_NON_NULL (ProblemParam);
1323 if (EFI_ERROR (Status)) {
1324 if ((Status == EFI_VOLUME_CORRUPTED) && (ProblemParam !=
NULL)) {
1345 if (Language ==
NULL) {
1367 }
else if (InFromFile) {
1373 if (FileName ==
NULL) {
1374 ASSERT (FileName !=
NULL);
1391 if (Force && (ForceTypeString ==
NULL)) {
1399 if (EFI_ERROR (Status)) {
1405 ForceType = (UINT32)Intermediate;
1414 if ((Handle1 ==
NULL) || ((UINT64)(
UINTN)Intermediate != Intermediate)) {
1425 if ((Handle2 ==
NULL) || ((UINT64)(
UINTN)Intermediate != Intermediate)) {
1436 if ((Handle3 ==
NULL) || ((UINT64)(
UINTN)Intermediate != Intermediate)) {
1443 if ((InFromFile || OutToFile) && (FileName ==
NULL)) {
1444 if (FileName ==
NULL) {
1454 if (!UseHii && (InFromFile || OutToFile)) {
1468 if (Validate && Force) {
1474 if (Validate &&
Set) {
1486 if (OutToFile && InFromFile) {
1496 if ((Handle1 !=
NULL) && EFI_ERROR (
gBS->OpenProtocol (Handle1, &gEfiHiiConfigAccessProtocolGuid,
NULL,
gImageHandle,
NULL, EFI_OPEN_PROTOCOL_TEST_PROTOCOL))) {
1501 }
else if (Validate) {
1504 }
else if (InFromFile) {
1509 }
else if (OutToFile) {
1514 }
else if (HandleIndex1 ==
NULL) {
1521 if (!EFI_ERROR (
gBS->OpenProtocol (Handle1, &gEfiHiiConfigAccessProtocolGuid,
NULL,
gImageHandle,
NULL, EFI_OPEN_PROTOCOL_TEST_PROTOCOL))) {
1527 gShellDriver1HiiHandle,
1538 if (!InFromFile && !OutToFile) {
1558 gShellDriver1HiiHandle,
1566 SHELL_FREE_NON_NULL (Language);
1567 return (ShellStatus);
UINTN EFIAPI StrSize(IN CONST CHAR16 *String)
CHAR16 *EFIAPI ConvertDevicePathToText(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath, IN BOOLEAN DisplayOnly, IN BOOLEAN AllowShortcuts)
EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED
@ EfiDriverConfigurationActionNone
@ EfiDriverConfigurationActionRestartPlatform
@ EfiDriverConfigurationActionRestartController
@ EfiDriverConfigurationActionStopController
EFI_STATUS ShellCmdDriverConfigurationProcessActionRequired(EFI_HANDLE DriverImageHandle, EFI_HANDLE ControllerHandle, EFI_HANDLE ChildHandle, EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED ActionRequired)
SHELL_STATUS ConfigFromFile(IN EFI_HANDLE Handle, IN CONST CHAR16 *FileName)
SHELL_STATUS PreHiiDrvCfg(IN CONST CHAR8 *Language, IN BOOLEAN ForceDefaults, IN UINT32 DefaultType, IN BOOLEAN AllChildren, IN BOOLEAN ValidateOptions, IN BOOLEAN SetOptions, IN EFI_HANDLE DriverImageHandle, IN EFI_HANDLE DeviceHandle, IN EFI_HANDLE ChildHandle)
SHELL_STATUS EFIAPI ShellCommandRunDrvCfg(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
SHELL_STATUS ConfigToFile(IN CONST EFI_HANDLE Handle, IN CONST CHAR16 *FileName)
EFI_STATUS ConvertHandleToHiiHandle(IN CONST EFI_HANDLE Handle, OUT EFI_HII_HANDLE *HiiHandle, IN EFI_HII_DATABASE_PROTOCOL *HiiDb)
SHELL_STATUS PrintConfigInfoOnAll(IN CONST BOOLEAN ChildrenToo, IN CONST CHAR8 *Language, IN CONST BOOLEAN UseHii)
EFI_STATUS FindHiiHandleViaDevPath(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevPath1, OUT EFI_HII_HANDLE *HiiHandle, IN EFI_HII_DATABASE_PROTOCOL *HiiDb)
VOID *EFIAPI AllocateZeroPool(IN UINTN AllocationSize)
VOID EFIAPI FreePool(IN VOID *Buffer)
EFI_STATUS EFIAPI ParseHandleDatabaseByRelationshipWithType(IN CONST EFI_HANDLE DriverBindingHandle OPTIONAL, IN CONST EFI_HANDLE ControllerHandle OPTIONAL, IN UINTN *HandleCount, OUT EFI_HANDLE **HandleBuffer, OUT UINTN **HandleType)
EFI_HANDLE EFIAPI ConvertHandleIndexToHandle(IN CONST UINTN TheIndex)
UINTN EFIAPI ConvertHandleToHandleIndex(IN CONST EFI_HANDLE TheHandle)
EFI_HANDLE *EFIAPI GetHandleListByProtocolList(IN CONST EFI_GUID **ProtocolGuids)
EFI_HANDLE *EFIAPI GetHandleListByProtocol(IN CONST EFI_GUID *ProtocolGuid OPTIONAL)
UINTN EFIAPI AsciiSPrint(OUT CHAR8 *StartOfBuffer, IN UINTN BufferSize, IN CONST CHAR8 *FormatString,...)
EFI_RUNTIME_SERVICES * gRT
#define ASSERT_EFI_ERROR(StatusParameter)
@ SHELL_INVALID_PARAMETER
EFI_STATUS EFIAPI Set(IN EMBEDDED_GPIO *This, IN EMBEDDED_GPIO_PIN Gpio, IN EMBEDDED_GPIO_MODE Mode)
VOID *EFIAPI AllocatePool(IN UINTN AllocationSize)
EFI_STATUS EFIAPI CommandInit(VOID)
EFI_STATUS EFIAPI ShellGetFileSize(IN SHELL_FILE_HANDLE FileHandle, OUT UINT64 *Size)
CONST CHAR16 *EFIAPI ShellCommandLineGetValue(IN CONST LIST_ENTRY *CheckPackage, IN CHAR16 *KeyString)
#define ShellCommandLineParse(CheckList, CheckPackage, ProblemParam, AutoPageBreak)
Make it easy to upgrade from older versions of the shell library.
EFI_STATUS EFIAPI ShellPrintHiiEx(IN INT32 Col OPTIONAL, IN INT32 Row OPTIONAL, IN CONST CHAR8 *Language OPTIONAL, IN CONST EFI_STRING_ID HiiFormatStringId, IN CONST EFI_HII_HANDLE HiiFormatHandle,...)
BOOLEAN EFIAPI ShellCommandLineGetFlag(IN CONST LIST_ENTRY *CONST CheckPackage, IN CONST CHAR16 *CONST KeyString)
@ TypeValue
A flag that has some data following it with a space (IE "-a 1").
@ TypeFlag
A flag that is present or not present only (IE "-a").
EFI_STATUS EFIAPI ShellOpenFileByName(IN CONST CHAR16 *FileName, OUT SHELL_FILE_HANDLE *FileHandle, IN UINT64 OpenMode, IN UINT64 Attributes)
EFI_STATUS EFIAPI ShellPromptForResponse(IN SHELL_PROMPT_REQUEST_TYPE Type, IN CHAR16 *Prompt OPTIONAL, IN OUT VOID **Response OPTIONAL)
EFI_STATUS EFIAPI ShellFileExists(IN CONST CHAR16 *Name)
VOID EFIAPI ShellCommandLineFreeVarList(IN LIST_ENTRY *CheckPackage)
EFI_STATUS EFIAPI ShellInitialize(VOID)
CONST CHAR16 *EFIAPI ShellCommandLineGetRawValue(IN CONST LIST_ENTRY *CONST CheckPackage, IN UINTN Position)
UINTN EFIAPI ShellCommandLineGetCount(IN CONST LIST_ENTRY *CheckPackage)
EFI_STATUS EFIAPI ShellConvertStringToUint64(IN CONST CHAR16 *String, OUT UINT64 *Value, IN CONST BOOLEAN ForceHex, IN CONST BOOLEAN StopAtSpace)
EFI_STATUS EFIAPI ShellWriteFile(IN SHELL_FILE_HANDLE FileHandle, IN OUT UINTN *BufferSize, IN VOID *Buffer)
EFI_STATUS EFIAPI ShellCloseFile(IN SHELL_FILE_HANDLE *FileHandle)
EFI_STATUS EFIAPI ShellReadFile(IN SHELL_FILE_HANDLE FileHandle, IN OUT UINTN *ReadSize, OUT VOID *Buffer)
INTN EFIAPI DevicePathCompare(IN CONST VOID *Buffer1, IN CONST VOID *Buffer2)
UINTN EFIAPI Print(IN CONST CHAR16 *Format,...)
CHAR8 *EFIAPI GetBestLanguage(IN CONST CHAR8 *SupportedLanguages, IN UINTN Iso639Language,...)
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL * ConOut