]>
Commit | Line | Data |
---|---|---|
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 | |
12 | class 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 |
36 | class 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 |
51 | class 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 | |
69 | class 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 |
88 | class 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 |
99 | class 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 | |
112 | class 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 |
125 | class 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 | |
140 | class 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 |
159 | class 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 |
176 | class 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 | |
196 | class 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 |
209 | class 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 | |
223 | class 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 |
244 | class 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 | |
256 | class 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 | |
270 | class 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 |
282 | class 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 | |
304 | class 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 |