]> 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 ccdfd13647ca42be977995a43532bdbaa4403640..4127f734889617d35c7034ef587f78026c89e7d7 100644 (file)
@@ -22,10 +22,10 @@ extern EFI_GUID gPcdProtocolGuid;
 #define PCD_PROTOCOL_GUID \\r
   { 0x11b34006, 0xd85b, 0x4d0a, { 0xa2, 0x90, 0xd5, 0xa5, 0x71, 0x31, 0xe, 0xf7 } }\r
 \r
-typedef UINT8   SKU_ID;\r
+#define PCD_INVALID_TOKEN_NUMBER ((UINTN) 0)\r
 \r
 typedef \r
-EFI_STATUS\r
+VOID\r
 (EFIAPI *PCD_PROTOCOL_SET_SKU) (\r
   IN  UINTN                  SkuId\r
   );\r
@@ -33,64 +33,64 @@ EFI_STATUS
 typedef\r
 UINT8\r
 (EFIAPI *PCD_PROTOCOL_GET8) (\r
-  IN UINTN  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 UINT16\r
 (EFIAPI *PCD_PROTOCOL_GET16) (\r
-  IN UINTN  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 UINT32\r
 (EFIAPI *PCD_PROTOCOL_GET32) (\r
-  IN UINTN  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 UINT64\r
 (EFIAPI *PCD_PROTOCOL_GET64) (\r
-  IN UINTN  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 VOID *\r
 (EFIAPI *PCD_PROTOCOL_GET_POINTER) (\r
-  IN UINTN  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 BOOLEAN\r
 (EFIAPI *PCD_PROTOCOL_GET_BOOLEAN) (\r
-  IN UINTN  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
 UINTN\r
 (EFIAPI *PCD_PROTOCOL_GET_SIZE) (\r
-  IN UINTN  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 UINTN  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 UINTN  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 UINTN  TokenNumber\r
+  IN UINTN             TokenNumber\r
   );\r
 \r
 typedef\r
@@ -152,8 +152,9 @@ EFI_STATUS
 typedef\r
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_SET_POINTER) (\r
-  IN UINTN             TokenNumber,\r
-  IN CONST VOID        *Value\r
+  IN      UINTN             TokenNumber,\r
+  IN OUT  UINTN             *SizeOfBuffer,\r
+  IN      VOID              *Buffer\r
   );\r
 \r
 typedef\r
@@ -198,9 +199,10 @@ EFI_STATUS
 typedef\r
 EFI_STATUS\r
 (EFIAPI *PCD_PROTOCOL_SET_EX_POINTER) (\r
-  IN CONST EFI_GUID    *Guid,\r
-  IN UINTN             TokenNumber,\r
-  IN CONST VOID        *Value\r
+  IN      CONST EFI_GUID    *Guid,\r
+  IN      UINTN             TokenNumber,\r
+  IN OUT  UINTN             *SizeOfBuffer,\r
+  IN      VOID              *Buffer\r
   );\r
 \r
 typedef\r
@@ -225,10 +227,10 @@ EFI_STATUS
 typedef\r
 VOID\r
 (EFIAPI *PCD_PROTOCOL_CALLBACK) (\r
-  IN  CONST EFI_GUID   *CallBackGuid, OPTIONAL\r
-  IN  UINTN            CallBackToken,\r
-  IN  VOID             *TokenData,\r
-  IN  UINTN            TokenDataSize\r
+  IN      CONST EFI_GUID   *CallBackGuid, OPTIONAL\r
+  IN      UINTN            CallBackToken,\r
+  IN  OUT VOID             *TokenData,\r
+  IN      UINTN            TokenDataSize\r
   );\r
 \r
 typedef\r
@@ -254,6 +256,14 @@ EFI_STATUS
   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
@@ -290,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