\r
#include "UefiShellDriver1CommandsLib.h"\r
\r
-#define MAX_LEN_DRIVER_NAME 35\r
+#define MAX_LEN_DRIVER_NAME 35\r
\r
-STATIC CONST SHELL_PARAM_ITEM ParamList[] = {\r
- {L"-sfo", TypeFlag},\r
- {L"-l", TypeValue},\r
- {NULL, TypeMax}\r
- };\r
+STATIC CONST SHELL_PARAM_ITEM ParamList[] = {\r
+ { L"-sfo", TypeFlag },\r
+ { L"-l", TypeValue },\r
+ { NULL, TypeMax }\r
+};\r
\r
/**\r
Get a device path (in text format) for a given handle.\r
@return A pointer to the driver path as a string. The callee must\r
free this memory.\r
**/\r
-CHAR16*\r
-GetDevicePathTextForHandle(\r
- IN EFI_HANDLE TheHandle\r
+CHAR16 *\r
+GetDevicePathTextForHandle (\r
+ IN EFI_HANDLE TheHandle\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_LOADED_IMAGE_PROTOCOL *LoadedImage;\r
- EFI_DEVICE_PATH_PROTOCOL *ImageDevicePath;\r
- EFI_DEVICE_PATH_PROTOCOL *FinalPath;\r
- CHAR16 *RetVal;\r
+ EFI_STATUS Status;\r
+ EFI_LOADED_IMAGE_PROTOCOL *LoadedImage;\r
+ EFI_DEVICE_PATH_PROTOCOL *ImageDevicePath;\r
+ EFI_DEVICE_PATH_PROTOCOL *FinalPath;\r
+ CHAR16 *RetVal;\r
\r
FinalPath = NULL;\r
\r
Status = gBS->OpenProtocol (\r
- TheHandle,\r
- &gEfiLoadedImageProtocolGuid,\r
- (VOID**)&LoadedImage,\r
- gImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
- );\r
- if (!EFI_ERROR (Status)) {\r
- Status = gBS->OpenProtocol (\r
- LoadedImage->DeviceHandle,\r
- &gEfiDevicePathProtocolGuid,\r
- (VOID**)&ImageDevicePath,\r
+ TheHandle,\r
+ &gEfiLoadedImageProtocolGuid,\r
+ (VOID **)&LoadedImage,\r
gImageHandle,\r
NULL,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
- );\r
+ );\r
+ if (!EFI_ERROR (Status)) {\r
+ Status = gBS->OpenProtocol (\r
+ LoadedImage->DeviceHandle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ (VOID **)&ImageDevicePath,\r
+ gImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
if (!EFI_ERROR (Status)) {\r
FinalPath = AppendDevicePath (ImageDevicePath, LoadedImage->FilePath);\r
- gBS->CloseProtocol(\r
- LoadedImage->DeviceHandle,\r
- &gEfiDevicePathProtocolGuid,\r
- gImageHandle,\r
- NULL);\r
+ gBS->CloseProtocol (\r
+ LoadedImage->DeviceHandle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ gImageHandle,\r
+ NULL\r
+ );\r
}\r
- gBS->CloseProtocol(\r
- TheHandle,\r
- &gEfiLoadedImageProtocolGuid,\r
- gImageHandle,\r
- NULL);\r
+\r
+ gBS->CloseProtocol (\r
+ TheHandle,\r
+ &gEfiLoadedImageProtocolGuid,\r
+ gImageHandle,\r
+ NULL\r
+ );\r
}\r
\r
if (FinalPath == NULL) {\r
return (NULL);\r
}\r
- RetVal = gEfiShellProtocol->GetFilePathFromDevicePath(FinalPath);\r
+\r
+ RetVal = gEfiShellProtocol->GetFilePathFromDevicePath (FinalPath);\r
if (RetVal == NULL) {\r
- RetVal = ConvertDevicePathToText(FinalPath, TRUE, TRUE);\r
+ RetVal = ConvertDevicePathToText (FinalPath, TRUE, TRUE);\r
}\r
- FreePool(FinalPath);\r
+\r
+ FreePool (FinalPath);\r
return (RetVal);\r
}\r
\r
@retval FALSE The driver does not have Driver Configuration.\r
**/\r
BOOLEAN\r
-ReturnDriverConfig(\r
- IN CONST EFI_HANDLE TheHandle\r
+ReturnDriverConfig (\r
+ IN CONST EFI_HANDLE TheHandle\r
)\r
{\r
- EFI_STATUS Status;\r
- Status = gBS->OpenProtocol((EFI_HANDLE)TheHandle, &gEfiDriverConfigurationProtocolGuid, NULL, gImageHandle, NULL, EFI_OPEN_PROTOCOL_TEST_PROTOCOL);\r
- if (EFI_ERROR(Status)) {\r
+ EFI_STATUS Status;\r
+\r
+ Status = gBS->OpenProtocol ((EFI_HANDLE)TheHandle, &gEfiDriverConfigurationProtocolGuid, NULL, gImageHandle, NULL, EFI_OPEN_PROTOCOL_TEST_PROTOCOL);\r
+ if (EFI_ERROR (Status)) {\r
return (FALSE);\r
}\r
+\r
return (TRUE);\r
}\r
\r
@retval FALSE The driver does not have Driver Diagnostics.\r
**/\r
BOOLEAN\r
-ReturnDriverDiag(\r
- IN CONST EFI_HANDLE TheHandle\r
+ReturnDriverDiag (\r
+ IN CONST EFI_HANDLE TheHandle\r
)\r
{\r
- EFI_STATUS Status;\r
- Status = gBS->OpenProtocol((EFI_HANDLE)TheHandle, &gEfiDriverDiagnostics2ProtocolGuid, NULL, gImageHandle, NULL, EFI_OPEN_PROTOCOL_TEST_PROTOCOL);\r
- if (EFI_ERROR(Status)) {\r
- Status = gBS->OpenProtocol((EFI_HANDLE)TheHandle, &gEfiDriverDiagnosticsProtocolGuid, NULL, gImageHandle, NULL, EFI_OPEN_PROTOCOL_TEST_PROTOCOL);\r
- if (EFI_ERROR(Status)) {\r
+ EFI_STATUS Status;\r
+\r
+ Status = gBS->OpenProtocol ((EFI_HANDLE)TheHandle, &gEfiDriverDiagnostics2ProtocolGuid, NULL, gImageHandle, NULL, EFI_OPEN_PROTOCOL_TEST_PROTOCOL);\r
+ if (EFI_ERROR (Status)) {\r
+ Status = gBS->OpenProtocol ((EFI_HANDLE)TheHandle, &gEfiDriverDiagnosticsProtocolGuid, NULL, gImageHandle, NULL, EFI_OPEN_PROTOCOL_TEST_PROTOCOL);\r
+ if (EFI_ERROR (Status)) {\r
return (FALSE);\r
}\r
}\r
+\r
return (TRUE);\r
}\r
\r
@retval 0xFFFFFFFF An error ocurred.\r
**/\r
UINT32\r
-ReturnDriverVersion(\r
- IN CONST EFI_HANDLE TheHandle\r
+ReturnDriverVersion (\r
+ IN CONST EFI_HANDLE TheHandle\r
)\r
{\r
- EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;\r
- EFI_STATUS Status;\r
- UINT32 RetVal;\r
+ EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;\r
+ EFI_STATUS Status;\r
+ UINT32 RetVal;\r
\r
RetVal = (UINT32)-1;\r
\r
- Status = gBS->OpenProtocol((EFI_HANDLE)TheHandle, &gEfiDriverBindingProtocolGuid, (VOID**)&DriverBinding, gImageHandle, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
- if (!EFI_ERROR(Status)) {\r
+ Status = gBS->OpenProtocol ((EFI_HANDLE)TheHandle, &gEfiDriverBindingProtocolGuid, (VOID **)&DriverBinding, gImageHandle, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
+ if (!EFI_ERROR (Status)) {\r
RetVal = DriverBinding->Version;\r
- gBS->CloseProtocol(TheHandle, &gEfiDriverBindingProtocolGuid, gImageHandle, NULL);\r
+ gBS->CloseProtocol (TheHandle, &gEfiDriverBindingProtocolGuid, gImageHandle, NULL);\r
}\r
+\r
return (RetVal);\r
}\r
\r
**/\r
CHAR16 *\r
GetImageNameFromHandle (\r
- IN CONST EFI_HANDLE Handle\r
+ IN CONST EFI_HANDLE Handle\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;\r
- EFI_LOADED_IMAGE_PROTOCOL *LoadedImage;\r
- EFI_DEVICE_PATH_PROTOCOL *DevPathNode;\r
- EFI_GUID *NameGuid;\r
- CHAR16 *ImageName;\r
- UINTN BufferSize;\r
- UINT32 AuthenticationStatus;\r
- EFI_FIRMWARE_VOLUME2_PROTOCOL *Fv2;\r
+ EFI_STATUS Status;\r
+ EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;\r
+ EFI_LOADED_IMAGE_PROTOCOL *LoadedImage;\r
+ EFI_DEVICE_PATH_PROTOCOL *DevPathNode;\r
+ EFI_GUID *NameGuid;\r
+ CHAR16 *ImageName;\r
+ UINTN BufferSize;\r
+ UINT32 AuthenticationStatus;\r
+ EFI_FIRMWARE_VOLUME2_PROTOCOL *Fv2;\r
\r
LoadedImage = NULL;\r
DriverBinding = NULL;\r
Status = gBS->OpenProtocol (\r
Handle,\r
&gEfiDriverBindingProtocolGuid,\r
- (VOID **) &DriverBinding,\r
+ (VOID **)&DriverBinding,\r
NULL,\r
NULL,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
);\r
if (EFI_ERROR (Status)) {\r
- return NULL;\r
+ return NULL;\r
}\r
+\r
Status = gBS->OpenProtocol (\r
DriverBinding->ImageHandle,\r
&gEfiLoadedImageProtocolGuid,\r
- (VOID**)&LoadedImage,\r
+ (VOID **)&LoadedImage,\r
gImageHandle,\r
NULL,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
if (DevPathNode == NULL) {\r
return NULL;\r
}\r
+\r
while (!IsDevicePathEnd (DevPathNode)) {\r
NameGuid = EfiGetNameGuidFromFwVolDevicePathNode ((MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *)DevPathNode);\r
if (NameGuid != NULL) {\r
if (!EFI_ERROR (Status)) {\r
break;\r
}\r
+\r
ImageName = NULL;\r
}\r
}\r
+\r
//\r
// Next device path node\r
//\r
DevPathNode = NextDevicePathNode (DevPathNode);\r
}\r
+\r
if (ImageName == NULL) {\r
ImageName = ConvertDevicePathToText (LoadedImage->FilePath, TRUE, TRUE);\r
}\r
}\r
+\r
return ImageName;\r
}\r
\r
IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- EFI_STATUS Status;\r
- LIST_ENTRY *Package;\r
- CHAR16 *ProblemParam;\r
- SHELL_STATUS ShellStatus;\r
- CHAR8 *Language;\r
- CONST CHAR16 *Lang;\r
- EFI_HANDLE *HandleList;\r
- EFI_HANDLE *HandleWalker;\r
- UINTN ChildCount;\r
- UINTN DeviceCount;\r
- CHAR16 ChildCountStr[21];\r
- CHAR16 DeviceCountStr[21];\r
- CHAR16 *Temp2;\r
- CONST CHAR16 *FullDriverName;\r
- CHAR16 *TruncatedDriverName;\r
- CHAR16 *ImageName;\r
- CHAR16 *FormatString;\r
- UINT32 DriverVersion;\r
- BOOLEAN DriverConfig;\r
- BOOLEAN DriverDiag;\r
- BOOLEAN SfoFlag;\r
-\r
- ShellStatus = SHELL_SUCCESS;\r
- Status = EFI_SUCCESS;\r
- Language = NULL;\r
- FormatString = NULL;\r
- SfoFlag = FALSE;\r
+ EFI_STATUS Status;\r
+ LIST_ENTRY *Package;\r
+ CHAR16 *ProblemParam;\r
+ SHELL_STATUS ShellStatus;\r
+ CHAR8 *Language;\r
+ CONST CHAR16 *Lang;\r
+ EFI_HANDLE *HandleList;\r
+ EFI_HANDLE *HandleWalker;\r
+ UINTN ChildCount;\r
+ UINTN DeviceCount;\r
+ CHAR16 ChildCountStr[21];\r
+ CHAR16 DeviceCountStr[21];\r
+ CHAR16 *Temp2;\r
+ CONST CHAR16 *FullDriverName;\r
+ CHAR16 *TruncatedDriverName;\r
+ CHAR16 *ImageName;\r
+ CHAR16 *FormatString;\r
+ UINT32 DriverVersion;\r
+ BOOLEAN DriverConfig;\r
+ BOOLEAN DriverDiag;\r
+ BOOLEAN SfoFlag;\r
+\r
+ ShellStatus = SHELL_SUCCESS;\r
+ Status = EFI_SUCCESS;\r
+ Language = NULL;\r
+ FormatString = NULL;\r
+ SfoFlag = FALSE;\r
\r
//\r
// initialize the shell lib (we must be in non-auto-init...)\r
//\r
- Status = ShellInitialize();\r
- ASSERT_EFI_ERROR(Status);\r
+ Status = ShellInitialize ();\r
+ ASSERT_EFI_ERROR (Status);\r
\r
- Status = CommandInit();\r
- ASSERT_EFI_ERROR(Status);\r
+ Status = CommandInit ();\r
+ ASSERT_EFI_ERROR (Status);\r
\r
//\r
// parse the command line\r
//\r
Status = ShellCommandLineParse (ParamList, &Package, &ProblemParam, TRUE);\r
- if (EFI_ERROR(Status)) {\r
- if (Status == EFI_VOLUME_CORRUPTED && ProblemParam != NULL) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellDriver1HiiHandle, L"drivers", ProblemParam);\r
- FreePool(ProblemParam);\r
+ if (EFI_ERROR (Status)) {\r
+ if ((Status == EFI_VOLUME_CORRUPTED) && (ProblemParam != NULL)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellDriver1HiiHandle, L"drivers", ProblemParam);\r
+ FreePool (ProblemParam);\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
} else {\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
}\r
} else {\r
- if (ShellCommandLineGetCount(Package) > 1) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDriver1HiiHandle, L"drivers");\r
+ if (ShellCommandLineGetCount (Package) > 1) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDriver1HiiHandle, L"drivers");\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
} else {\r
- if (ShellCommandLineGetFlag(Package, L"-l")){\r
- Lang = ShellCommandLineGetValue(Package, L"-l");\r
+ if (ShellCommandLineGetFlag (Package, L"-l")) {\r
+ Lang = ShellCommandLineGetValue (Package, L"-l");\r
if (Lang != NULL) {\r
- Language = AllocateZeroPool(StrSize(Lang));\r
- AsciiSPrint(Language, StrSize(Lang), "%S", Lang);\r
+ Language = AllocateZeroPool (StrSize (Lang));\r
+ AsciiSPrint (Language, StrSize (Lang), "%S", Lang);\r
} else {\r
- ASSERT(Language == NULL);\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_VALUE), gShellDriver1HiiHandle, L"drivers", L"-l");\r
+ ASSERT (Language == NULL);\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_VALUE), gShellDriver1HiiHandle, L"drivers", L"-l");\r
ShellCommandLineFreeVarList (Package);\r
return (SHELL_INVALID_PARAMETER);\r
}\r
}\r
\r
if (ShellCommandLineGetFlag (Package, L"-sfo")) {\r
- SfoFlag = TRUE;\r
+ SfoFlag = TRUE;\r
FormatString = HiiGetString (gShellDriver1HiiHandle, STRING_TOKEN (STR_DRIVERS_ITEM_LINE_SFO), Language);\r
//\r
// print the SFO header\r
Language,\r
STRING_TOKEN (STR_GEN_SFO_HEADER),\r
gShellDriver1HiiHandle,\r
- L"drivers");\r
+ L"drivers"\r
+ );\r
} else {\r
FormatString = HiiGetString (gShellDriver1HiiHandle, STRING_TOKEN (STR_DRIVERS_ITEM_LINE), Language);\r
//\r
// print the header row\r
//\r
- ShellPrintHiiEx(\r
+ ShellPrintHiiEx (\r
-1,\r
-1,\r
Language,\r
STRING_TOKEN (STR_DRIVERS_HEADER_LINES),\r
- gShellDriver1HiiHandle);\r
+ gShellDriver1HiiHandle\r
+ );\r
}\r
\r
- HandleList = GetHandleListByProtocol(&gEfiDriverBindingProtocolGuid);\r
- for (HandleWalker = HandleList ; HandleWalker != NULL && *HandleWalker != NULL ; HandleWalker++){\r
+ HandleList = GetHandleListByProtocol (&gEfiDriverBindingProtocolGuid);\r
+ for (HandleWalker = HandleList; HandleWalker != NULL && *HandleWalker != NULL; HandleWalker++) {\r
ChildCount = 0;\r
DeviceCount = 0;\r
- Status = ParseHandleDatabaseForChildDevices (*HandleWalker, &ChildCount , NULL);\r
- Status = PARSE_HANDLE_DATABASE_DEVICES (*HandleWalker, &DeviceCount, NULL);\r
- Temp2 = GetDevicePathTextForHandle(*HandleWalker);\r
- DriverVersion = ReturnDriverVersion(*HandleWalker);\r
- DriverConfig = ReturnDriverConfig(*HandleWalker);\r
- DriverDiag = ReturnDriverDiag (*HandleWalker);\r
- FullDriverName = GetStringNameFromHandle(*HandleWalker, Language);\r
+ Status = ParseHandleDatabaseForChildDevices (*HandleWalker, &ChildCount, NULL);\r
+ Status = PARSE_HANDLE_DATABASE_DEVICES (*HandleWalker, &DeviceCount, NULL);\r
+ Temp2 = GetDevicePathTextForHandle (*HandleWalker);\r
+ DriverVersion = ReturnDriverVersion (*HandleWalker);\r
+ DriverConfig = ReturnDriverConfig (*HandleWalker);\r
+ DriverDiag = ReturnDriverDiag (*HandleWalker);\r
+ FullDriverName = GetStringNameFromHandle (*HandleWalker, Language);\r
ImageName = GetImageNameFromHandle (*HandleWalker);\r
\r
- UnicodeValueToStringS (ChildCountStr, sizeof (ChildCountStr), 0, ChildCount, 0);\r
+ UnicodeValueToStringS (ChildCountStr, sizeof (ChildCountStr), 0, ChildCount, 0);\r
UnicodeValueToStringS (DeviceCountStr, sizeof (DeviceCountStr), 0, DeviceCount, 0);\r
TruncatedDriverName = NULL;\r
if (!SfoFlag && (FullDriverName != NULL)) {\r
Temp2 == NULL ? L"" : Temp2\r
);\r
}\r
+\r
if (TruncatedDriverName != NULL) {\r
FreePool (TruncatedDriverName);\r
}\r
+\r
if (Temp2 != NULL) {\r
- FreePool(Temp2);\r
+ FreePool (Temp2);\r
}\r
+\r
if (ImageName != NULL) {\r
FreePool (ImageName);\r
}\r
}\r
}\r
}\r
- SHELL_FREE_NON_NULL(Language);\r
+\r
+ SHELL_FREE_NON_NULL (Language);\r
ShellCommandLineFreeVarList (Package);\r
- SHELL_FREE_NON_NULL(FormatString);\r
+ SHELL_FREE_NON_NULL (FormatString);\r
}\r
\r
return (ShellStatus);\r