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