]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Source/Python/CommonDataClass/FdfClass.py
BaseTools/GenFds: cleanup GenFds
[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
40d841f6 6# This program and the accompanying materials\r
30fdf114
LG
7# are licensed and made available under the terms and conditions of the BSD License\r
8# which accompanies this distribution. The full text of the license may be found at\r
9# http://opensource.org/licenses/bsd-license.php\r
10#\r
11# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13#\r
14\r
15## FD data in FDF\r
16#\r
17#\r
18class FDClassObject:\r
19 ## The constructor\r
20 #\r
21 # @param self The object pointer\r
22 #\r
23 def __init__(self):\r
24 self.FdUiName = ''\r
25 self.CreateFileName = None\r
26 self.BaseAddress = None\r
27 self.BaseAddressPcd = None\r
28 self.Size = None\r
29 self.SizePcd = None\r
e8a47801 30 self.ErasePolarity = None\r
30fdf114
LG
31 # 3-tuple list (blockSize, numBlocks, pcd)\r
32 self.BlockSizeList = []\r
33 # DefineVarDict[var] = value\r
34 self.DefineVarDict = {}\r
35 # SetVarDict[var] = value\r
36 self.SetVarDict = {}\r
37 self.RegionList = []\r
38 self.vtfRawDict = {}\r
39\r
30fdf114
LG
40## FFS data in FDF\r
41#\r
f7496d71 42#\r
30fdf114
LG
43class FfsClassObject:\r
44 ## The constructor\r
45 #\r
46 # @param self The object pointer\r
47 #\r
48 def __init__(self):\r
49 self.NameGuid = None\r
50 self.Fixed = False\r
51 self.CheckSum = False\r
52 self.Alignment = None\r
53 self.SectionList = []\r
54\r
55## FILE statement data in FDF\r
56#\r
f7496d71 57#\r
30fdf114
LG
58class FileStatementClassObject (FfsClassObject) :\r
59 ## The constructor\r
60 #\r
61 # @param self The object pointer\r
62 #\r
63 def __init__(self):\r
64 FfsClassObject.__init__(self)\r
65 self.FvFileType = None\r
66 self.FileName = None\r
67 self.KeyStringList = []\r
68 self.FvName = None\r
69 self.FdName = None\r
70 self.DefineVarDict = {}\r
30fdf114
LG
71 self.KeepReloc = None\r
72\r
73## INF statement data in FDF\r
74#\r
75#\r
76class FfsInfStatementClassObject(FfsClassObject):\r
77 ## The constructor\r
78 #\r
79 # @param self The object pointer\r
80 #\r
81 def __init__(self):\r
82 FfsClassObject.__init__(self)\r
83 self.Rule = None\r
84 self.Version = None\r
85 self.Ui = None\r
86 self.InfFileName = None\r
87 self.BuildNum = ''\r
88 self.KeyStringList = []\r
89 self.KeepReloc = None\r
90 self.UseArch = None\r
91\r
30fdf114
LG
92## section data in FDF\r
93#\r
f7496d71 94#\r
30fdf114
LG
95class SectionClassObject:\r
96 ## The constructor\r
97 #\r
98 # @param self The object pointer\r
99 #\r
100 def __init__(self):\r
101 self.Alignment = None\r
f7496d71 102\r
30fdf114
LG
103## Depex expression section in FDF\r
104#\r
f7496d71 105#\r
30fdf114
LG
106class DepexSectionClassObject (SectionClassObject):\r
107 ## The constructor\r
108 #\r
109 # @param self The object pointer\r
110 #\r
111 def __init__(self):\r
112 self.DepexType = None\r
113 self.Expression = None\r
52302d4d 114 self.ExpressionProcessed = False\r
30fdf114
LG
115\r
116## Compress section data in FDF\r
117#\r
118#\r
119class CompressSectionClassObject (SectionClassObject) :\r
120 ## The constructor\r
121 #\r
122 # @param self The object pointer\r
123 #\r
124 def __init__(self):\r
125 SectionClassObject.__init__(self)\r
126 self.CompType = None\r
127 self.SectionList = []\r
128\r
129## Data section data in FDF\r
130#\r
f7496d71 131#\r
30fdf114
LG
132class DataSectionClassObject (SectionClassObject):\r
133 ## The constructor\r
134 #\r
135 # @param self The object pointer\r
136 #\r
137 def __init__(self):\r
138 SectionClassObject.__init__(self)\r
139 self.SecType = None\r
140 self.SectFileName = None\r
141 self.SectionList = []\r
142 self.KeepReloc = True\r
143\r
144## Rule section data in FDF\r
145#\r
146#\r
147class EfiSectionClassObject (SectionClassObject):\r
148 ## The constructor\r
149 #\r
150 # @param self The object pointer\r
151 #\r
152 def __init__(self):\r
153 SectionClassObject.__init__(self)\r
154 self.SectionType = None\r
155 self.Optional = False\r
156 self.FileType = None\r
157 self.StringData = None\r
158 self.FileName = None\r
159 self.FileExtension = None\r
160 self.BuildNum = None\r
161 self.KeepReloc = None\r
162\r
163## FV image section data in FDF\r
164#\r
f7496d71 165#\r
30fdf114
LG
166class FvImageSectionClassObject (SectionClassObject):\r
167 ## The constructor\r
168 #\r
169 # @param self The object pointer\r
170 #\r
171 def __init__(self):\r
172 SectionClassObject.__init__(self)\r
173 self.Fv = None\r
174 self.FvName = None\r
175 self.FvFileType = None\r
176 self.FvFileName = None\r
177 self.FvFileExtension = None\r
52302d4d 178 self.FvAddr = None\r
30fdf114
LG
179\r
180## GUIDed section data in FDF\r
181#\r
f7496d71 182#\r
30fdf114
LG
183class GuidSectionClassObject (SectionClassObject) :\r
184 ## The constructor\r
185 #\r
186 # @param self The object pointer\r
187 #\r
188 def __init__(self):\r
189 SectionClassObject.__init__(self)\r
190 self.NameGuid = None\r
191 self.SectionList = []\r
192 self.SectionType = None\r
193 self.ProcessRequired = False\r
194 self.AuthStatusValid = False\r
25918452 195 self.ExtraHeaderSize = -1\r
52302d4d
LG
196 self.FvAddr = []\r
197 self.FvParentAddr = None\r
198 self.IncludeFvSection = False\r
30fdf114
LG
199\r
200## UI section data in FDF\r
201#\r
202#\r
203class UiSectionClassObject (SectionClassObject):\r
204 ## The constructor\r
205 #\r
206 # @param self The object pointer\r
207 #\r
208 def __init__(self):\r
209 SectionClassObject.__init__(self)\r
210 self.StringData = None\r
211 self.FileName = None\r
212\r
213## Version section data in FDF\r
214#\r
f7496d71 215#\r
30fdf114
LG
216class VerSectionClassObject (SectionClassObject):\r
217 ## The constructor\r
218 #\r
219 # @param self The object pointer\r
220 #\r
221 def __init__(self):\r
222 SectionClassObject.__init__(self)\r
223 self.BuildNum = None\r
224 self.StringData = None\r
225 self.FileName = None\r
226\r
227## Rule data in FDF\r
228#\r
229#\r
230class RuleClassObject :\r
231 ## The constructor\r
232 #\r
233 # @param self The object pointer\r
234 #\r
235 def __init__(self):\r
236 self.Arch = None\r
237 self.ModuleType = None # For Module Type\r
238 self.TemplateName = None\r
239 self.NameGuid = None\r
240 self.Fixed = False\r
241 self.Alignment = None\r
52302d4d 242 self.SectAlignment = None\r
30fdf114
LG
243 self.CheckSum = False\r
244 self.FvFileType = None # for Ffs File Type\r
245 self.KeyStringList = []\r
246 self.KeepReloc = None\r
247\r
248## Complex rule data in FDF\r
249#\r
f7496d71 250#\r
30fdf114
LG
251class RuleComplexFileClassObject(RuleClassObject) :\r
252 ## The constructor\r
253 #\r
254 # @param self The object pointer\r
255 #\r
256 def __init__(self):\r
257 RuleClassObject.__init__(self)\r
258 self.SectionList = []\r
259\r
260## Simple rule data in FDF\r
261#\r
262#\r
263class RuleSimpleFileClassObject(RuleClassObject) :\r
264 ## The constructor\r
265 #\r
266 # @param self The object pointer\r
267 #\r
268 def __init__(self):\r
269 RuleClassObject.__init__(self)\r
270 self.FileName = None\r
271 self.SectionType = ''\r
272 self.FileExtension = None\r
273\r
274## File extension rule data in FDF\r
275#\r
276#\r
277class RuleFileExtensionClassObject(RuleClassObject):\r
278 ## The constructor\r
279 #\r
280 # @param self The object pointer\r
281 #\r
282 def __init__(self):\r
283 RuleClassObject.__init__(self)\r
284 self.FileExtension = None\r
285\r
286## Capsule data in FDF\r
287#\r
f7496d71 288#\r
30fdf114
LG
289class CapsuleClassObject :\r
290 ## The constructor\r
291 #\r
292 # @param self The object pointer\r
293 #\r
294 def __init__(self):\r
295 self.SpecName = None\r
296 self.UiCapsuleName = None\r
297 self.CreateFile = None\r
298 self.GroupIdNumber = None\r
299 # DefineVarDict[var] = value\r
300 self.DefineVarDict = {}\r
301 # SetVarDict[var] = value\r
302 self.SetVarDict = {}\r
303 # TokensDict[var] = value\r
304 self.TokensDict = {}\r
305 self.CapsuleDataList = []\r
a3251d84 306 self.FmpPayloadList = []\r
30fdf114 307\r
30fdf114
LG
308## VTF component data in FDF\r
309#\r
f7496d71 310#\r
30fdf114
LG
311class ComponentStatementClassObject :\r
312 ## The constructor\r
313 #\r
314 # @param self The object pointer\r
315 #\r
316 def __init__(self):\r
317 self.CompName = None\r
318 self.CompLoc = None\r
319 self.CompType = None\r
320 self.CompVer = None\r
321 self.CompCs = None\r
322 self.CompBin = None\r
323 self.CompSym = None\r
324 self.CompSize = None\r
325 self.FilePos = None\r
f7496d71 326\r
30fdf114
LG
327## OptionROM data in FDF\r
328#\r
329#\r
330class OptionRomClassObject:\r
331 ## The constructor\r
332 #\r
333 # @param self The object pointer\r
334 #\r
335 def __init__(self):\r
336 self.DriverName = None\r
337 self.FfsList = []\r
f7496d71 338\r