#define PCD_PROTOCOL_GUID \\r
{ 0x11b34006, 0xd85b, 0x4d0a, { 0xa2, 0x90, 0xd5, 0xa5, 0x71, 0x31, 0xe, 0xf7 } }\r
\r
-#define PCD_INVALID_TOKEN_NUMBER ((UINTN) -1)\r
+#define PCD_INVALID_TOKEN_NUMBER ((UINTN) 0)\r
\r
typedef \r
VOID\r
typedef\r
EFI_STATUS\r
(EFIAPI *PCD_PROTOCOL_SET_POINTER) (\r
- IN UINTN 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
typedef\r
EFI_STATUS\r
(EFIAPI *PCD_PROTOCOL_SET_EX_POINTER) (\r
- IN CONST EFI_GUID *Guid,\r
- IN UINTN 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
VOID\r
(EFIAPI *PCD_PROTOCOL_CALLBACK) (\r
IN CONST EFI_GUID *CallBackGuid, OPTIONAL\r
- IN UINTN CallBackToken,\r
+ IN UINTN CallBackToken,\r
IN OUT VOID *TokenData,\r
IN UINTN TokenDataSize\r
);\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
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