+typedef struct {\r
+ UINT32 Offset:24;\r
+ UINT32 Value:8;\r
+} PCD_DATA_DELTA;\r
+\r
+typedef struct {\r
+ SKU_ID SkuId;\r
+ UINT16 DefaultId;\r
+ UINT8 Reserved[6];\r
+} PCD_DEFAULT_INFO;\r
+\r
+typedef struct {\r
+ //\r
+ // Full size, it must be at 8 byte alignment.\r
+ //\r
+ UINT32 DataSize;\r
+ //\r
+ // HeaderSize includes HeaderSize fields and DefaultInfo arrays\r
+ //\r
+ UINT32 HeaderSize;\r
+ //\r
+ // DefaultInfo arrays those have the same default setting.\r
+ //\r
+ PCD_DEFAULT_INFO DefaultInfo[1];\r
+ //\r
+ // Default data is stored as variable storage or the array of DATA_DELTA.\r
+ //\r
+} PCD_DEFAULT_DATA;\r
+\r
+#define PCD_NV_STORE_DEFAULT_BUFFER_SIGNATURE SIGNATURE_32('N', 'S', 'D', 'B')\r
+\r
+typedef struct {\r
+ //\r
+ // PCD_NV_STORE_DEFAULT_BUFFER_SIGNATURE\r
+ //\r
+ UINT32 Signature;\r
+ //\r
+ // Length of the taken default buffer\r
+ //\r
+ UINT32 Length;\r
+ //\r
+ // Length of the total reserved buffer\r
+ //\r
+ UINT32 MaxLength;\r
+ //\r
+ // Reserved for 8 byte alignment\r
+ //\r
+ UINT32 Reserved;\r
+ // one or more PCD_DEFAULT_DATA\r
+} PCD_NV_STORE_DEFAULT_BUFFER_HEADER;\r
+\r
+//\r
+// NvStoreDefaultValueBuffer layout:\r
+// +-------------------------------------+\r
+// | PCD_NV_STORE_DEFAULT_BUFFER_HEADER |\r
+// +-------------------------------------+\r
+// | PCD_DEFAULT_DATA (DEFAULT, Standard)|\r
+// +-------------------------------------+\r
+// | PCD_DATA_DELTA (DEFAULT, Standard)|\r
+// +-------------------------------------+\r
+// | ...... |\r
+// +-------------------------------------+\r
+// | PCD_DEFAULT_DATA (SKU A, Standard) |\r
+// +-------------------------------------+\r
+// | PCD_DATA_DELTA (SKU A, Standard) |\r
+// +-------------------------------------+\r
+// | ...... |\r
+// +-------------------------------------+\r
+//\r