IN LIST_ENTRY *IfList\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *Next;\r
- IFCONFIG_INTERFACE_CB *IfCb;\r
- EFI_IPv4_ADDRESS Gateway;\r
- UINT32 Index;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *Next;\r
+ IFCONFIG_INTERFACE_CB *IfCb;\r
+ BOOLEAN MediaPresent;\r
+ EFI_IPv4_ADDRESS Gateway;\r
+ UINT32 Index;\r
+ \r
+ MediaPresent = TRUE;\r
\r
if (IsListEmpty (IfList)) {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_INVALID_INTERFACE), gShellNetwork1HiiHandle);\r
//\r
// Print interface name.\r
//\r
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_INFO_IF_NAME), gShellNetwork1HiiHandle, IfCb->IfInfo->Name);\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_INFO_IF_NAME), gShellNetwork1HiiHandle, IfCb->IfInfo->Name); \r
+\r
+ //\r
+ // Get Media State.\r
+ //\r
+ NetLibDetectMedia (IfCb->NicHandle, &MediaPresent);\r
+ if (!MediaPresent) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_INFO_MEDIA_STATE), gShellNetwork1HiiHandle, L"Media disconnected");\r
+ } else {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_INFO_MEDIA_STATE), gShellNetwork1HiiHandle, L"Media present");\r
+ }\r
\r
//\r
// Print interface config policy.\r