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
+ (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>\r
+ Copyright (c) 2009 - 2018, 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
\r
This must be removed via calling CleanUpShellProtocol().\r
\r
- @param[in, out] NewShell The pointer to the pointer to the structure \r
+ @param[in, out] NewShell The pointer to the pointer to the structure\r
to install.\r
\r
@retval EFI_SUCCESS The operation was successful.\r
@return An error from LocateHandle, CreateEvent, or other core function.\r
**/\r
EFI_STATUS\r
-EFIAPI\r
CreatePopulateInstallShellProtocol (\r
IN OUT EFI_SHELL_PROTOCOL **NewShell\r
);\r
\r
/**\r
- Opposite of CreatePopulateInstallShellProtocol. \r
+ Opposite of CreatePopulateInstallShellProtocol.\r
\r
Free all memory and restore the system to the state it was in before calling\r
CreatePopulateInstallShellProtocol.\r
@retval EFI_SUCCESS The operation was successful.\r
**/\r
EFI_STATUS\r
-EFIAPI\r
CleanUpShellProtocol (\r
IN OUT EFI_SHELL_PROTOCOL *NewShell\r
);\r
\r
+/**\r
+ Cleanup the shell environment.\r
+\r
+ @param[in, out] NewShell The pointer to the new shell protocol structure.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+**/\r
+EFI_STATUS\r
+CleanUpShellEnvironment (\r
+ IN OUT EFI_SHELL_PROTOCOL *NewShell\r
+ );\r
+\r
/**\r
This function creates a mapping for a device path.\r
\r
@retval other an error ocurred.\r
**/\r
EFI_STATUS\r
-EFIAPI\r
InternalOpenFileDevicePath(\r
IN OUT EFI_DEVICE_PATH_PROTOCOL *DevicePath2,\r
OUT SHELL_FILE_HANDLE *FileHandle,\r
/**\r
internal worker function to run a command via Device Path\r
\r
- @param ParentImageHandle A handle of the image that is executing the specified\r
- command line.\r
- @param DevicePath device path of the file to execute\r
- @param CommandLine Points to the NULL-terminated UCS-2 encoded string\r
- containing the command line. If NULL then the command-\r
- line will be empty.\r
- @param Environment Points to a NULL-terminated array of environment\r
- 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 StatusCode Points to the status code returned by the command.\r
+ @param ParentImageHandle A handle of the image that is executing the specified\r
+ command line.\r
+ @param DevicePath device path of the file to execute\r
+ @param CommandLine Points to the NULL-terminated UCS-2 encoded string\r
+ containing the command line. If NULL then the command-\r
+ line will be empty.\r
+ @param Environment Points to a NULL-terminated array of environment\r
+ 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] StartImageStatus Returned status from gBS->StartImage.\r
\r
@retval EFI_SUCCESS The command executed successfully. The status code\r
returned by the command is pointed to by StatusCode.\r
@retval EFI_UNSUPPORTED Nested shell invocations are not allowed.\r
**/\r
EFI_STATUS\r
-EFIAPI\r
InternalShellExecuteDevicePath(\r
- IN CONST EFI_HANDLE *ParentImageHandle,\r
+ IN CONST EFI_HANDLE *ParentImageHandle,\r
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
+ IN CONST CHAR16 *CommandLine OPTIONAL,\r
+ IN CONST CHAR16 **Environment OPTIONAL,\r
+ OUT EFI_STATUS *StartImageStatus OPTIONAL\r
);\r
\r
/**\r
@param FileListNode pointer to the list node to free\r
**/\r
VOID\r
-EFIAPI\r
FreeShellFileInfoNode(\r
IN EFI_SHELL_FILE_INFO *FileListNode\r
);\r
\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
\r
**/\r
EFI_SHELL_FILE_INFO *\r
-EFIAPI\r
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
\r
@param Name A pointer to the environment variable name\r
\r
- @return !=NULL The environment variable's value. The returned\r
+ @retval !=NULL The environment variable's value. The returned\r
pointer does not need to be freed by the caller.\r
@retval NULL The environment variable doesn't exist.\r
**/\r
aliases will be returned in ReturnedData.\r
@param[out] Volatile upon return of a single command if TRUE indicates\r
this is stored in a volatile fashion. FALSE otherwise.\r
- @return If Alias is not NULL, it will return a pointer to\r
+ @return If Alias is not NULL, it will return a pointer to\r
the NULL-terminated command for that alias.\r
If Alias is NULL, ReturnedData points to a ';'\r
delimited list of alias (e.g.\r
@retval EFI_NOT_FOUND the Alias intended to be deleted was not found\r
**/\r
EFI_STATUS\r
-EFIAPI\r
InternalSetAlias(\r
IN CONST CHAR16 *Command,\r
IN CONST CHAR16 *Alias OPTIONAL,\r
@param FileListNode pointer to the list node to free\r
**/\r
VOID\r
-EFIAPI\r
InternalFreeShellFileInfoNode(\r
IN EFI_SHELL_FILE_INFO *FileListNode\r
);\r
@retval EFI_SUCCESS The environment variable was successfully updated.\r
**/\r
EFI_STATUS\r
-EFIAPI\r
InternalEfiShellSetEnv(\r
IN CONST CHAR16 *Name,\r
IN CONST CHAR16 *Value,\r
);\r
\r
/**\r
- Function to start monitoring for CTRL-C using SimpleTextInputEx. This \r
+ Function to start monitoring for CTRL-C using SimpleTextInputEx. This\r
feature's enabled state was not known when the shell initially launched.\r
\r
@retval EFI_SUCCESS The feature is enabled.\r
@retval EFI_OUT_OF_RESOURCES There is not enough mnemory available.\r
**/\r
EFI_STATUS\r
-EFIAPI\r
InernalEfiShellStartMonitor(\r
VOID\r
);\r