Add check whether input parameter is NULL before call freepool API defined in MDE.
[mirror_edk2.git] / EdkModulePkg / Universal / Console / Terminal / Dxe / Terminal.msa
CommitLineData
878ddf1f 1<?xml version="1.0" encoding="UTF-8"?>\r
53b86193 2<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">\r
878ddf1f 3 <MsaHeader>\r
1f86f081 4 <ModuleName>Terminal</ModuleName>\r
878ddf1f 5 <ModuleType>DXE_DRIVER</ModuleType>\r
1f86f081 6 <GuidValue>9E863906-A40F-4875-977F-5B93FF237FC6</GuidValue>\r
7 <Version>1.0</Version>\r
47a16b84 8 <Abstract>Component description file for Terminal module.</Abstract>\r
08aa37e0 9 <Description>This driver installs Simple Text In/Out protocol for terminal devices (serial devices or hotplug devices).</Description>\r
6c18e19a 10 <Copyright>Copyright (c) 2006 - 2007, Intel Corporation</Copyright>\r
62f84315
LG
11 <License>All rights reserved. This program and the accompanying materials\r
12 are licensed and made available under the terms and conditions of the BSD License\r
13 which accompanies this distribution. The full text of the license may be found at\r
14 http://opensource.org/licenses/bsd-license.php\r
15 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
1f86f081 16 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
17 <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>\r
878ddf1f 18 </MsaHeader>\r
1f86f081 19 <ModuleDefinitions>\r
20 <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>\r
21 <BinaryModule>false</BinaryModule>\r
22 <OutputFileBasename>Terminal</OutputFileBasename>\r
23 </ModuleDefinitions>\r
878ddf1f 24 <LibraryClassDefinitions>\r
6c18e19a 25 <LibraryClass Usage="ALWAYS_CONSUMED" RecommendedInstanceGuid="bda39d3a-451b-4350-8266-81ab10fa0523">\r
1f86f081 26 <Keyword>DebugLib</Keyword>\r
6c18e19a 27 <HelpText>Recommended libary Instance is PeiDxeDebugLibReportStatusCode instance in MdePkg.</HelpText>\r
1f86f081 28 </LibraryClass>\r
29 <LibraryClass Usage="ALWAYS_CONSUMED">\r
30 <Keyword>UefiDriverModelLib</Keyword>\r
31 </LibraryClass>\r
32 <LibraryClass Usage="ALWAYS_CONSUMED">\r
33 <Keyword>UefiDriverEntryPoint</Keyword>\r
34 </LibraryClass>\r
35 <LibraryClass Usage="ALWAYS_CONSUMED">\r
36 <Keyword>UefiLib</Keyword>\r
37 </LibraryClass>\r
38 <LibraryClass Usage="ALWAYS_CONSUMED">\r
39 <Keyword>ReportStatusCodeLib</Keyword>\r
40 </LibraryClass>\r
41 <LibraryClass Usage="ALWAYS_CONSUMED">\r
42 <Keyword>BaseMemoryLib</Keyword>\r
43 </LibraryClass>\r
44 <LibraryClass Usage="ALWAYS_CONSUMED">\r
45 <Keyword>MemoryAllocationLib</Keyword>\r
46 </LibraryClass>\r
47 <LibraryClass Usage="ALWAYS_CONSUMED">\r
48 <Keyword>UefiBootServicesTableLib</Keyword>\r
49 </LibraryClass>\r
50 <LibraryClass Usage="ALWAYS_CONSUMED">\r
51 <Keyword>UefiRuntimeServicesTableLib</Keyword>\r
52 </LibraryClass>\r
53 <LibraryClass Usage="ALWAYS_CONSUMED">\r
54 <Keyword>DevicePathLib</Keyword>\r
55 </LibraryClass>\r
878ddf1f 56 </LibraryClassDefinitions>\r
57 <SourceFiles>\r
58 <Filename>Terminal.h</Filename>\r
59 <Filename>Terminal.c</Filename>\r
60 <Filename>TerminalConIn.c</Filename>\r
61 <Filename>TerminalConOut.c</Filename>\r
62 <Filename>ansi.c</Filename>\r
63 <Filename>vtutf8.c</Filename>\r
64 <Filename>ComponentName.c</Filename>\r
65 </SourceFiles>\r
1f86f081 66 <PackageDependencies>\r
67 <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
62f84315 68 <Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>\r
1f86f081 69 </PackageDependencies>\r
878ddf1f 70 <Protocols>\r
1f86f081 71 <Protocol Usage="BY_START">\r
53b86193 72 <ProtocolCName>gEfiSimpleTextOutProtocolGuid</ProtocolCName>\r
1f86f081 73 </Protocol>\r
74 <Protocol Usage="BY_START">\r
53b86193 75 <ProtocolCName>gEfiSimpleTextInProtocolGuid</ProtocolCName>\r
1f86f081 76 </Protocol>\r
77 <Protocol Usage="TO_START">\r
53b86193 78 <ProtocolCName>gEfiDevicePathProtocolGuid</ProtocolCName>\r
1f86f081 79 </Protocol>\r
80 <Protocol Usage="TO_START">\r
53b86193 81 <ProtocolCName>gEfiSerialIoProtocolGuid</ProtocolCName>\r
1f86f081 82 </Protocol>\r
878ddf1f 83 </Protocols>\r
84 <Variables>\r
85 <Variable Usage="SOMETIMES_CONSUMED">\r
1f86f081 86 <VariableName>0x0043 0x006F 0x006E 0x0049 0x006E 0x0044 0x0065 0x0076</VariableName>\r
6c18e19a
LG
87 <GuidC_Name>gEfiGlobalVariableGuid</GuidC_Name>\r
88 <HelpText>L"ConInDev" global variable will be updated if the serial device is not a hot plug device.</HelpText>\r
878ddf1f 89 </Variable>\r
90 <Variable Usage="SOMETIMES_CONSUMED">\r
1f86f081 91 <VariableName>0x0043 0x006F 0x006E 0x004F 0x0075 0x0074 0x0044 0x0065 0x0076</VariableName>\r
6c18e19a
LG
92 <GuidC_Name>gEfiGlobalVariableGuid</GuidC_Name>\r
93 <HelpText>L"ConOutDev" global variable will be updated if the serial device is not a hot plug device.</HelpText>\r
878ddf1f 94 </Variable>\r
95 <Variable Usage="SOMETIMES_CONSUMED">\r
1f86f081 96 <VariableName>0x0045 0x0072 0x0072 0x004F 0x0075 0x0074 0x0044 0x0065 0x0076</VariableName>\r
6c18e19a
LG
97 <GuidC_Name>gEfiGlobalVariableGuid</GuidC_Name>\r
98 <HelpText>L"ErrOutDev" global variable will be updated if the serial device is not a hot plug device.</HelpText>\r
878ddf1f 99 </Variable>\r
1f86f081 100 </Variables>\r
878ddf1f 101 <Guids>\r
1f86f081 102 <GuidCNames Usage="SOMETIMES_CONSUMED">\r
53b86193 103 <GuidCName>gEfiHotPlugDeviceGuid</GuidCName>\r
1f86f081 104 </GuidCNames>\r
105 <GuidCNames Usage="SOMETIMES_CONSUMED">\r
53b86193 106 <GuidCName>gEfiGlobalVariableGuid</GuidCName>\r
1f86f081 107 </GuidCNames>\r
108 <GuidCNames Usage="SOMETIMES_CONSUMED">\r
53b86193 109 <GuidCName>gEfiPcAnsiGuid</GuidCName>\r
1f86f081 110 </GuidCNames>\r
111 <GuidCNames Usage="SOMETIMES_CONSUMED">\r
53b86193 112 <GuidCName>gEfiVT100PlusGuid</GuidCName>\r
1f86f081 113 </GuidCNames>\r
114 <GuidCNames Usage="SOMETIMES_CONSUMED">\r
53b86193 115 <GuidCName>gEfiVT100Guid</GuidCName>\r
1f86f081 116 </GuidCNames>\r
117 <GuidCNames Usage="SOMETIMES_CONSUMED">\r
53b86193 118 <GuidCName>gEfiVTUTF8Guid</GuidCName>\r
1f86f081 119 </GuidCNames>\r
878ddf1f 120 </Guids>\r
121 <Externs>\r
1f86f081 122 <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
15b06e58 123 <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r
878ddf1f 124 <Extern>\r
1f86f081 125 <DriverBinding>gTerminalDriverBinding</DriverBinding>\r
878ddf1f 126 <ComponentName>gTerminalComponentName</ComponentName>\r
127 </Extern>\r
128 </Externs>\r
1f86f081 129</ModuleSurfaceArea>