blob: e83b6cf50441aa405cad6e9c730b01d6c15160ac [file] [log] [blame]
jcarseya405b862010-09-14 05:18:09 +00001## @file ShellPkg.dec
jcarsey94b17fa2009-05-07 18:46:18 +00002#
3# This Package provides all definitions for EFI and UEFI Shell
4#
mdkinney53b1c0c2011-05-04 21:43:25 +00005# Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
jcarsey94b17fa2009-05-07 18:46:18 +00006#
jcarsey94b17fa2009-05-07 18:46:18 +00007# This program and the accompanying materials are licensed and made available under
8# the terms and conditions of the BSD License which accompanies this distribution.
9# The full text of the license may be found at
10# http://opensource.org/licenses/bsd-license.php
11#
12# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14#
15##
16
jcarsey94b17fa2009-05-07 18:46:18 +000017[Defines]
18 DEC_SPECIFICATION = 0x00010005
19 PACKAGE_NAME = ShellPkg
20 PACKAGE_GUID = 9FB7587C-93F7-40a7-9C04-FD7BA94EE646
jcarseya405b862010-09-14 05:18:09 +000021 PACKAGE_VERSION = 0.40
jcarsey94b17fa2009-05-07 18:46:18 +000022
mdkinneyedd88d52011-05-09 17:51:58 +000023[Includes]
jcarsey94b17fa2009-05-07 18:46:18 +000024 Include
25
mdkinneyedd88d52011-05-09 17:51:58 +000026[LibraryClasses]
jcarseya405b862010-09-14 05:18:09 +000027 ## @libraryclass Provides most Shell APIs. Only available for Shell applications
jcarsey94b17fa2009-05-07 18:46:18 +000028 ShellLib|Include/Library/ShellLib.h
29
jcarseya405b862010-09-14 05:18:09 +000030 ## @libraryclass Provides shell internal support Only available for shell internal commands
31 ShellCommandLib|Include/Library/ShellCommandLib.h
32
33 ## @libraryclass provides EFI_FILE_HANDLE services used by Shell and ShellLib
jcarseyd2b45642009-05-11 18:02:16 +000034 FileHandleLib|Include/Library/FileHandleLib.h
jcarseya405b862010-09-14 05:18:09 +000035
jcarsey4983ca92009-07-13 19:33:35 +000036 ## @libraryclass Allows for a shell application to have a C style entry point
jcarseyb1f95a02009-06-16 00:23:19 +000037 ShellCEntryLib|Include/Library/ShellCEntryLib.h
jcarseyd2b45642009-05-11 18:02:16 +000038
jcarsey4983ca92009-07-13 19:33:35 +000039 ## @libraryclass Provides sorting functions
jcarseya405b862010-09-14 05:18:09 +000040 SortLib|Include/Library/SortLib.h
jcarsey4983ca92009-07-13 19:33:35 +000041
jcarseya405b862010-09-14 05:18:09 +000042 ## @libraryclass Provides advanced parsing functions
43 HandleParsingLib|Include/Library/HandleParsingLib.h
jcarseyab945872011-06-30 22:58:53 +000044
45 ## @libraryclass Provides path manipulation functions
46 PathLib|Include/Library/PathLib.h
jcarseyd2b45642009-05-11 18:02:16 +000047
mdkinneyedd88d52011-05-09 17:51:58 +000048[Guids]
jcarsey94b17fa2009-05-07 18:46:18 +000049 gEfiShellEnvironment2ExtGuid = {0xd2c18636, 0x40e5, 0x4eb5, {0xa3, 0x1b, 0x36, 0x69, 0x5f, 0xd4, 0x2c, 0x87}}
jcarseya405b862010-09-14 05:18:09 +000050 gEfiShellPkgTokenSpaceGuid = {0x171e9188, 0x31d3, 0x40f5, {0xb1, 0x0c, 0x53, 0x9b, 0x2d, 0xb9, 0x40, 0xcd}}
51 gShellVariableGuid = {0x158def5a, 0xf656, 0x419c, {0xb0, 0x27, 0x7a, 0x31, 0x92, 0xc0, 0x79, 0xd2}}
52 gShellMapGuid = {0x51271e13, 0x7de3, 0x43af, {0x8b, 0xc2, 0x71, 0xad, 0x3b, 0x82, 0x43, 0x25}}
53 gShellAliasGuid = {0x0053d9d6, 0x2659, 0x4599, {0xa2, 0x6b, 0xef, 0x45, 0x36, 0xe6, 0x31, 0xa9}}
jcarsey94b17fa2009-05-07 18:46:18 +000054
mdkinneyedd88d52011-05-09 17:51:58 +000055[Protocols]
jcarsey94b17fa2009-05-07 18:46:18 +000056 gEfiShellProtocolGuid = {0x6302d008, 0x7f9b, 0x4f30, {0x87, 0xac, 0x60, 0xc9, 0xfe, 0xf5, 0xda, 0x4e}}
57 gEfiShellParametersProtocolGuid = {0x752f3136, 0x4e16, 0x4fdc, {0xa2, 0x2a, 0xe5, 0xf4, 0x68, 0x12, 0xf4, 0xca}}
58 gEfiShellEnvironment2Guid = {0x47c7b221, 0xc42a, 0x11d2, {0x8e, 0x57, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}
59 gEfiShellInterfaceGuid = {0x47c7b223, 0xc42a, 0x11d2, {0x8e, 0x57, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}
60
mdkinneyedd88d52011-05-09 17:51:58 +000061[PcdsFeatureFlag]
62 ## This flag is used to control whether the shell includes NT32 platform Guids
63 # and thereby prevents dependancy on that Pkg
64 gEfiShellPkgTokenSpaceGuid.PcdShellIncludeNtGuids|TRUE|BOOLEAN|0x0000000E
65
66 ## This flag is used to control HII required by the shell
67 gEfiShellPkgTokenSpaceGuid.PcdShellRequireHiiPlatform|TRUE|BOOLEAN|0x00000003
68
69 ## This flag is used to control HII required by the shell
70 gEfiShellPkgTokenSpaceGuid.PcdShellSupportFrameworkHii|FALSE|BOOLEAN|0x00000004
71
72 ## This flag forces the shell to present a user console. Allows for earlier debugging of platforms.
73 gEfiShellPkgTokenSpaceGuid.PcdShellForceConsole|FALSE|BOOLEAN|0x0000000F
74
jcarseyb1f95a02009-06-16 00:23:19 +000075[PcdsFixedAtBuild]
jcarseyd2b45642009-05-11 18:02:16 +000076 ## This flag is used to control initialization of the shell library
jcarseya405b862010-09-14 05:18:09 +000077 # This should be FALSE for compiling the shell application itself only.
jcarsey02864f52009-12-01 05:45:51 +000078 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|TRUE|BOOLEAN|0x00000005
79
jcarseya405b862010-09-14 05:18:09 +000080 ## This is the max buffer for ShellLib, FileHandleLib, and internal Shell printings.
81 gEfiShellPkgTokenSpaceGuid.PcdShellPrintBufferSize|16000|UINT16|0x0000000C
jcarsey02864f52009-12-01 05:45:51 +000082
jcarseya405b862010-09-14 05:18:09 +000083 ## This flag is used to control the commands available in the shell
84 gEfiShellPkgTokenSpaceGuid.PcdShellSupportLevel|3|UINT8|0x00000001
jcarsey02864f52009-12-01 05:45:51 +000085
jcarseya405b862010-09-14 05:18:09 +000086 ## This flag is used to control the profiles available in the shell
87 # don't forget to update the text file if you change this.
88 # bit 0 = Drivers1
89 # bit 1 = Debug1
90 # bit 2 = Install1
91 # bit 3 = Network1
92 gEfiShellPkgTokenSpaceGuid.PcdShellProfileMask|0xFF|UINT8|0x0000000D
93
94 ## This is the character count for allocation for consistent mappings
95 gEfiShellPkgTokenSpaceGuid.PcdShellMapNameLength|50|UINT8|0x00000009
96
97 ## This determins how many bytes are read out of files at a time for file operations (type, copy, etc...)
98 gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|1000|UINT16|0x0000000A
99
mdkinney53b1c0c2011-05-04 21:43:25 +0000100[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
jcarseya405b862010-09-14 05:18:09 +0000101 ## This flag is used to control the protocols produced by the shell
102 # If TRUE the shell will produce EFI_SHELL_ENVIRONMENT2 and EFI_SHELL_INTERFACE
103 gEfiShellPkgTokenSpaceGuid.PcdShellSupportOldProtocols|FALSE|BOOLEAN|0x00000002
104
105 ## this flag determins whether Page Break (-b) defaults to on or off in the shell
106 gEfiShellPkgTokenSpaceGuid.PcdShellPageBreakDefault|FALSE|BOOLEAN|0x00000006
107
108 ## this flag determins whether insert mode for typing is default (FALSE means typeover)
109 gEfiShellPkgTokenSpaceGuid.PcdShellInsertModeDefault|TRUE|BOOLEAN|0x00000007
110
111 ## this flag determins the default number of screens kept for history log.
112 # the spec defines 3 as the minimum
113 gEfiShellPkgTokenSpaceGuid.PcdShellScreenLogCount|3|UINT8|0x00000008