mirror of https://github.com/acidanthera/audk.git
ShellPkg: Fixes and updates for the 'devices' command
- Update 'devices -sfo' format to match UEFI Shell 2.1 spec - Update help output for easier viewing - Update 'devices' output format for better alignment when there are many device handles: T D Y C I P F A CTRL E G G #P #D #C Device Name ==== = = = == == === ========================================================= Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chris Phillips <chrisp@hp.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15884 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
83185c5a0e
commit
c173a7b9d6
|
@ -1,6 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
Main file for devices shell Driver1 function.
|
Main file for devices shell Driver1 function.
|
||||||
|
|
||||||
|
(C) Copyright 2012-2014, Hewlett-Packard Development Company, L.P.
|
||||||
Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
@ -114,6 +115,7 @@ GetDeviceHandleInfo (
|
||||||
}
|
}
|
||||||
|
|
||||||
STATIC CONST SHELL_PARAM_ITEM ParamList[] = {
|
STATIC CONST SHELL_PARAM_ITEM ParamList[] = {
|
||||||
|
{L"-sfo", TypeFlag},
|
||||||
{L"-l", TypeValue},
|
{L"-l", TypeValue},
|
||||||
{NULL, TypeMax}
|
{NULL, TypeMax}
|
||||||
};
|
};
|
||||||
|
@ -146,9 +148,11 @@ ShellCommandRunDevices (
|
||||||
UINTN Children;
|
UINTN Children;
|
||||||
CHAR16 *Name;
|
CHAR16 *Name;
|
||||||
CONST CHAR16 *Lang;
|
CONST CHAR16 *Lang;
|
||||||
|
BOOLEAN SfoFlag;
|
||||||
|
|
||||||
ShellStatus = SHELL_SUCCESS;
|
ShellStatus = SHELL_SUCCESS;
|
||||||
Language = NULL;
|
Language = NULL;
|
||||||
|
SfoFlag = FALSE;
|
||||||
|
|
||||||
//
|
//
|
||||||
// initialize the shell lib (we must be in non-auto-init...)
|
// initialize the shell lib (we must be in non-auto-init...)
|
||||||
|
@ -203,10 +207,13 @@ ShellCommandRunDevices (
|
||||||
|
|
||||||
//
|
//
|
||||||
// Print Header
|
// Print Header
|
||||||
// only in non SFO mode.
|
|
||||||
//
|
//
|
||||||
if (!ShellCommandLineGetFlag(Package, L"-sfo")){
|
if (ShellCommandLineGetFlag (Package, L"-sfo")) {
|
||||||
ShellPrintHiiEx(-1, -1, Language, STRING_TOKEN (STR_DEVICES_HEADER_LINES), gShellDriver1HiiHandle);
|
ShellPrintHiiEx (-1, -1, Language, STRING_TOKEN (STR_GEN_SFO_HEADER), gShellDriver1HiiHandle, L"devices");
|
||||||
|
SfoFlag = TRUE;
|
||||||
|
} else {
|
||||||
|
ShellPrintHiiEx (-1, -1, Language, STRING_TOKEN (STR_DEVICES_HEADER_LINES), gShellDriver1HiiHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -225,37 +232,20 @@ ShellCommandRunDevices (
|
||||||
Name = NULL;
|
Name = NULL;
|
||||||
Status = GetDeviceHandleInfo(*HandleListWalker, &Type, &Cfg, &Diag, &Parents, &Devices, &Children, &Name, Language);
|
Status = GetDeviceHandleInfo(*HandleListWalker, &Type, &Cfg, &Diag, &Parents, &Devices, &Children, &Name, Language);
|
||||||
if (Name != NULL && (Parents != 0 || Devices != 0 || Children != 0)) {
|
if (Name != NULL && (Parents != 0 || Devices != 0 || Children != 0)) {
|
||||||
if (!ShellCommandLineGetFlag(Package, L"-sfo")){
|
ShellPrintHiiEx (
|
||||||
ShellPrintHiiEx(
|
|
||||||
-1,
|
-1,
|
||||||
-1,
|
-1,
|
||||||
Language,
|
Language,
|
||||||
STRING_TOKEN(STR_DEVICES_ITEM_LINE),
|
SfoFlag?STRING_TOKEN (STR_DEVICES_ITEM_LINE_SFO):STRING_TOKEN (STR_DEVICES_ITEM_LINE),
|
||||||
gShellDriver1HiiHandle,
|
gShellDriver1HiiHandle,
|
||||||
ConvertHandleToHandleIndex(*HandleListWalker),
|
ConvertHandleToHandleIndex (*HandleListWalker),
|
||||||
Type,
|
Type,
|
||||||
Cfg?L'X':L'-',
|
Cfg?(SfoFlag?L'Y':L'X'):(SfoFlag?L'N':L'-'),
|
||||||
Diag?L'X':L'-',
|
Diag?(SfoFlag?L'Y':L'X'):(SfoFlag?L'N':L'-'),
|
||||||
Parents,
|
Parents,
|
||||||
Devices,
|
Devices,
|
||||||
Children,
|
Children,
|
||||||
Name != NULL ? Name : L"<UNKNOWN>");
|
Name!=NULL?Name:L"<UNKNOWN>");
|
||||||
} else {
|
|
||||||
ShellPrintHiiEx(
|
|
||||||
-1,
|
|
||||||
-1,
|
|
||||||
Language,
|
|
||||||
STRING_TOKEN(STR_DEVICES_ITEM_LINE_SFO),
|
|
||||||
gShellDriver1HiiHandle,
|
|
||||||
ConvertHandleToHandleIndex(*HandleListWalker),
|
|
||||||
Type,
|
|
||||||
Cfg?L'Y':L'N',
|
|
||||||
Diag?L'Y':L'N',
|
|
||||||
Parents,
|
|
||||||
Devices,
|
|
||||||
Children,
|
|
||||||
Name != NULL ? Name : L"<UNKNOWN>");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (Name != NULL) {
|
if (Name != NULL) {
|
||||||
FreePool(Name);
|
FreePool(Name);
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue