2 # classes represent data in FDF
4 # Copyright (c) 2007 - 2013, 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
= None
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
.FvNameString
= None
62 self
.AprioriSectionList
= []
64 self
.BsBaseAddress
= None
65 self
.RtBaseAddress
= None
70 class RegionClassObject
:
73 # @param self The object pointer
76 self
.Offset
= None # The begin position of the Region
77 self
.Size
= None # The Size of the Region
81 self
.RegionType
= None
82 self
.RegionDataList
= []
90 # @param self The object pointer
99 ## FILE statement data in FDF
102 class FileStatementClassObject (FfsClassObject
) :
105 # @param self The object pointer
108 FfsClassObject
.__init
__(self
)
109 self
.FvFileType
= None
111 self
.KeyStringList
= []
114 self
.DefineVarDict
= {}
115 self
.AprioriSection
= None
116 self
.KeepReloc
= None
118 ## INF statement data in FDF
121 class FfsInfStatementClassObject(FfsClassObject
):
124 # @param self The object pointer
127 FfsClassObject
.__init
__(self
)
131 self
.InfFileName
= None
133 self
.KeyStringList
= []
134 self
.KeepReloc
= None
137 ## APRIORI section data in FDF
140 class AprioriSectionClassObject
:
143 # @param self The object pointer
146 # DefineVarDict[var] = value
147 self
.DefineVarDict
= {}
150 ## section data in FDF
153 class SectionClassObject
:
156 # @param self The object pointer
159 self
.Alignment
= None
161 ## Depex expression section in FDF
164 class DepexSectionClassObject (SectionClassObject
):
167 # @param self The object pointer
170 self
.DepexType
= None
171 self
.Expression
= None
172 self
.ExpressionProcessed
= False
174 ## Compress section data in FDF
177 class CompressSectionClassObject (SectionClassObject
) :
180 # @param self The object pointer
183 SectionClassObject
.__init
__(self
)
185 self
.SectionList
= []
187 ## Data section data in FDF
190 class DataSectionClassObject (SectionClassObject
):
193 # @param self The object pointer
196 SectionClassObject
.__init
__(self
)
198 self
.SectFileName
= None
199 self
.SectionList
= []
200 self
.KeepReloc
= True
202 ## Rule section data in FDF
205 class EfiSectionClassObject (SectionClassObject
):
208 # @param self The object pointer
211 SectionClassObject
.__init
__(self
)
212 self
.SectionType
= None
213 self
.Optional
= False
215 self
.StringData
= None
217 self
.FileExtension
= None
219 self
.KeepReloc
= None
221 ## FV image section data in FDF
224 class FvImageSectionClassObject (SectionClassObject
):
227 # @param self The object pointer
230 SectionClassObject
.__init
__(self
)
233 self
.FvFileType
= None
234 self
.FvFileName
= None
235 self
.FvFileExtension
= None
238 ## GUIDed section data in FDF
241 class GuidSectionClassObject (SectionClassObject
) :
244 # @param self The object pointer
247 SectionClassObject
.__init
__(self
)
249 self
.SectionList
= []
250 self
.SectionType
= None
251 self
.ProcessRequired
= False
252 self
.AuthStatusValid
= False
253 self
.ExtraHeaderSize
= -1
255 self
.FvParentAddr
= None
256 self
.IncludeFvSection
= False
258 ## UI section data in FDF
261 class UiSectionClassObject (SectionClassObject
):
264 # @param self The object pointer
267 SectionClassObject
.__init
__(self
)
268 self
.StringData
= None
271 ## Version section data in FDF
274 class VerSectionClassObject (SectionClassObject
):
277 # @param self The object pointer
280 SectionClassObject
.__init
__(self
)
282 self
.StringData
= None
288 class RuleClassObject
:
291 # @param self The object pointer
295 self
.ModuleType
= None # For Module Type
296 self
.TemplateName
= None
299 self
.Alignment
= None
300 self
.SectAlignment
= None
301 self
.CheckSum
= False
302 self
.FvFileType
= None # for Ffs File Type
303 self
.KeyStringList
= []
304 self
.KeepReloc
= None
306 ## Complex rule data in FDF
309 class RuleComplexFileClassObject(RuleClassObject
) :
312 # @param self The object pointer
315 RuleClassObject
.__init
__(self
)
316 self
.SectionList
= []
318 ## Simple rule data in FDF
321 class RuleSimpleFileClassObject(RuleClassObject
) :
324 # @param self The object pointer
327 RuleClassObject
.__init
__(self
)
329 self
.SectionType
= ''
330 self
.FileExtension
= None
332 ## File extension rule data in FDF
335 class RuleFileExtensionClassObject(RuleClassObject
):
338 # @param self The object pointer
341 RuleClassObject
.__init
__(self
)
342 self
.FileExtension
= None
344 ## Capsule data in FDF
347 class CapsuleClassObject
:
350 # @param self The object pointer
354 self
.UiCapsuleName
= None
355 self
.CreateFile
= None
356 self
.GroupIdNumber
= None
357 # DefineVarDict[var] = value
358 self
.DefineVarDict
= {}
359 # SetVarDict[var] = value
361 # TokensDict[var] = value
363 self
.CapsuleDataList
= []
364 self
.FmpPayloadList
= []
369 class VtfClassObject
:
372 # @param self The object pointer
379 self
.ComponentStatementList
= []
381 ## VTF component data in FDF
384 class ComponentStatementClassObject
:
387 # @param self The object pointer
400 ## OptionROM data in FDF
403 class OptionRomClassObject
:
406 # @param self The object pointer
409 self
.DriverName
= None