55 if ( (TheHandle ==
NULL)
64 return (EFI_INVALID_PARAMETER);
77 gEfiShellProtocol->GetDeviceName (TheHandle, EFI_DEVICE_NAME_USE_COMPONENT_NAME|EFI_DEVICE_NAME_USE_DEVICE_PATH, (CHAR8 *)Language, Name);
82 if ( (Parents !=
NULL) && (Children !=
NULL)) {
85 }
else if (*Children > 0) {
94 if (!EFI_ERROR (Status) && (Devices !=
NULL) && (HandleBuffer !=
NULL)) {
95 for (Count = 0; Count < *Devices; Count++) {
96 if (!EFI_ERROR (
gBS->OpenProtocol (HandleBuffer[Count], &gEfiDriverConfigurationProtocolGuid,
NULL,
NULL,
gImageHandle, EFI_OPEN_PROTOCOL_TEST_PROTOCOL))) {
100 if (!EFI_ERROR (
gBS->OpenProtocol (HandleBuffer[Count], &gEfiDriverDiagnosticsProtocolGuid,
NULL,
NULL,
gImageHandle, EFI_OPEN_PROTOCOL_TEST_PROTOCOL))) {
104 if (!EFI_ERROR (
gBS->OpenProtocol (HandleBuffer[Count], &gEfiDriverDiagnostics2ProtocolGuid,
NULL,
NULL,
gImageHandle, EFI_OPEN_PROTOCOL_TEST_PROTOCOL))) {
109 SHELL_FREE_NON_NULL (HandleBuffer);
136 CHAR16 *ProblemParam;
168 if (EFI_ERROR (Status)) {
169 if ((Status == EFI_VOLUME_CORRUPTED) && (ProblemParam !=
NULL)) {
193 if (Language ==
NULL) {
201 ASSERT (Language ==
NULL);
205 ASSERT (Language ==
NULL);
226 ASSERT (HandleList !=
NULL);
227 for (HandleListWalker = HandleList
228 ; HandleListWalker !=
NULL && *HandleListWalker !=
NULL
236 Status =
GetDeviceHandleInfo (*HandleListWalker, &Type, &Cfg, &Diag, &Parents, &Devices, &Children, &Name, Language);
237 if ((Name !=
NULL) && ((Parents != 0) || (Devices != 0) || (Children != 0))) {
243 gShellDriver1HiiHandle,
246 Cfg ? (SfoFlag ? L
'Y' : L
'X') : (SfoFlag ? L
'N' : L
'-'),
247 Diag ? (SfoFlag ? L
'Y' : L
'X') : (SfoFlag ? L
'N' : L
'-'),
251 Name !=
NULL ? Name : L
"<UNKNOWN>"
265 if (HandleList !=
NULL) {
270 SHELL_FREE_NON_NULL (Language);
274 return (ShellStatus);
UINTN EFIAPI StrSize(IN CONST CHAR16 *String)
SHELL_STATUS EFIAPI ShellCommandRunDevices(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
EFI_STATUS GetDeviceHandleInfo(IN EFI_HANDLE TheHandle, IN OUT CHAR16 *Type, IN OUT BOOLEAN *Cfg, IN OUT BOOLEAN *Diag, IN OUT UINTN *Parents, IN OUT UINTN *Devices, IN OUT UINTN *Children, OUT CHAR16 **Name, IN CONST CHAR8 *Language)
VOID *EFIAPI AllocateZeroPool(IN UINTN AllocationSize)
VOID EFIAPI FreePool(IN VOID *Buffer)
#define PARSE_HANDLE_DATABASE_PARENTS(ControllerHandle, Count, Buffer)
#define PARSE_HANDLE_DATABASE_UEFI_DRIVERS(ControllerHandle, Count, Buffer)
UINTN EFIAPI ConvertHandleToHandleIndex(IN CONST EFI_HANDLE TheHandle)
EFI_STATUS EFIAPI ParseHandleDatabaseForChildControllers(IN CONST EFI_HANDLE ControllerHandle, OUT UINTN *MatchingHandleCount, OUT EFI_HANDLE **MatchingHandleBuffer OPTIONAL)
EFI_HANDLE *EFIAPI GetHandleListByProtocol(IN CONST EFI_GUID *ProtocolGuid OPTIONAL)
UINTN EFIAPI AsciiSPrint(OUT CHAR8 *StartOfBuffer, IN UINTN BufferSize, IN CONST CHAR8 *FormatString,...)
#define ASSERT_EFI_ERROR(StatusParameter)
@ SHELL_INVALID_PARAMETER
EFI_STATUS EFIAPI CommandInit(VOID)
CONST CHAR16 *EFIAPI ShellCommandLineGetValue(IN CONST LIST_ENTRY *CheckPackage, IN CHAR16 *KeyString)
BOOLEAN EFIAPI ShellGetExecutionBreakFlag(VOID)
#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").
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)