/** @file\r
Main file for Disconnect shell Driver1 function.\r
\r
+ (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
(C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>\r
Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials\r
\r
STATIC CONST SHELL_PARAM_ITEM ParamList[] = {\r
{L"-r", TypeFlag},\r
+ {L"-nc", TypeFlag},\r
{NULL, TypeMax}\r
};\r
\r
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellDriver1HiiHandle, L"disconnect"); \r
ShellStatus = SHELL_INVALID_PARAMETER;\r
} else {\r
- Status = DisconnectAll();\r
+ Status = DisconnectAll ();\r
+ //\r
+ // Reconnect all consoles if -nc is not provided\r
+ //\r
+ if (!ShellCommandLineGetFlag (Package, L"-nc")){\r
+ ShellConnectFromDevPaths (L"ConInDev");\r
+ ShellConnectFromDevPaths (L"ConOutDev");\r
+ ShellConnectFromDevPaths (L"ErrOutDev");\r
+ ShellConnectFromDevPaths (L"ErrOut");\r
+ ShellConnectFromDevPaths (L"ConIn");\r
+ ShellConnectFromDevPaths (L"ConOut");\r
+ }\r
}\r
+ } else if (ShellCommandLineGetFlag (Package, L"-nc")) {\r
+ ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellDriver1HiiHandle, L"disconnect");\r
+ ShellStatus = SHELL_INVALID_PARAMETER;\r
} else {\r
if (ShellCommandLineGetCount(Package) > 4){\r
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDriver1HiiHandle, L"disconnect"); \r
// /**\r
//\r
+// (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
// (C) Copyright 2012-2015 Hewlett-Packard Development Company, L.P.<BR>\r
// Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>\r
// This program and the accompanying materials\r
"Disconnects one or more drivers from the specified devices. \r\n"\r
".SH SYNOPSIS\r\n"\r
" \r\n"\r
-"DISCONNECT DeviceHandle [DriverHandle [ChildHandle]] [-r] \r\n"\r
+"DISCONNECT DeviceHandle [DriverHandle [ChildHandle]] \r\n"\r
+"DISCONNECT [-r] [-nc] \r\n"\r
".SH OPTIONS\r\n"\r
" \r\n"\r
"NOTES:\r\n"\r
-" -r - Disconnects all drivers from all devices.\r\n"\r
+" -r - Disconnects all drivers from all devices, then reconnect\r\n"\r
+" consoles.\r\n"\r
+" -nc - Do not reconnect the console devices.\r\n"\r
" DeviceHandle - Specifies a device handle (a hexadecimal number). If not specified, then\r\n"\r
" disconnect DriverHandle.\r\n"\r
" DriverHandle - Specifies a driver handle (a hexadecimal number).\r\n"\r
".SH EXAMPLES\r\n"\r
" \r\n"\r
"EXAMPLES:\r\n"\r
-" * To disconnect all drivers from all devices:\r\n"\r
+" * To disconnect all drivers from all devices, then reconnect console\r\n"\r
+" devices:\r\n"\r
" Shell> disconnect -r\r\n"\r
" \r\n"\r
+" * To disconnect all drivers from all devices, including console devices:\r\n"\r
+" Shell> disconnect -r -nc\r\n"\r
+" \r\n"\r
" * To disconnect all drivers from device 0x28:\r\n"\r
" fs0:\> disconnect 28\r\n"\r
" \r\n"\r