Reviewed-by: Fu Siyuan <siyuan...@intel.com>

-----Original Message-----
From: Wu, Jiaxin 
Sent: Monday, August 31, 2015 9:29 AM
To: edk2-devel@lists.01.org
Cc: Ye, Ting <ting...@intel.com>; Fu, Siyuan <siyuan...@intel.com>; Carsey, 
Jaben <jaben.car...@intel.com>
Subject: [PATCH v2] ShellPkg: Get media status in ifconfig command

v2:
* Update to use NetLibDetectMedia() directly.

This patch is used to get media status in ifconfig command.

Cc: Ye Ting <ting...@intel.com>
Cc: Fu Siyuan <siyuan...@intel.com>
Cc: Jaben Carsey <jaben.car...@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin...@intel.com>
---
 .../UefiShellNetwork1CommandsLib/Ifconfig.c        |  25 ++++++++++++++++-----
 .../UefiShellNetwork1CommandsLib.uni               | Bin 20910 -> 21094 bytes
 2 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c 
b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c
index 273f1a8..e16d46a 100644
--- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c
+++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c
@@ -594,15 +594,18 @@ ON_ERROR:
 EFI_STATUS
 IfConfigShowInterfaceInfo (
   IN LIST_ENTRY    *IfList
   )
 {
-  LIST_ENTRY                *Entry;
-  LIST_ENTRY                *Next;
-  IFCONFIG_INTERFACE_CB     *IfCb;
-  EFI_IPv4_ADDRESS          Gateway;
-  UINT32                    Index;
+  LIST_ENTRY                   *Entry;
+  LIST_ENTRY                   *Next;
+  IFCONFIG_INTERFACE_CB        *IfCb;
+  BOOLEAN                       MediaPresent;
+  EFI_IPv4_ADDRESS              Gateway;
+  UINT32                        Index;
+  
+  MediaPresent = TRUE;
 
   if (IsListEmpty (IfList)) {
     ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN 
(STR_IFCONFIG_INVALID_INTERFACE), gShellNetwork1HiiHandle);
   }
 
@@ -615,11 +618,21 @@ IfConfigShowInterfaceInfo (
     ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_INFO_BREAK), 
gShellNetwork1HiiHandle);
 
     //
     // Print interface name.
     //
-    ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_INFO_IF_NAME), 
gShellNetwork1HiiHandle, IfCb->IfInfo->Name);
+    ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN 
+ (STR_IFCONFIG_INFO_IF_NAME), gShellNetwork1HiiHandle, 
+ IfCb->IfInfo->Name);
+
+    //
+    // Get Media State.
+    //
+    NetLibDetectMedia (IfCb->NicHandle, &MediaPresent);
+    if (!MediaPresent) {
+      ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN 
(STR_IFCONFIG_INFO_MEDIA_STATE), gShellNetwork1HiiHandle, L"Media 
disconnected");
+    } else {
+      ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN 
(STR_IFCONFIG_INFO_MEDIA_STATE), gShellNetwork1HiiHandle, L"Media present");
+    }
 
     //
     // Print interface config policy.
     //
     if (IfCb->Policy == Ip4Config2PolicyDhcp) { diff --git 
a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.uni
 
b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.uni
index 
7cc7b7d672246a62ef97a8b002a780003d3da330..43259591820582cc38937ad680739fcff21b96c5
 100644 GIT binary patch delta 66 
zcmZ3tnDN;X#toCSgnb!Y8C)1V85|kn8G;!?fON>@hnk|30}QmpJs5l$QW;VhG8qyX
S6o9fNK)Qq>b+fZpwmJY$n-Ez5

delta 14
WcmaF1gmK+s#toCSHhXEyr~?2p<OQ_=

--
1.9.5.msysgit.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to