| /** @file | |
| Provides interface to shell functionality for shell commands and applications. | |
| Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> | |
| This program and the accompanying materials | |
| are licensed and made available under the terms and conditions of the BSD License | |
| which accompanies this distribution. The full text of the license may be found at | |
| http://opensource.org/licenses/bsd-license.php | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| **/ | |
| #ifndef _UEFI_SHELL_LIB_INTERNAL_H_ | |
| #define _UEFI_SHELL_LIB_INTERNAL_H_ | |
| #include <Uefi.h> | |
| #include <Guid/FileInfo.h> | |
| #include <Protocol/SimpleFileSystem.h> | |
| #include <Protocol/LoadedImage.h> | |
| #include <Protocol/EfiShellInterface.h> | |
| #include <Protocol/EfiShellEnvironment2.h> | |
| #include <Protocol/EfiShell.h> | |
| #include <Protocol/EfiShellParameters.h> | |
| #include <Library/UefiBootServicesTableLib.h> | |
| #include <Library/BaseLib.h> | |
| #include <Library/BaseMemoryLib.h> | |
| #include <Library/DebugLib.h> | |
| #include <Library/MemoryAllocationLib.h> | |
| #include <Library/DevicePathLib.h> | |
| #include <Library/PcdLib.h> | |
| #include <Library/FileHandleLib.h> | |
| #include <Library/PrintLib.h> | |
| #include <Library/UefiLib.h> | |
| #include <Library/HiiLib.h> | |
| #include <Library/ShellLib.h> | |
| typedef struct { | |
| EFI_SHELL_GET_FILE_INFO GetFileInfo; | |
| EFI_SHELL_SET_FILE_INFO SetFileInfo; | |
| EFI_SHELL_READ_FILE ReadFile; | |
| EFI_SHELL_WRITE_FILE WriteFile; | |
| EFI_SHELL_CLOSE_FILE CloseFile; | |
| EFI_SHELL_DELETE_FILE DeleteFile; | |
| EFI_SHELL_GET_FILE_POSITION GetFilePosition; | |
| EFI_SHELL_SET_FILE_POSITION SetFilePosition; | |
| EFI_SHELL_FLUSH_FILE FlushFile; | |
| EFI_SHELL_GET_FILE_SIZE GetFileSize; | |
| } FILE_HANDLE_FUNCTION_MAP; | |
| /** | |
| Function to determin if an entire string is a valid number. | |
| If Hex it must be preceeded with a 0x or has ForceHex, set TRUE. | |
| @param[in] String The string to evaluate. | |
| @param[in] ForceHex TRUE - always assume hex. | |
| @param[in] StopAtSpace TRUE to halt upon finding a space, FALSE to keep going. | |
| @param[in] TimeNumbers TRUE to allow numbers with ":", FALSE otherwise. | |
| @retval TRUE It is all numeric (dec/hex) characters. | |
| @retval FALSE There is a non-numeric character. | |
| **/ | |
| BOOLEAN | |
| EFIAPI | |
| InternalShellIsHexOrDecimalNumber ( | |
| IN CONST CHAR16 *String, | |
| IN CONST BOOLEAN ForceHex, | |
| IN CONST BOOLEAN StopAtSpace, | |
| IN CONST BOOLEAN TimeNumbers | |
| ); | |
| /** | |
| Cleans off all the quotes in the string. | |
| @param[in] OriginalString pointer to the string to be cleaned. | |
| @param[out] CleanString The new string with all quotes removed. | |
| Memory allocated in the function and free | |
| by caller. | |
| @retval EFI_SUCCESS The operation was successful. | |
| **/ | |
| EFI_STATUS | |
| EFIAPI | |
| InternalShellStripQuotes ( | |
| IN CONST CHAR16 *OriginalString, | |
| OUT CHAR16 **CleanString | |
| ); | |
| #endif | |