]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/Pcd.h
Add in support for MaxSize and CurrentSize for PCD entry.
[mirror_edk2.git] / MdePkg / Include / Protocol / Pcd.h
index 3adac6d4ab939b2903488aaf09b9fdd8440dd3cc..4127f734889617d35c7034ef587f78026c89e7d7 100644 (file)
 #ifndef __PCD_H__\r
 #define __PCD_H__\r
 \r
-#include <Common/Pcd.h>\r
-\r
 extern EFI_GUID gPcdProtocolGuid;\r
 \r
 #define PCD_PROTOCOL_GUID \\r
   { 0x11b34006, 0xd85b, 0x4d0a, { 0xa2, 0x90, 0xd5, 0xa5, 0x71, 0x31, 0xe, 0xf7 } }\r
 \r
+#define PCD_INVALID_TOKEN_NUMBER ((UINTN) 0)\r
+\r
 typedef \r
 VOID\r
 (EFIAPI *PCD_PROTOCOL_SET_SKU) (\r
-  IN  SKU_ID                  SkuId\r
+  IN  UINTN                  SkuId\r
   );\r
 \r
 typedef\r
 UINT8\r
 (EFIAPI *PCD_PROTOCOL_GET8) (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 UINT16\r
 (EFIAPI *PCD_PROTOCOL_GET16) (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 UINT32\r
 (EFIAPI *PCD_PROTOCOL_GET32) (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 UINT64\r
 (EFIAPI *PCD_PROTOCOL_GET64) (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 VOID *\r
 (EFIAPI *PCD_PROTOCOL_GET_POINTER) (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 BOOLEAN\r
 (EFIAPI *PCD_PROTOCOL_GET_BOOLEAN) (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 UINTN\r
 (EFIAPI *PCD_PROTOCOL_GET_SIZE) (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 UINT8\r
 (EFIAPI *PCD_PROTOCOL_GET_EX_8) (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 UINT16\r
 (EFIAPI *PCD_PROTOCOL_GET_EX_16) (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 UINT32\r
 (EFIAPI *PCD_PROTOCOL_GET_EX_32) (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 UINT64\r
 (EFIAPI *PCD_PROTOCOL_GET_EX_64) (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 VOID *\r
 (EFIAPI *PCD_PROTOCOL_GET_EX_POINTER) (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 BOOLEAN\r
 (EFIAPI *PCD_PROTOCOL_GET_EX_BOOLEAN) (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 UINTN\r
 (EFIAPI *PCD_PROTOCOL_GET_EX_SIZE) (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_SET8) (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN UINT8             Value\r
   );\r
 \r
 typedef\r
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_SET16) (\r
-  IN PCD_TOKEN_NUMBER   TokenNumber,\r
+  IN UINTN              TokenNumber,\r
   IN UINT16             Value\r
   );\r
 \r
 typedef\r
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_SET32) (\r
-  IN PCD_TOKEN_NUMBER   TokenNumber,\r
+  IN UINTN              TokenNumber,\r
   IN UINT32             Value\r
   );\r
 \r
 typedef\r
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_SET64) (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN UINT64            Value\r
   );\r
 \r
 typedef\r
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_SET_POINTER) (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
-  IN UINTN             SizeOfBuffer,\r
-  IN VOID              *Buffer\r
+  IN      UINTN             TokenNumber,\r
+  IN OUT  UINTN             *SizeOfBuffer,\r
+  IN      VOID              *Buffer\r
   );\r
 \r
 typedef\r
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_SET_BOOLEAN) (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN BOOLEAN           Value\r
   );\r
 \r
@@ -168,7 +168,7 @@ typedef
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_SET_EX_8) (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN UINT8             Value\r
   );\r
 \r
@@ -176,7 +176,7 @@ typedef
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_SET_EX_16) (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN UINT16            Value\r
   );\r
 \r
@@ -184,7 +184,7 @@ typedef
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_SET_EX_32) (\r
   IN CONST EFI_GUID     *Guid,\r
-  IN PCD_TOKEN_NUMBER   TokenNumber,\r
+  IN UINTN              TokenNumber,\r
   IN UINT32             Value\r
   );\r
 \r
@@ -192,24 +192,24 @@ typedef
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_SET_EX_64) (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN UINT64            Value\r
   );\r
 \r
 typedef\r
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_SET_EX_POINTER) (\r
-  IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
-  IN UINTN             SizeOfBuffer,\r
-  IN VOID              *Buffer\r
+  IN      CONST EFI_GUID    *Guid,\r
+  IN      UINTN             TokenNumber,\r
+  IN OUT  UINTN             *SizeOfBuffer,\r
+  IN      VOID              *Buffer\r
   );\r
 \r
 typedef\r
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_SET_EX_BOOLEAN) (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN BOOLEAN           Value\r
   );\r
   \r
@@ -228,7 +228,7 @@ typedef
 VOID\r
 (EFIAPI *PCD_PROTOCOL_CALLBACK) (\r
   IN      CONST EFI_GUID   *CallBackGuid, OPTIONAL\r
-  IN      PCD_TOKEN_NUMBER            CallBackToken,\r
+  IN      UINTN            CallBackToken,\r
   IN  OUT VOID             *TokenData,\r
   IN      UINTN            TokenDataSize\r
   );\r
@@ -236,7 +236,7 @@ VOID
 typedef\r
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_CALLBACK_ONSET) (\r
-  IN  PCD_TOKEN_NUMBER        TokenNumber,\r
+  IN  UINTN                   TokenNumber,\r
   IN  CONST EFI_GUID          *Guid, OPTIONAL\r
   IN  PCD_PROTOCOL_CALLBACK   CallBackFunction\r
   );\r
@@ -244,7 +244,7 @@ EFI_STATUS
 typedef\r
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_CANCEL_CALLBACK) (\r
-  IN  PCD_TOKEN_NUMBER        TokenNumber,\r
+  IN  UINTN                   TokenNumber,\r
   IN  CONST EFI_GUID          *Guid, OPTIONAL\r
   IN  PCD_PROTOCOL_CALLBACK   CallBackFunction\r
   );\r
@@ -253,9 +253,17 @@ typedef
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_GET_NEXT_TOKEN) (\r
   IN      CONST EFI_GUID      *Guid, OPTIONAL\r
-  IN OUT  PCD_TOKEN_NUMBER    *TokenNumber\r
+  IN OUT  UINTN               *TokenNumber\r
   );\r
 \r
+\r
+typedef \r
+EFI_STATUS\r
+(EFIAPI *PCD_PROTOCOL_GET_NEXT_TOKENSPACE) (\r
+  IN      CONST EFI_GUID      **Guid\r
+  );\r
+\r
+\r
 typedef struct {\r
   PCD_PROTOCOL_SET_SKU              SetSku;\r
 \r
@@ -292,6 +300,7 @@ typedef struct {
   PCD_PROTOCOL_CALLBACK_ONSET       CallbackOnSet;\r
   PCD_PROTOCOL_CANCEL_CALLBACK      CancelCallback;\r
   PCD_PROTOCOL_GET_NEXT_TOKEN       GetNextToken;\r
+  PCD_PROTOCOL_GET_NEXT_TOKENSPACE  GetNextTokenSpace;\r
 } PCD_PROTOCOL;\r
 \r
 #endif\r