]> git.proxmox.com Git - mirror_edk2.git/blame - ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h
ShellPkg: Apply uncrustify changes
[mirror_edk2.git] / ShellPkg / Library / UefiShellCommandLib / UefiShellCommandLib.h
CommitLineData
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
44typedef 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
54typedef struct {\r
47d20b54
MK
55 LIST_ENTRY Link;\r
56 SCRIPT_FILE *Data;\r
a405b86d 57} SCRIPT_FILE_LIST;\r
58\r
a405b86d 59typedef 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
67typedef 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