## @file\r
# classes represent data in FDF\r
#\r
-# Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
\r
## FD data in FDF\r
# SetVarDict[var] = value\r
self.SetVarDict = {}\r
self.RegionList = []\r
- self.vtfRawDict = {}\r
-\r
-## FV data in FDF\r
-#\r
-#\r
-class FvClassObject:\r
- ## The constructor\r
- #\r
- # @param self The object pointer\r
- #\r
- def __init__(self):\r
- self.UiFvName = None\r
- self.CreateFileName = None\r
- # 3-tuple list (blockSize, numBlocks, pcd)\r
- self.BlockSizeList = []\r
- # DefineVarDict[var] = value\r
- self.DefineVarDict = {}\r
- # SetVarDict[var] = value\r
- self.SetVarDict = {}\r
- self.FvAlignment = None\r
- # FvAttributeDict[attribute] = TRUE/FALSE (1/0)\r
- self.FvAttributeDict = {}\r
- self.FvNameGuid = None\r
- self.AprioriSectionList = []\r
- self.FfsList = []\r
- self.BsBaseAddress = None\r
- self.RtBaseAddress = None\r
-\r
-## Region data in FDF\r
-#\r
-#\r
-class RegionClassObject:\r
- ## The constructor\r
- #\r
- # @param self The object pointer\r
- #\r
- def __init__(self):\r
- self.Offset = None # The begin position of the Region\r
- self.Size = None # The Size of the Region\r
- self.PcdOffset = None\r
- self.PcdSize = None\r
- self.SetVarDict = {}\r
- self.RegionType = None\r
- self.RegionDataList = []\r
\r
## FFS data in FDF\r
#\r
-# \r
+#\r
class FfsClassObject:\r
## The constructor\r
#\r
\r
## FILE statement data in FDF\r
#\r
-# \r
+#\r
class FileStatementClassObject (FfsClassObject) :\r
## The constructor\r
#\r
self.FvName = None\r
self.FdName = None\r
self.DefineVarDict = {}\r
- self.AprioriSection = None\r
self.KeepReloc = None\r
\r
## INF statement data in FDF\r
self.KeepReloc = None\r
self.UseArch = None\r
\r
-## APRIORI section data in FDF\r
-#\r
-#\r
-class AprioriSectionClassObject:\r
- ## The constructor\r
- #\r
- # @param self The object pointer\r
- #\r
- def __init__(self):\r
- # DefineVarDict[var] = value\r
- self.DefineVarDict = {}\r
- self.FfsList = []\r
-\r
## section data in FDF\r
#\r
-# \r
+#\r
class SectionClassObject:\r
## The constructor\r
#\r
#\r
def __init__(self):\r
self.Alignment = None\r
- \r
+\r
## Depex expression section in FDF\r
#\r
-# \r
+#\r
class DepexSectionClassObject (SectionClassObject):\r
## The constructor\r
#\r
\r
## Data section data in FDF\r
#\r
-# \r
+#\r
class DataSectionClassObject (SectionClassObject):\r
## The constructor\r
#\r
\r
## FV image section data in FDF\r
#\r
-# \r
+#\r
class FvImageSectionClassObject (SectionClassObject):\r
## The constructor\r
#\r
\r
## GUIDed section data in FDF\r
#\r
-# \r
+#\r
class GuidSectionClassObject (SectionClassObject) :\r
## The constructor\r
#\r
self.FvParentAddr = None\r
self.IncludeFvSection = False\r
\r
+## SubType GUID section data in FDF\r
+#\r
+#\r
+class SubTypeGuidSectionClassObject (SectionClassObject) :\r
+ ## The constructor\r
+ #\r
+ # @param self The object pointer\r
+ #\r
+ def __init__(self):\r
+ SectionClassObject.__init__(self)\r
+ self.SubTypeGuid = None\r
+\r
## UI section data in FDF\r
#\r
#\r
\r
## Version section data in FDF\r
#\r
-# \r
+#\r
class VerSectionClassObject (SectionClassObject):\r
## The constructor\r
#\r
\r
## Complex rule data in FDF\r
#\r
-# \r
+#\r
class RuleComplexFileClassObject(RuleClassObject) :\r
## The constructor\r
#\r
\r
## Capsule data in FDF\r
#\r
-# \r
+#\r
class CapsuleClassObject :\r
## The constructor\r
#\r
self.CapsuleDataList = []\r
self.FmpPayloadList = []\r
\r
-## VTF data in FDF\r
-#\r
-#\r
-class VtfClassObject :\r
- ## The constructor\r
- #\r
- # @param self The object pointer\r
- #\r
- def __init__(self):\r
- self.KeyArch = None\r
- self.ArchList = None\r
- self.UiName = None\r
- self.ResetBin = None\r
- self.ComponentStatementList = []\r
-\r
-## VTF component data in FDF\r
-#\r
-# \r
-class ComponentStatementClassObject :\r
- ## The constructor\r
- #\r
- # @param self The object pointer\r
- #\r
- def __init__(self):\r
- self.CompName = None\r
- self.CompLoc = None\r
- self.CompType = None\r
- self.CompVer = None\r
- self.CompCs = None\r
- self.CompBin = None\r
- self.CompSym = None\r
- self.CompSize = None\r
- self.FilePos = None\r
- \r
## OptionROM data in FDF\r
#\r
#\r
def __init__(self):\r
self.DriverName = None\r
self.FfsList = []\r
- \r
+\r