-/** @file\r
-\r
-Copyright (c) 2006, Intel Corporation<BR>\r
-All rights reserved. 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
-\r
-**/\r
-\r
-#ifndef __PCD_TEMP_H__\r
-#define __PCD_TEMP_H__\r
-\r
-#define PCD_INVALID_TOKEN ((UINTN)(-1))\r
-\r
-/*\r
- * The following structure will be removed soon after the real \r
- * PCD service PEIM and DXE driver are implmented.\r
- */\r
-\r
-///\r
-/// I have rearranged the data so that the variable length items are at the end of the structure\r
-/// and we have a reasonable change of interpreting the other stuff properly.\r
-///\r
-typedef struct {\r
- UINTN Token;\r
-\r
- //\r
- // HII Knowledge - non optimized for now\r
- //\r
- UINT8 HiiData; // If TRUE, use Variable Data\r
- UINT8 SKUEnabled; // If TRUE, there might be various SKU data entries for this Token\r
- UINT8 MaxSKUCount; // Up to 256 entries - limits the search space\r
- UINT8 SKUId; // ID of the SKU\r
-\r
- GUID VariableGuid; // Variable GUID\r
- UINT32 DatumSize;\r
- UINT64 Datum;\r
- CHAR16 *VariableName; // Null-terminated Variable Name (remember to calculate size)\r
- // We still need Offset information for the variable\r
- // So naturally we can use DatumSize as the Length Field\r
- // And we can overload the use of Datum for the Offset information\r
- VOID *ExtendedData; // VOID* data of size DatumSize\r
-} EMULATED_PCD_ENTRY;\r
-\r
-typedef\r
-VOID\r
-(EFIAPI *PCD_TEMP_CALLBACK) (\r
- IN CONST EFI_GUID *CallBackGuid, OPTIONAL\r
- IN UINTN CallBackToken,\r
- IN VOID *TokenData,\r
- IN UINTN TokenDataSize\r
- );\r
-\r
-///\r
-/// Used by the PCD Database - never contained in an FFS file\r
-///\r
-typedef struct {\r
- UINTN Token;\r
-\r
- //\r
- // HII Knowledge - non optimized for now\r
- //\r
- UINT8 HiiData; // If TRUE, use Variable Data\r
- UINT8 SKUEnabled; // If TRUE, there might be various SKU data entries for this Token\r
- UINT8 MaxSKUCount; // Up to 256 entries - limits the search space\r
- UINT8 SKUId; // ID of the SKU\r
-\r
- GUID VariableGuid; // Variable GUID\r
- UINT32 DatumSize;\r
- UINT64 Datum;\r
- CHAR16 *VariableName; // Null-terminated Variable Name (remember to calculate size)\r
- // We still need Offset information for the variable\r
- // So naturally we can use DatumSize as the Length Field\r
- // And we can overload the use of Datum for the Offset information\r
- VOID *ExtendedData; // VOID* data of size DatumSize\r
-\r
- PCD_TEMP_CALLBACK *CallBackList;\r
- UINT32 CallBackEntries;\r
- UINT32 CallBackListSize;\r
-} EMULATED_PCD_ENTRY_EX; // This exists to facilitate PCD Database implementation only\r
-\r
-typedef struct {\r
- UINTN Count;\r
- EMULATED_PCD_ENTRY_EX Entry[1]; // This exists to facilitate PCD Database implementation only\r
-} EMULATED_PCD_DATABASE_EX;\r
-\r
-#endif\r