]>
Commit | Line | Data |
---|---|---|
a405b86d | 1 | /** @file\r |
2 | Provides interface to shell internal functions for shell commands.\r | |
3 | \r | |
d65f2cea | 4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved. <BR>\r |
9b7143c9 | 5 | (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r |
56ba3746 | 6 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
a405b86d | 7 | \r |
8 | **/\r | |
9 | \r | |
10 | #ifndef _UEFI_COMMAND_LIB_INTERNAL_HEADER_\r | |
11 | #define _UEFI_COMMAND_LIB_INTERNAL_HEADER_\r | |
12 | \r | |
13 | #include <Uefi.h>\r | |
a405b86d | 14 | \r |
15 | #include <Guid/FileInfo.h>\r | |
d65f2cea | 16 | #include <Guid/GlobalVariable.h>\r |
a405b86d | 17 | \r |
18 | #include <Protocol/SimpleFileSystem.h>\r | |
19 | #include <Protocol/LoadedImage.h>\r | |
20 | #include <Protocol/EfiShellInterface.h>\r | |
21 | #include <Protocol/EfiShellEnvironment2.h>\r | |
28165f24 RN |
22 | #include <Protocol/Shell.h>\r |
23 | #include <Protocol/ShellParameters.h>\r | |
a405b86d | 24 | #include <Protocol/UnicodeCollation.h>\r |
25 | #include <Protocol/BlockIo.h>\r | |
28165f24 | 26 | #include <Protocol/ShellDynamicCommand.h>\r |
a405b86d | 27 | \r |
28 | #include <Library/DevicePathLib.h>\r | |
29 | #include <Library/SortLib.h>\r | |
30 | #include <Library/HandleParsingLib.h>\r | |
31 | #include <Library/BaseLib.h>\r | |
32 | #include <Library/BaseMemoryLib.h>\r | |
33 | #include <Library/DebugLib.h>\r | |
34 | #include <Library/MemoryAllocationLib.h>\r | |
35 | #include <Library/PcdLib.h>\r | |
8d095e78 | 36 | #include <Library/ShellCommandLib.h>\r |
a405b86d | 37 | #include <Library/PrintLib.h>\r |
38 | #include <Library/ShellLib.h>\r | |
39 | #include <Library/HiiLib.h>\r | |
40 | #include <Library/UefiBootServicesTableLib.h>\r | |
9b7143c9 | 41 | #include <Library/UefiLib.h>\r |
101c55ac | 42 | #include <Library/OrderedCollectionLib.h>\r |
a405b86d | 43 | \r |
47d20b54 MK |
44 | typedef struct {\r |
45 | LIST_ENTRY Link;\r | |
46 | CHAR16 *CommandString;\r | |
47 | SHELL_GET_MAN_FILENAME GetManFileName;\r | |
48 | SHELL_RUN_COMMAND CommandHandler;\r | |
49 | BOOLEAN LastError;\r | |
50 | EFI_HII_HANDLE HiiHandle;\r | |
51 | EFI_STRING_ID ManFormatHelp;\r | |
a405b86d | 52 | } SHELL_COMMAND_INTERNAL_LIST_ENTRY;\r |
53 | \r | |
54 | typedef struct {\r | |
47d20b54 MK |
55 | LIST_ENTRY Link;\r |
56 | SCRIPT_FILE *Data;\r | |
a405b86d | 57 | } SCRIPT_FILE_LIST;\r |
58 | \r | |
a405b86d | 59 | typedef struct {\r |
47d20b54 MK |
60 | EFI_FILE_PROTOCOL *FileHandle;\r |
61 | CHAR16 *Path;\r | |
a405b86d | 62 | } SHELL_COMMAND_FILE_HANDLE;\r |
63 | \r | |
101c55ac LE |
64 | //\r |
65 | // Collects multiple EFI_SHELL_FILE_INFO objects that share the same name.\r | |
66 | //\r | |
67 | typedef struct {\r | |
68 | //\r | |
69 | // A string that compares equal to either the FileName or the FullName fields\r | |
70 | // of all EFI_SHELL_FILE_INFO objects on SameNameList, according to\r | |
71 | // gUnicodeCollation->StriColl(). The string is not dynamically allocated;\r | |
72 | // instead, it *aliases* the FileName or FullName field of the\r | |
73 | // EFI_SHELL_FILE_INFO object that was first encountered with this name.\r | |
74 | //\r | |
47d20b54 | 75 | CONST CHAR16 *Alias;\r |
101c55ac LE |
76 | //\r |
77 | // A list of EFI_SHELL_FILE_INFO objects whose FileName or FullName fields\r | |
78 | // compare equal to Alias, according to gUnicodeCollation->StriColl().\r | |
79 | //\r | |
47d20b54 | 80 | LIST_ENTRY SameNameList;\r |
101c55ac | 81 | } SHELL_SORT_UNIQUE_NAME;\r |
a405b86d | 82 | \r |
83 | #endif //_UEFI_COMMAND_LIB_INTERNAL_HEADER_\r |