Revision: 15884
http://sourceforge.net/p/edk2/code/15884
Author: jcarsey
Date: 2014-08-22 17:00:49 +0000 (Fri, 22 Aug 2014)
Log Message:
-----------
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 <[email protected]>
Reviewed-by: Jaben Carsey <[email protected]>
Modified Paths:
--------------
trunk/edk2/ShellPkg/Library/UefiShellDriver1CommandsLib/Devices.c
trunk/edk2/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.uni
Modified: trunk/edk2/ShellPkg/Library/UefiShellDriver1CommandsLib/Devices.c
===================================================================
--- trunk/edk2/ShellPkg/Library/UefiShellDriver1CommandsLib/Devices.c
2014-08-22 16:08:47 UTC (rev 15883)
+++ trunk/edk2/ShellPkg/Library/UefiShellDriver1CommandsLib/Devices.c
2014-08-22 17:00:49 UTC (rev 15884)
@@ -1,6 +1,7 @@
/** @file
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>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD
License
@@ -114,6 +115,7 @@
}
STATIC CONST SHELL_PARAM_ITEM ParamList[] = {
+ {L"-sfo", TypeFlag},
{L"-l", TypeValue},
{NULL, TypeMax}
};
@@ -146,9 +148,11 @@
UINTN Children;
CHAR16 *Name;
CONST CHAR16 *Lang;
+ BOOLEAN SfoFlag;
ShellStatus = SHELL_SUCCESS;
Language = NULL;
+ SfoFlag = FALSE;
//
// initialize the shell lib (we must be in non-auto-init...)
@@ -203,10 +207,13 @@
//
// Print Header
- // only in non SFO mode.
+
//
- if (!ShellCommandLineGetFlag(Package, L"-sfo")){
- ShellPrintHiiEx(-1, -1, Language, STRING_TOKEN
(STR_DEVICES_HEADER_LINES), gShellDriver1HiiHandle);
+ if (ShellCommandLineGetFlag (Package, L"-sfo")) {
+ 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 @@
Name = NULL;
Status = GetDeviceHandleInfo(*HandleListWalker, &Type, &Cfg, &Diag,
&Parents, &Devices, &Children, &Name, Language);
if (Name != NULL && (Parents != 0 || Devices != 0 || Children != 0)) {
- if (!ShellCommandLineGetFlag(Package, L"-sfo")){
- ShellPrintHiiEx(
- -1,
- -1,
- Language,
- STRING_TOKEN(STR_DEVICES_ITEM_LINE),
- gShellDriver1HiiHandle,
- ConvertHandleToHandleIndex(*HandleListWalker),
- Type,
- Cfg?L'X':L'-',
- Diag?L'X':L'-',
- Parents,
- Devices,
- Children,
- 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>");
- }
+ ShellPrintHiiEx (
+ -1,
+ -1,
+ Language,
+ SfoFlag?STRING_TOKEN (STR_DEVICES_ITEM_LINE_SFO):STRING_TOKEN
(STR_DEVICES_ITEM_LINE),
+ gShellDriver1HiiHandle,
+ ConvertHandleToHandleIndex (*HandleListWalker),
+ Type,
+ Cfg?(SfoFlag?L'Y':L'X'):(SfoFlag?L'N':L'-'),
+ Diag?(SfoFlag?L'Y':L'X'):(SfoFlag?L'N':L'-'),
+ Parents,
+ Devices,
+ Children,
+ Name!=NULL?Name:L"<UNKNOWN>");
}
if (Name != NULL) {
FreePool(Name);
Modified:
trunk/edk2/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.uni
===================================================================
---
trunk/edk2/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.uni
2014-08-22 16:08:47 UTC (rev 15883)
+++
trunk/edk2/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.uni
2014-08-22 17:00:49 UTC (rev 15884)
@@ -156,12 +156,22 @@
---+++++ --+ This was sent by the SourceForge.net collaborative
development platform, the world's largest Open Source development site.
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits