+# used by BRG\r
+TAB_BRG_PCD = 'PCD'\r
+TAB_BRG_LIBRARY = 'Library'\r
+\r
+#\r
+# Build Rule File Version Definition\r
+#\r
+TAB_BUILD_RULE_VERSION = "build_rule_version"\r
+\r
+# section name for PCDs\r
+PCDS_DYNAMIC_DEFAULT = "PcdsDynamicDefault"\r
+PCDS_DYNAMIC_VPD = "PcdsDynamicVpd"\r
+PCDS_DYNAMIC_HII = "PcdsDynamicHii"\r
+PCDS_DYNAMICEX_DEFAULT = "PcdsDynamicExDefault"\r
+PCDS_DYNAMICEX_VPD = "PcdsDynamicExVpd"\r
+PCDS_DYNAMICEX_HII = "PcdsDynamicExHii"\r
+\r
+SECTIONS_HAVE_ITEM_PCD_SET = {PCDS_DYNAMIC_DEFAULT.upper(), PCDS_DYNAMIC_VPD.upper(), PCDS_DYNAMIC_HII.upper(), \\r
+ PCDS_DYNAMICEX_DEFAULT.upper(), PCDS_DYNAMICEX_VPD.upper(), PCDS_DYNAMICEX_HII.upper()}\r
+# Section allowed to have items after arch\r
+SECTIONS_HAVE_ITEM_AFTER_ARCH_SET = {TAB_LIBRARY_CLASSES.upper(), TAB_DEPEX.upper(), TAB_USER_EXTENSIONS.upper(),\r
+ PCDS_DYNAMIC_DEFAULT.upper(),\r
+ PCDS_DYNAMIC_VPD.upper(),\r
+ PCDS_DYNAMIC_HII.upper(),\r
+ PCDS_DYNAMICEX_DEFAULT.upper(),\r
+ PCDS_DYNAMICEX_VPD.upper(),\r
+ PCDS_DYNAMICEX_HII.upper(),\r
+ TAB_BUILD_OPTIONS.upper(),\r
+ TAB_INCLUDES.upper()}\r
+\r
+#\r
+# pack codes as used in PcdDb and elsewhere\r
+#\r
+PACK_PATTERN_GUID = '=LHHBBBBBBBB'\r
+PACK_CODE_BY_SIZE = {8:'=Q',\r
+ 4:'=L',\r
+ 2:'=H',\r
+ 1:'=B',\r
+ 0:'=B',\r
+ 16:""}\r