2 # classes represent data in FDF
4 # Copyright (c) 2007, Intel Corporation
6 # All rights reserved. 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
172 ## Compress section data in FDF
175 class CompressSectionClassObject (SectionClassObject
) :
178 # @param self The object pointer
181 SectionClassObject
.__init
__(self
)
183 self
.SectionList
= []
185 ## Data section data in FDF
188 class DataSectionClassObject (SectionClassObject
):
191 # @param self The object pointer
194 SectionClassObject
.__init
__(self
)
196 self
.SectFileName
= None
197 self
.SectionList
= []
198 self
.KeepReloc
= True
200 ## Rule section data in FDF
203 class EfiSectionClassObject (SectionClassObject
):
206 # @param self The object pointer
209 SectionClassObject
.__init
__(self
)
210 self
.SectionType
= None
211 self
.Optional
= False
213 self
.StringData
= None
215 self
.FileExtension
= None
217 self
.KeepReloc
= None
219 ## FV image section data in FDF
222 class FvImageSectionClassObject (SectionClassObject
):
225 # @param self The object pointer
228 SectionClassObject
.__init
__(self
)
231 self
.FvFileType
= None
232 self
.FvFileName
= None
233 self
.FvFileExtension
= None
235 ## GUIDed section data in FDF
238 class GuidSectionClassObject (SectionClassObject
) :
241 # @param self The object pointer
244 SectionClassObject
.__init
__(self
)
246 self
.SectionList
= []
247 self
.SectionType
= None
248 self
.ProcessRequired
= False
249 self
.AuthStatusValid
= False
251 ## UI section data in FDF
254 class UiSectionClassObject (SectionClassObject
):
257 # @param self The object pointer
260 SectionClassObject
.__init
__(self
)
261 self
.StringData
= None
264 ## Version section data in FDF
267 class VerSectionClassObject (SectionClassObject
):
270 # @param self The object pointer
273 SectionClassObject
.__init
__(self
)
275 self
.StringData
= None
281 class RuleClassObject
:
284 # @param self The object pointer
288 self
.ModuleType
= None # For Module Type
289 self
.TemplateName
= None
292 self
.Alignment
= None
293 self
.CheckSum
= False
294 self
.FvFileType
= None # for Ffs File Type
295 self
.KeyStringList
= []
296 self
.KeepReloc
= None
298 ## Complex rule data in FDF
301 class RuleComplexFileClassObject(RuleClassObject
) :
304 # @param self The object pointer
307 RuleClassObject
.__init
__(self
)
308 self
.SectionList
= []
310 ## Simple rule data in FDF
313 class RuleSimpleFileClassObject(RuleClassObject
) :
316 # @param self The object pointer
319 RuleClassObject
.__init
__(self
)
321 self
.SectionType
= ''
322 self
.FileExtension
= None
324 ## File extension rule data in FDF
327 class RuleFileExtensionClassObject(RuleClassObject
):
330 # @param self The object pointer
333 RuleClassObject
.__init
__(self
)
334 self
.FileExtension
= None
336 ## Capsule data in FDF
339 class CapsuleClassObject
:
342 # @param self The object pointer
346 self
.UiCapsuleName
= None
347 self
.CreateFile
= None
348 self
.GroupIdNumber
= None
349 # DefineVarDict[var] = value
350 self
.DefineVarDict
= {}
351 # SetVarDict[var] = value
353 # TokensDict[var] = value
355 self
.CapsuleDataList
= []
360 class VtfClassObject
:
363 # @param self The object pointer
370 self
.ComponentStatementList
= []
372 ## VTF component data in FDF
375 class ComponentStatementClassObject
:
378 # @param self The object pointer
391 ## OptionROM data in FDF
394 class OptionRomClassObject
:
397 # @param self The object pointer
400 self
.DriverName
= None