## @file # classes represent data in FDF # # Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php # # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # ## FD data in FDF # # class FDClassObject: ## The constructor # # @param self The object pointer # def __init__(self): self.FdUiName = '' self.CreateFileName = None self.BaseAddress = None self.BaseAddressPcd = None self.Size = None self.SizePcd = None self.ErasePolarity = None # 3-tuple list (blockSize, numBlocks, pcd) self.BlockSizeList = [] # DefineVarDict[var] = value self.DefineVarDict = {} # SetVarDict[var] = value self.SetVarDict = {} self.RegionList = [] self.vtfRawDict = {} ## FV data in FDF # # class FvClassObject: ## The constructor # # @param self The object pointer # def __init__(self): self.UiFvName = None self.CreateFileName = None # 3-tuple list (blockSize, numBlocks, pcd) self.BlockSizeList = [] # DefineVarDict[var] = value self.DefineVarDict = {} # SetVarDict[var] = value self.SetVarDict = {} self.FvAlignment = None # FvAttributeDict[attribute] = TRUE/FALSE (1/0) self.FvAttributeDict = {} self.FvNameGuid = None self.FvNameString = None self.AprioriSectionList = [] self.FfsList = [] self.BsBaseAddress = None self.RtBaseAddress = None ## Region data in FDF # # class RegionClassObject: ## The constructor # # @param self The object pointer # def __init__(self): self.Offset = None # The begin position of the Region self.Size = None # The Size of the Region self.PcdOffset = None self.PcdSize = None self.SetVarDict = {} self.RegionType = None self.RegionDataList = [] ## FFS data in FDF # # class FfsClassObject: ## The constructor # # @param self The object pointer # def __init__(self): self.NameGuid = None self.Fixed = False self.CheckSum = False self.Alignment = None self.SectionList = [] ## FILE statement data in FDF # # class FileStatementClassObject (FfsClassObject) : ## The constructor # # @param self The object pointer # def __init__(self): FfsClassObject.__init__(self) self.FvFileType = None self.FileName = None self.KeyStringList = [] self.FvName = None self.FdName = None self.DefineVarDict = {} self.AprioriSection = None self.KeepReloc = None ## INF statement data in FDF # # class FfsInfStatementClassObject(FfsClassObject): ## The constructor # # @param self The object pointer # def __init__(self): FfsClassObject.__init__(self) self.Rule = None self.Version = None self.Ui = None self.InfFileName = None self.BuildNum = '' self.KeyStringList = [] self.KeepReloc = None self.UseArch = None ## APRIORI section data in FDF # # class AprioriSectionClassObject: ## The constructor # # @param self The object pointer # def __init__(self): # DefineVarDict[var] = value self.DefineVarDict = {} self.FfsList = [] ## section data in FDF # # class SectionClassObject: ## The constructor # # @param self The object pointer # def __init__(self): self.Alignment = None ## Depex expression section in FDF # # class DepexSectionClassObject (SectionClassObject): ## The constructor # # @param self The object pointer # def __init__(self): self.DepexType = None self.Expression = None self.ExpressionProcessed = False ## Compress section data in FDF # # class CompressSectionClassObject (SectionClassObject) : ## The constructor # # @param self The object pointer # def __init__(self): SectionClassObject.__init__(self) self.CompType = None self.SectionList = [] ## Data section data in FDF # # class DataSectionClassObject (SectionClassObject): ## The constructor # # @param self The object pointer # def __init__(self): SectionClassObject.__init__(self) self.SecType = None self.SectFileName = None self.SectionList = [] self.KeepReloc = True ## Rule section data in FDF # # class EfiSectionClassObject (SectionClassObject): ## The constructor # # @param self The object pointer # def __init__(self): SectionClassObject.__init__(self) self.SectionType = None self.Optional = False self.FileType = None self.StringData = None self.FileName = None self.FileExtension = None self.BuildNum = None self.KeepReloc = None ## FV image section data in FDF # # class FvImageSectionClassObject (SectionClassObject): ## The constructor # # @param self The object pointer # def __init__(self): SectionClassObject.__init__(self) self.Fv = None self.FvName = None self.FvFileType = None self.FvFileName = None self.FvFileExtension = None self.FvAddr = None ## GUIDed section data in FDF # # class GuidSectionClassObject (SectionClassObject) : ## The constructor # # @param self The object pointer # def __init__(self): SectionClassObject.__init__(self) self.NameGuid = None self.SectionList = [] self.SectionType = None self.ProcessRequired = False self.AuthStatusValid = False self.ExtraHeaderSize = -1 self.FvAddr = [] self.FvParentAddr = None self.IncludeFvSection = False ## UI section data in FDF # # class UiSectionClassObject (SectionClassObject): ## The constructor # # @param self The object pointer # def __init__(self): SectionClassObject.__init__(self) self.StringData = None self.FileName = None ## Version section data in FDF # # class VerSectionClassObject (SectionClassObject): ## The constructor # # @param self The object pointer # def __init__(self): SectionClassObject.__init__(self) self.BuildNum = None self.StringData = None self.FileName = None ## Rule data in FDF # # class RuleClassObject : ## The constructor # # @param self The object pointer # def __init__(self): self.Arch = None self.ModuleType = None # For Module Type self.TemplateName = None self.NameGuid = None self.Fixed = False self.Alignment = None self.SectAlignment = None self.CheckSum = False self.FvFileType = None # for Ffs File Type self.KeyStringList = [] self.KeepReloc = None ## Complex rule data in FDF # # class RuleComplexFileClassObject(RuleClassObject) : ## The constructor # # @param self The object pointer # def __init__(self): RuleClassObject.__init__(self) self.SectionList = [] ## Simple rule data in FDF # # class RuleSimpleFileClassObject(RuleClassObject) : ## The constructor # # @param self The object pointer # def __init__(self): RuleClassObject.__init__(self) self.FileName = None self.SectionType = '' self.FileExtension = None ## File extension rule data in FDF # # class RuleFileExtensionClassObject(RuleClassObject): ## The constructor # # @param self The object pointer # def __init__(self): RuleClassObject.__init__(self) self.FileExtension = None ## Capsule data in FDF # # class CapsuleClassObject : ## The constructor # # @param self The object pointer # def __init__(self): self.SpecName = None self.UiCapsuleName = None self.CreateFile = None self.GroupIdNumber = None # DefineVarDict[var] = value self.DefineVarDict = {} # SetVarDict[var] = value self.SetVarDict = {} # TokensDict[var] = value self.TokensDict = {} self.CapsuleDataList = [] self.FmpPayloadList = [] ## VTF data in FDF # # class VtfClassObject : ## The constructor # # @param self The object pointer # def __init__(self): self.KeyArch = None self.ArchList = None self.UiName = None self.ResetBin = None self.ComponentStatementList = [] ## VTF component data in FDF # # class ComponentStatementClassObject : ## The constructor # # @param self The object pointer # def __init__(self): self.CompName = None self.CompLoc = None self.CompType = None self.CompVer = None self.CompCs = None self.CompBin = None self.CompSym = None self.CompSize = None self.FilePos = None ## OptionROM data in FDF # # class OptionRomClassObject: ## The constructor # # @param self The object pointer # def __init__(self): self.DriverName = None self.FfsList = []