]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Source/Python/CommonDataClass/FdfClass.py
BaseTools: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / BaseTools / Source / Python / CommonDataClass / FdfClass.py
CommitLineData
30fdf114
LG
1## @file\r
2# classes represent data in FDF\r
3#\r
f7496d71 4# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
30fdf114 5#\r
2e351cbe 6# SPDX-License-Identifier: BSD-2-Clause-Patent\r
30fdf114
LG
7#\r
8\r
9## FD data in FDF\r
10#\r
11#\r
12class FDClassObject:\r
13 ## The constructor\r
14 #\r
15 # @param self The object pointer\r
16 #\r
17 def __init__(self):\r
18 self.FdUiName = ''\r
19 self.CreateFileName = None\r
20 self.BaseAddress = None\r
21 self.BaseAddressPcd = None\r
22 self.Size = None\r
23 self.SizePcd = None\r
e8a47801 24 self.ErasePolarity = None\r
30fdf114
LG
25 # 3-tuple list (blockSize, numBlocks, pcd)\r
26 self.BlockSizeList = []\r
27 # DefineVarDict[var] = value\r
28 self.DefineVarDict = {}\r
29 # SetVarDict[var] = value\r
30 self.SetVarDict = {}\r
31 self.RegionList = []\r
30fdf114 32\r
30fdf114
LG
33## FFS data in FDF\r
34#\r
f7496d71 35#\r
30fdf114
LG
36class FfsClassObject:\r
37 ## The constructor\r
38 #\r
39 # @param self The object pointer\r
40 #\r
41 def __init__(self):\r
42 self.NameGuid = None\r
43 self.Fixed = False\r
44 self.CheckSum = False\r
45 self.Alignment = None\r
46 self.SectionList = []\r
47\r
48## FILE statement data in FDF\r
49#\r
f7496d71 50#\r
30fdf114
LG
51class FileStatementClassObject (FfsClassObject) :\r
52 ## The constructor\r
53 #\r
54 # @param self The object pointer\r
55 #\r
56 def __init__(self):\r
57 FfsClassObject.__init__(self)\r
58 self.FvFileType = None\r
59 self.FileName = None\r
60 self.KeyStringList = []\r
61 self.FvName = None\r
62 self.FdName = None\r
63 self.DefineVarDict = {}\r
30fdf114
LG
64 self.KeepReloc = None\r
65\r
66## INF statement data in FDF\r
67#\r
68#\r
69class FfsInfStatementClassObject(FfsClassObject):\r
70 ## The constructor\r
71 #\r
72 # @param self The object pointer\r
73 #\r
74 def __init__(self):\r
75 FfsClassObject.__init__(self)\r
76 self.Rule = None\r
77 self.Version = None\r
78 self.Ui = None\r
79 self.InfFileName = None\r
80 self.BuildNum = ''\r
81 self.KeyStringList = []\r
82 self.KeepReloc = None\r
83 self.UseArch = None\r
84\r
30fdf114
LG
85## section data in FDF\r
86#\r
f7496d71 87#\r
30fdf114
LG
88class SectionClassObject:\r
89 ## The constructor\r
90 #\r
91 # @param self The object pointer\r
92 #\r
93 def __init__(self):\r
94 self.Alignment = None\r
f7496d71 95\r
30fdf114
LG
96## Depex expression section in FDF\r
97#\r
f7496d71 98#\r
30fdf114
LG
99class DepexSectionClassObject (SectionClassObject):\r
100 ## The constructor\r
101 #\r
102 # @param self The object pointer\r
103 #\r
104 def __init__(self):\r
105 self.DepexType = None\r
106 self.Expression = None\r
52302d4d 107 self.ExpressionProcessed = False\r
30fdf114
LG
108\r
109## Compress section data in FDF\r
110#\r
111#\r
112class CompressSectionClassObject (SectionClassObject) :\r
113 ## The constructor\r
114 #\r
115 # @param self The object pointer\r
116 #\r
117 def __init__(self):\r
118 SectionClassObject.__init__(self)\r
119 self.CompType = None\r
120 self.SectionList = []\r
121\r
122## Data section data in FDF\r
123#\r
f7496d71 124#\r
30fdf114
LG
125class DataSectionClassObject (SectionClassObject):\r
126 ## The constructor\r
127 #\r
128 # @param self The object pointer\r
129 #\r
130 def __init__(self):\r
131 SectionClassObject.__init__(self)\r
132 self.SecType = None\r
133 self.SectFileName = None\r
134 self.SectionList = []\r
135 self.KeepReloc = True\r
136\r
137## Rule section data in FDF\r
138#\r
139#\r
140class EfiSectionClassObject (SectionClassObject):\r
141 ## The constructor\r
142 #\r
143 # @param self The object pointer\r
144 #\r
145 def __init__(self):\r
146 SectionClassObject.__init__(self)\r
147 self.SectionType = None\r
148 self.Optional = False\r
149 self.FileType = None\r
150 self.StringData = None\r
151 self.FileName = None\r
152 self.FileExtension = None\r
153 self.BuildNum = None\r
154 self.KeepReloc = None\r
155\r
156## FV image section data in FDF\r
157#\r
f7496d71 158#\r
30fdf114
LG
159class FvImageSectionClassObject (SectionClassObject):\r
160 ## The constructor\r
161 #\r
162 # @param self The object pointer\r
163 #\r
164 def __init__(self):\r
165 SectionClassObject.__init__(self)\r
166 self.Fv = None\r
167 self.FvName = None\r
168 self.FvFileType = None\r
169 self.FvFileName = None\r
170 self.FvFileExtension = None\r
52302d4d 171 self.FvAddr = None\r
30fdf114
LG
172\r
173## GUIDed section data in FDF\r
174#\r
f7496d71 175#\r
30fdf114
LG
176class GuidSectionClassObject (SectionClassObject) :\r
177 ## The constructor\r
178 #\r
179 # @param self The object pointer\r
180 #\r
181 def __init__(self):\r
182 SectionClassObject.__init__(self)\r
183 self.NameGuid = None\r
184 self.SectionList = []\r
185 self.SectionType = None\r
186 self.ProcessRequired = False\r
187 self.AuthStatusValid = False\r
25918452 188 self.ExtraHeaderSize = -1\r
52302d4d
LG
189 self.FvAddr = []\r
190 self.FvParentAddr = None\r
191 self.IncludeFvSection = False\r
30fdf114
LG
192\r
193## UI section data in FDF\r
194#\r
195#\r
196class UiSectionClassObject (SectionClassObject):\r
197 ## The constructor\r
198 #\r
199 # @param self The object pointer\r
200 #\r
201 def __init__(self):\r
202 SectionClassObject.__init__(self)\r
203 self.StringData = None\r
204 self.FileName = None\r
205\r
206## Version section data in FDF\r
207#\r
f7496d71 208#\r
30fdf114
LG
209class VerSectionClassObject (SectionClassObject):\r
210 ## The constructor\r
211 #\r
212 # @param self The object pointer\r
213 #\r
214 def __init__(self):\r
215 SectionClassObject.__init__(self)\r
216 self.BuildNum = None\r
217 self.StringData = None\r
218 self.FileName = None\r
219\r
220## Rule data in FDF\r
221#\r
222#\r
223class RuleClassObject :\r
224 ## The constructor\r
225 #\r
226 # @param self The object pointer\r
227 #\r
228 def __init__(self):\r
229 self.Arch = None\r
230 self.ModuleType = None # For Module Type\r
231 self.TemplateName = None\r
232 self.NameGuid = None\r
233 self.Fixed = False\r
234 self.Alignment = None\r
52302d4d 235 self.SectAlignment = None\r
30fdf114
LG
236 self.CheckSum = False\r
237 self.FvFileType = None # for Ffs File Type\r
238 self.KeyStringList = []\r
239 self.KeepReloc = None\r
240\r
241## Complex rule data in FDF\r
242#\r
f7496d71 243#\r
30fdf114
LG
244class RuleComplexFileClassObject(RuleClassObject) :\r
245 ## The constructor\r
246 #\r
247 # @param self The object pointer\r
248 #\r
249 def __init__(self):\r
250 RuleClassObject.__init__(self)\r
251 self.SectionList = []\r
252\r
253## Simple rule data in FDF\r
254#\r
255#\r
256class RuleSimpleFileClassObject(RuleClassObject) :\r
257 ## The constructor\r
258 #\r
259 # @param self The object pointer\r
260 #\r
261 def __init__(self):\r
262 RuleClassObject.__init__(self)\r
263 self.FileName = None\r
264 self.SectionType = ''\r
265 self.FileExtension = None\r
266\r
267## File extension rule data in FDF\r
268#\r
269#\r
270class RuleFileExtensionClassObject(RuleClassObject):\r
271 ## The constructor\r
272 #\r
273 # @param self The object pointer\r
274 #\r
275 def __init__(self):\r
276 RuleClassObject.__init__(self)\r
277 self.FileExtension = None\r
278\r
279## Capsule data in FDF\r
280#\r
f7496d71 281#\r
30fdf114
LG
282class CapsuleClassObject :\r
283 ## The constructor\r
284 #\r
285 # @param self The object pointer\r
286 #\r
287 def __init__(self):\r
288 self.SpecName = None\r
289 self.UiCapsuleName = None\r
290 self.CreateFile = None\r
291 self.GroupIdNumber = None\r
292 # DefineVarDict[var] = value\r
293 self.DefineVarDict = {}\r
294 # SetVarDict[var] = value\r
295 self.SetVarDict = {}\r
296 # TokensDict[var] = value\r
297 self.TokensDict = {}\r
298 self.CapsuleDataList = []\r
a3251d84 299 self.FmpPayloadList = []\r
30fdf114 300\r
30fdf114
LG
301## OptionROM data in FDF\r
302#\r
303#\r
304class OptionRomClassObject:\r
305 ## The constructor\r
306 #\r
307 # @param self The object pointer\r
308 #\r
309 def __init__(self):\r
310 self.DriverName = None\r
311 self.FfsList = []\r
f7496d71 312\r