2 # classes represent data in FDF
4 # Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
6 # This program and the accompanying materials
7 # are licensed and made available under the terms and conditions of the BSD License
8 # which accompanies this distribution. The full text of the license may be found at
9 # http://opensource.org/licenses/bsd-license.php
11 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
21 # @param self The object pointer
25 self
.CreateFileName
= None
26 self
.BaseAddress
= None
27 self
.BaseAddressPcd
= None
30 self
.ErasePolarity
= '1'
31 # 3-tuple list (blockSize, numBlocks, pcd)
32 self
.BlockSizeList
= []
33 # DefineVarDict[var] = value
34 self
.DefineVarDict
= {}
35 # SetVarDict[var] = value
46 # @param self The object pointer
50 self
.CreateFileName
= None
51 # 3-tuple list (blockSize, numBlocks, pcd)
52 self
.BlockSizeList
= []
53 # DefineVarDict[var] = value
54 self
.DefineVarDict
= {}
55 # SetVarDict[var] = value
57 self
.FvAlignment
= None
58 # FvAttributeDict[attribute] = TRUE/FALSE (1/0)
59 self
.FvAttributeDict
= {}
60 self
.FvNameGuid
= None
61 self
.AprioriSectionList
= []
63 self
.BsBaseAddress
= None
64 self
.RtBaseAddress
= None
69 class RegionClassObject
:
72 # @param self The object pointer
75 self
.Offset
= None # The begin position of the Region
76 self
.Size
= None # The Size of the Region
80 self
.RegionType
= None
81 self
.RegionDataList
= []
89 # @param self The object pointer
98 ## FILE statement data in FDF
101 class FileStatementClassObject (FfsClassObject
) :
104 # @param self The object pointer
107 FfsClassObject
.__init
__(self
)
108 self
.FvFileType
= None
110 self
.KeyStringList
= []
113 self
.DefineVarDict
= {}
114 self
.AprioriSection
= None
115 self
.KeepReloc
= None
117 ## INF statement data in FDF
120 class FfsInfStatementClassObject(FfsClassObject
):
123 # @param self The object pointer
126 FfsClassObject
.__init
__(self
)
130 self
.InfFileName
= None
132 self
.KeyStringList
= []
133 self
.KeepReloc
= None
136 ## APRIORI section data in FDF
139 class AprioriSectionClassObject
:
142 # @param self The object pointer
145 # DefineVarDict[var] = value
146 self
.DefineVarDict
= {}
149 ## section data in FDF
152 class SectionClassObject
:
155 # @param self The object pointer
158 self
.Alignment
= None
160 ## Depex expression section in FDF
163 class DepexSectionClassObject (SectionClassObject
):
166 # @param self The object pointer
169 self
.DepexType
= None
170 self
.Expression
= None
171 self
.ExpressionProcessed
= False
173 ## Compress section data in FDF
176 class CompressSectionClassObject (SectionClassObject
) :
179 # @param self The object pointer
182 SectionClassObject
.__init
__(self
)
184 self
.SectionList
= []
186 ## Data section data in FDF
189 class DataSectionClassObject (SectionClassObject
):
192 # @param self The object pointer
195 SectionClassObject
.__init
__(self
)
197 self
.SectFileName
= None
198 self
.SectionList
= []
199 self
.KeepReloc
= True
201 ## Rule section data in FDF
204 class EfiSectionClassObject (SectionClassObject
):
207 # @param self The object pointer
210 SectionClassObject
.__init
__(self
)
211 self
.SectionType
= None
212 self
.Optional
= False
214 self
.StringData
= None
216 self
.FileExtension
= None
218 self
.KeepReloc
= None
220 ## FV image section data in FDF
223 class FvImageSectionClassObject (SectionClassObject
):
226 # @param self The object pointer
229 SectionClassObject
.__init
__(self
)
232 self
.FvFileType
= None
233 self
.FvFileName
= None
234 self
.FvFileExtension
= None
237 ## GUIDed section data in FDF
240 class GuidSectionClassObject (SectionClassObject
) :
243 # @param self The object pointer
246 SectionClassObject
.__init
__(self
)
248 self
.SectionList
= []
249 self
.SectionType
= None
250 self
.ProcessRequired
= False
251 self
.AuthStatusValid
= False
253 self
.FvParentAddr
= None
254 self
.IncludeFvSection
= False
256 ## UI section data in FDF
259 class UiSectionClassObject (SectionClassObject
):
262 # @param self The object pointer
265 SectionClassObject
.__init
__(self
)
266 self
.StringData
= None
269 ## Version section data in FDF
272 class VerSectionClassObject (SectionClassObject
):
275 # @param self The object pointer
278 SectionClassObject
.__init
__(self
)
280 self
.StringData
= None
286 class RuleClassObject
:
289 # @param self The object pointer
293 self
.ModuleType
= None # For Module Type
294 self
.TemplateName
= None
297 self
.Alignment
= None
298 self
.SectAlignment
= None
299 self
.CheckSum
= False
300 self
.FvFileType
= None # for Ffs File Type
301 self
.KeyStringList
= []
302 self
.KeepReloc
= None
304 ## Complex rule data in FDF
307 class RuleComplexFileClassObject(RuleClassObject
) :
310 # @param self The object pointer
313 RuleClassObject
.__init
__(self
)
314 self
.SectionList
= []
316 ## Simple rule data in FDF
319 class RuleSimpleFileClassObject(RuleClassObject
) :
322 # @param self The object pointer
325 RuleClassObject
.__init
__(self
)
327 self
.SectionType
= ''
328 self
.FileExtension
= None
330 ## File extension rule data in FDF
333 class RuleFileExtensionClassObject(RuleClassObject
):
336 # @param self The object pointer
339 RuleClassObject
.__init
__(self
)
340 self
.FileExtension
= None
342 ## Capsule data in FDF
345 class CapsuleClassObject
:
348 # @param self The object pointer
352 self
.UiCapsuleName
= None
353 self
.CreateFile
= None
354 self
.GroupIdNumber
= None
355 # DefineVarDict[var] = value
356 self
.DefineVarDict
= {}
357 # SetVarDict[var] = value
359 # TokensDict[var] = value
361 self
.CapsuleDataList
= []
366 class VtfClassObject
:
369 # @param self The object pointer
376 self
.ComponentStatementList
= []
378 ## VTF component data in FDF
381 class ComponentStatementClassObject
:
384 # @param self The object pointer
397 ## OptionROM data in FDF
400 class OptionRomClassObject
:
403 # @param self The object pointer
406 self
.DriverName
= None