]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Application/Shell/ShellProtocol.h
ShellPkg/Shell: Fix reporting of exit status in ShellProtocol.Execute
[mirror_edk2.git] / ShellPkg / Application / Shell / ShellProtocol.h
index a63ae8fc83c29eb072e858c85ce581925382e0c0..4920d828303f813328c5246d9d12b5e9e510c1d7 100644 (file)
@@ -2,7 +2,7 @@
   Member functions of EFI_SHELL_PROTOCOL and functions for creation,\r
   manipulation, and initialization of EFI_SHELL_PROTOCOL.\r
 \r
-  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
 #ifndef _SHELL_PROTOCOL_HEADER_\r
 #define _SHELL_PROTOCOL_HEADER_\r
 \r
-#include <Uefi.h>\r
-#include <ShellBase.h>\r
-\r
-#include <Guid/ShellVariableGuid.h>\r
-#include <Guid/ShellMapGuid.h>\r
-#include <Guid/ShellAliasGuid.h>\r
-\r
-#include <Protocol/EfiShell.h>\r
-#include <Protocol/EfiShellParameters.h>\r
-#include <Protocol/SimpleFileSystem.h>\r
-#include <Protocol/DevicePathToText.h>\r
-#include <Protocol/ComponentName2.h>\r
-#include <Protocol/LoadedImage.h>\r
-#include <Protocol/UnicodeCollation.h>\r
-#include <Protocol/DevicePath.h>\r
-#include <Protocol/SimpleTextInEx.h>\r
-\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/BaseLib.h>\r
-#include <Library/ShellCommandLib.h>\r
-#include <Library/PrintLib.h>\r
-#include <Library/DevicePathLib.h>\r
-#include <Library/UefiRuntimeServicesTableLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/SortLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/ShellLib.h>\r
-\r
-#include "FileHandleWrappers.h"\r
-#include "ShellEnvVar.h"\r
-#include "ShellManParser.h"\r
+#include "Shell.h"\r
 \r
 typedef struct {\r
   LIST_ENTRY                Link;\r
@@ -476,6 +443,9 @@ EfiShellEnablePageBreak (
                             variables with the format 'x=y', where x is the\r
                             environment variable name and y is the value. If this\r
                             is NULL, then the current shell environment is used.\r
+  @param[out] ExitDataSize  ExitDataSize as returned from gBS->StartImage\r
+  @param[out] ExitData      ExitData as returned from gBS->StartImage\r
+\r
   @param StatusCode         Points to the status code returned by the command.\r
 \r
   @retval EFI_SUCCESS       The command executed successfully. The  status code\r
@@ -491,7 +461,8 @@ InternalShellExecuteDevicePath(
   IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
   IN CONST CHAR16 *CommandLine OPTIONAL,\r
   IN CONST CHAR16 **Environment OPTIONAL,\r
-  OUT EFI_STATUS *StatusCode OPTIONAL\r
+  OUT UINTN                         *ExitDataSize OPTIONAL,\r
+  OUT CHAR16                        **ExitData OPTIONAL\r
   );\r
 \r
 /**\r
@@ -588,7 +559,6 @@ EfiShellRemoveDupInFileList(
 \r
   @param[in] BasePath         the Path to prepend onto filename for FullPath\r
   @param[in] Status           Status member initial value.\r
-  @param[in] FullName         FullName member initial value.\r
   @param[in] FileName         FileName member initial value.\r
   @param[in] Handle           Handle member initial value.\r
   @param[in] Info             Info struct to copy.\r
@@ -599,7 +569,6 @@ EFIAPI
 CreateAndPopulateShellFileInfo(\r
   IN CONST CHAR16 *BasePath,\r
   IN CONST EFI_STATUS Status,\r
-  IN CONST CHAR16 *FullName,\r
   IN CONST CHAR16 *FileName,\r
   IN CONST SHELL_FILE_HANDLE Handle,\r
   IN CONST EFI_FILE_INFO *Info\r