1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /** @file
- Provides interface to shell internal functions for shell commands.
- Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved. <BR>
- (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #ifndef _UEFI_COMMAND_LIB_INTERNAL_HEADER_
- #define _UEFI_COMMAND_LIB_INTERNAL_HEADER_
- #include <Uefi.h>
- #include <Guid/FileInfo.h>
- #include <Guid/GlobalVariable.h>
- #include <Protocol/SimpleFileSystem.h>
- #include <Protocol/LoadedImage.h>
- #include <Protocol/EfiShellInterface.h>
- #include <Protocol/EfiShellEnvironment2.h>
- #include <Protocol/Shell.h>
- #include <Protocol/ShellParameters.h>
- #include <Protocol/UnicodeCollation.h>
- #include <Protocol/BlockIo.h>
- #include <Protocol/ShellDynamicCommand.h>
- #include <Library/DevicePathLib.h>
- #include <Library/SortLib.h>
- #include <Library/HandleParsingLib.h>
- #include <Library/BaseLib.h>
- #include <Library/BaseMemoryLib.h>
- #include <Library/DebugLib.h>
- #include <Library/MemoryAllocationLib.h>
- #include <Library/PcdLib.h>
- #include <Library/ShellCommandLib.h>
- #include <Library/PrintLib.h>
- #include <Library/ShellLib.h>
- #include <Library/HiiLib.h>
- #include <Library/UefiBootServicesTableLib.h>
- #include <Library/UefiLib.h>
- #include <Library/OrderedCollectionLib.h>
- typedef struct {
- LIST_ENTRY Link;
- CHAR16 *CommandString;
- SHELL_GET_MAN_FILENAME GetManFileName;
- SHELL_RUN_COMMAND CommandHandler;
- BOOLEAN LastError;
- EFI_HII_HANDLE HiiHandle;
- EFI_STRING_ID ManFormatHelp;
- } SHELL_COMMAND_INTERNAL_LIST_ENTRY;
- typedef struct {
- LIST_ENTRY Link;
- SCRIPT_FILE *Data;
- } SCRIPT_FILE_LIST;
- typedef struct {
- EFI_FILE_PROTOCOL *FileHandle;
- CHAR16 *Path;
- } SHELL_COMMAND_FILE_HANDLE;
- //
- // Collects multiple EFI_SHELL_FILE_INFO objects that share the same name.
- //
- typedef struct {
- //
- // A string that compares equal to either the FileName or the FullName fields
- // of all EFI_SHELL_FILE_INFO objects on SameNameList, according to
- // gUnicodeCollation->StriColl(). The string is not dynamically allocated;
- // instead, it *aliases* the FileName or FullName field of the
- // EFI_SHELL_FILE_INFO object that was first encountered with this name.
- //
- CONST CHAR16 *Alias;
- //
- // A list of EFI_SHELL_FILE_INFO objects whose FileName or FullName fields
- // compare equal to Alias, according to gUnicodeCollation->StriColl().
- //
- LIST_ENTRY SameNameList;
- } SHELL_SORT_UNIQUE_NAME;
- #endif //_UEFI_COMMAND_LIB_INTERNAL_HEADER_
|