EmulatorPkg: Remove framework pkgs dependency from EmulatorPkg
[mirror_edk2.git] / ShellPkg / ShellPkg.dec
1 ## @file ShellPkg.dec\r
2 # This Package provides all definitions for EFI and UEFI Shell\r
3 #\r
4 # (C) Copyright 2013-2014 Hewlett-Packard Development Company, L.P.<BR>\r
5 # Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
6 # Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>\r
7 #\r
8 # SPDX-License-Identifier: BSD-2-Clause-Patent\r
9 #\r
10 ##\r
11 \r
12 [Defines]\r
13   DEC_SPECIFICATION              = 0x00010005\r
14   PACKAGE_NAME                   = ShellPkg\r
15   PACKAGE_GUID                   = C1014BB7-4092-43D4-984F-0738EB424DBF\r
16   PACKAGE_VERSION                = 1.02\r
17 \r
18 [Includes]\r
19   Include\r
20 \r
21 [LibraryClasses]\r
22   ##  @libraryclass  Provides most Shell APIs. Only available for Shell applications\r
23   ShellLib|Include/Library/ShellLib.h\r
24 \r
25   ##  @libraryclass  Provides shell internal support Only available for shell internal commands\r
26   ShellCommandLib|Include/Library/ShellCommandLib.h\r
27 \r
28   ## @libraryclass   Allows for a shell application to have a C style entry point\r
29   ShellCEntryLib|Include/Library/ShellCEntryLib.h\r
30 \r
31   ## @libraryclass   Provides advanced parsing functions\r
32   HandleParsingLib|Include/Library/HandleParsingLib.h\r
33 \r
34   ## @libraryclass   provides BCFG command\r
35   BcfgCommandLib|Include/Library/BcfgCommandLib.h\r
36 \r
37 [Guids]\r
38   gEfiShellEnvironment2ExtGuid    = {0xd2c18636, 0x40e5, 0x4eb5, {0xa3, 0x1b, 0x36, 0x69, 0x5f, 0xd4, 0x2c, 0x87}}\r
39   gEfiShellPkgTokenSpaceGuid      = {0x171e9188, 0x31d3, 0x40f5, {0xb1, 0x0c, 0x53, 0x9b, 0x2d, 0xb9, 0x40, 0xcd}}\r
40   gShellVariableGuid              = {0x158def5a, 0xf656, 0x419c, {0xb0, 0x27, 0x7a, 0x31, 0x92, 0xc0, 0x79, 0xd2}}\r
41   gShellMapGuid                   = {0x51271e13, 0x7de3, 0x43af, {0x8b, 0xc2, 0x71, 0xad, 0x3b, 0x82, 0x43, 0x25}}\r
42   gShellAliasGuid                 = {0x0053d9d6, 0x2659, 0x4599, {0xa2, 0x6b, 0xef, 0x45, 0x36, 0xe6, 0x31, 0xa9}}\r
43   gHandleParsingHiiGuid           = {0xb8969637, 0x81de, 0x43af, {0xbc, 0x9a, 0x24, 0xd9, 0x89, 0x13, 0xf2, 0xf6}}\r
44   gShellDebug1HiiGuid             = {0x25f200aa, 0xd3cb, 0x470a, {0xbf, 0x51, 0xe7, 0xd1, 0x62, 0xd2, 0x2e, 0x6f}}\r
45   gShellDriver1HiiGuid            = {0xaf0b742, 0x63ec, 0x45bd, {0x8d, 0xb6, 0x71, 0xad, 0x7f, 0x2f, 0xe8, 0xe8}}\r
46   gShellInstall1HiiGuid           = {0x7d574d54, 0xd364, 0x4d4a, {0x95, 0xe3, 0x49, 0x45, 0xdb, 0x7a, 0xd3, 0xee}}\r
47   gShellLevel1HiiGuid             = {0xdec5daa4, 0x6781, 0x4820, {0x9c, 0x63, 0xa7, 0xb0, 0xe4, 0xf1, 0xdb, 0x31}}\r
48   gShellLevel2HiiGuid             = {0xf95a7ccc, 0x4c55, 0x4426, {0xa7, 0xb4, 0xdc, 0x89, 0x61, 0x95, 0xb, 0xae}}\r
49   gShellLevel3HiiGuid             = {0x4344558d, 0x4ef9, 0x4725, {0xb1, 0xe4, 0x33, 0x76, 0xe8, 0xd6, 0x97, 0x4f}}\r
50   gShellNetwork1HiiGuid           = {0xf3d301bb, 0xf4a5, 0x45a8, {0xb0, 0xb7, 0xfa, 0x99, 0x9c, 0x62, 0x37, 0xae}}\r
51   gShellNetwork2HiiGuid           = {0x174b2b5, 0xf505, 0x4b12, {0xaa, 0x60, 0x59, 0xdf, 0xf8, 0xd6, 0xea, 0x37}}\r
52   gShellTftpHiiGuid               = {0x738a9314, 0x82c1, 0x4592, {0x8f, 0xf7, 0xc1, 0xbd, 0xf1, 0xb2, 0x0e, 0xd4}}\r
53   gShellBcfgHiiGuid               = {0x5f5f605d, 0x1583, 0x4a2d, {0xa6, 0xb2, 0xeb, 0x12, 0xda, 0xb4, 0xa2, 0xb6}}\r
54   gShellAcpiViewHiiGuid           = {0xda8ccdf4, 0xed8f, 0x4ffc, {0xb5, 0xef, 0x2e, 0xf5, 0x5e, 0x24, 0x93, 0x2a}}\r
55   # FILE_GUID as defined in ShellPkg/Application/Shell/Shell.inf\r
56   gUefiShellFileGuid              = {0x7c04a583, 0x9e3e, 0x4f1c, {0xad, 0x65, 0xe0, 0x52, 0x68, 0xd0, 0xb4, 0xd1}}\r
57 \r
58 [Protocols]\r
59   gEfiShellEnvironment2Guid           = {0x47c7b221, 0xc42a, 0x11d2, {0x8e, 0x57, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}\r
60   gEfiShellInterfaceGuid              = {0x47c7b223, 0xc42a, 0x11d2, {0x8e, 0x57, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}\r
61 \r
62 [PcdsFeatureFlag]\r
63   ## This flag is used to control whether the shell includes NT32 platform Guids\r
64   #  and thereby prevents dependancy on that Pkg\r
65   gEfiShellPkgTokenSpaceGuid.PcdShellIncludeNtGuids|TRUE|BOOLEAN|0x0000000E\r
66 \r
67   ## This flag is used to control HII required by the shell\r
68   gEfiShellPkgTokenSpaceGuid.PcdShellRequireHiiPlatform|TRUE|BOOLEAN|0x00000003\r
69 \r
70   ## This flag is used to control HII required by the shell\r
71   gEfiShellPkgTokenSpaceGuid.PcdShellSupportFrameworkHii|FALSE|BOOLEAN|0x00000004\r
72 \r
73   ## This flag forces the shell to present a user console.  Allows for earlier debugging of platforms.\r
74   gEfiShellPkgTokenSpaceGuid.PcdShellForceConsole|FALSE|BOOLEAN|0x0000000F\r
75 \r
76 [PcdsFixedAtBuild]\r
77   ## This flag is used to control initialization of the shell library\r
78   #  This should be FALSE for compiling the shell application itself only.\r
79   #  This should be FALSE for compiling the dynamic command drivers.\r
80   gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|TRUE|BOOLEAN|0x00000005\r
81 \r
82   ## This is the max buffer for ShellLib and internal Shell printings.\r
83   gEfiShellPkgTokenSpaceGuid.PcdShellPrintBufferSize|16000|UINT16|0x0000000C\r
84 \r
85   ## This flag is used to control the commands available in the shell\r
86   gEfiShellPkgTokenSpaceGuid.PcdShellSupportLevel|3|UINT8|0x00000001\r
87 \r
88   ## This flag is used to control the profiles available in the shell\r
89   #  don't forget to update the text file if you change this.\r
90   #  bit 0 = Drivers1\r
91   #  bit 1 = Debug1\r
92   #  bit 2 = Install1\r
93   #  bit 3 = Network1\r
94   #  bit 4 = Network2\r
95   gEfiShellPkgTokenSpaceGuid.PcdShellProfileMask|0xFF|UINT8|0x0000000D\r
96 \r
97   ## This is the character count for allocation for consistent mappings\r
98   gEfiShellPkgTokenSpaceGuid.PcdShellMapNameLength|50|UINT8|0x00000009\r
99 \r
100   ## This determines how many bytes are read out of files at a time for file operations (type, copy, etc...)\r
101   gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x1000|UINT32|0x0000000A\r
102 \r
103   ## This determines the max count of history commands\r
104   gEfiShellPkgTokenSpaceGuid.PcdShellMaxHistoryCommandCount|0x0020|UINT16|0x00000014\r
105 \r
106 [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]\r
107   ## This flag is used to control the protocols produced by the shell\r
108   #  If TRUE the shell will produce EFI_SHELL_ENVIRONMENT2 and EFI_SHELL_INTERFACE\r
109   gEfiShellPkgTokenSpaceGuid.PcdShellSupportOldProtocols|FALSE|BOOLEAN|0x00000002\r
110 \r
111   ## this flag determines whether Page Break (-b) defaults to on or off in the shell\r
112   gEfiShellPkgTokenSpaceGuid.PcdShellPageBreakDefault|FALSE|BOOLEAN|0x00000006\r
113 \r
114   ## this flag determines whether insert mode for typing is default (FALSE means typeover)\r
115   gEfiShellPkgTokenSpaceGuid.PcdShellInsertModeDefault|TRUE|BOOLEAN|0x00000007\r
116 \r
117   ## this flag determines the default number of screens kept for history log.\r
118   #  the spec defines 3 as the minimum\r
119   gEfiShellPkgTokenSpaceGuid.PcdShellScreenLogCount|3|UINT8|0x00000008\r
120 \r
121   ## Unicode string of the shell supplier\r
122   gEfiShellPkgTokenSpaceGuid.PcdShellSupplier|L"EDK II"|VOID*|0x00000010\r
123 \r
124   ## Do extended decode of USB for determining media type\r
125   gEfiShellPkgTokenSpaceGuid.PcdUsbExtendedDecode|TRUE|BOOLEAN|0x00000011\r
126 \r
127   ## Do iSCSI decode for map names.\r
128   # This is disabled by default due to the length of generated strings\r
129   gEfiShellPkgTokenSpaceGuid.PcdShellDecodeIScsiMapNames|FALSE|BOOLEAN|0x00000012\r
130 \r
131   ## Controls Extended decode for Vendor device path nodes for map names.\r
132   # Up to this many bytes of vendor specific data will be used. Default is 0\r
133   # (disabled).\r
134   gEfiShellPkgTokenSpaceGuid.PcdShellVendorExtendedDecode|0|UINT32|0x00000013\r