+\r
+\r
+/**\r
+ Retrieves the next valid PCD token namespace for a given namespace.\r
+\r
+ @param[in, out] Guid An indirect pointer to EFI_GUID. On input it designates \r
+ a known token namespace from which the search will start. On output, \r
+ it designates the next valid token namespace on the platform. If the input \r
+ token namespace does not exist on the platform, an error is returned and \r
+ the value of *Guid is undefined. If *Guid is NULL, then the GUID of the \r
+ first token space of the current platform is assigned to *Guid the function \r
+ return EFI_SUCCESS. If *Guid is NULL and there is no namespace exist in \r
+ the platform other than the default (NULL) tokennamespace, *Guid is unchanged \r
+ and the function return EFI_SUCCESS. If this input token namespace is the last \r
+ namespace on the platform, *Guid will be assigned to NULL and the function return \r
+ EFI_SUCCESS. \r
+\r
+ @retval EFI_SUCCESS The PCD service retrieved the next valid token space Guid. \r
+ Or the input token space Guid is already the last valid token space Guid \r
+ in the PCD database. In the later case, *Guid is updated with the value of NULL.\r
+ @retval EFI_NOT_FOUND If the input token namespace does not exist on the platform.\r
+\r
+**/\r
+typedef \r
+EFI_STATUS\r
+(EFIAPI *PCD_PROTOCOL_GET_NEXT_TOKENSPACE)(\r
+ IN OUT CONST EFI_GUID **Guid\r
+ );\r
+\r
+//\r
+// Interface structure for the PCD Protocol\r
+//\r
+/**\r
+ @par Protocol Description:\r
+ This service abstracts the ability to set/get Platform Configuration Database (PCD).\r
+\r
+ @param SetSku\r
+ Sets the SKU value for subsequent calls to set or get PCD token values.\r
+ \r
+ @param Get8\r
+ Retrieves an 8-bit value for a given PCD token.\r
+\r
+ @param Get16\r
+ Retrieves an 16-bit value for a given PCD token.\r
+\r
+ @param Get32\r
+ Retrieves an 32-bit value for a given PCD token.\r
+\r
+ @param Get64\r
+ Retrieves an 64-bit value for a given PCD token.\r
+\r
+ @param GetPtr\r
+ Retrieves a pointer to a value for a given PCD token.\r
+\r
+ @param GetBool\r
+ Retrieves an Boolean value for a given PCD token.\r
+\r
+ @param GetSize\r
+ Retrieves the size of the value for a given PCD token.\r
+\r
+ @param Get8Ex\r
+ Retrieves an 8-bit value for a given PCD token and token space.\r
+\r
+ @param Get16Ex\r
+ Retrieves an 16-bit value for a given PCD token and token space.\r
+\r
+ @param Get32Ex\r
+ Retrieves an 32-bit value for a given PCD token and token space.\r
+\r
+ @param Get64Ex\r
+ Retrieves an 64-bit value for a given PCD token and token space.\r
+\r
+ @param GetPtrEx\r
+ Retrieves a pointer to a value for a given PCD token and token space.\r
+\r
+ @param GetBoolEx\r
+ Retrieves an Boolean value for a given PCD token and token space.\r
+\r
+ @param GetSizeEx\r
+ Retrieves the size of the value for a given PCD token and token space.\r
+\r
+ @param Set8\r
+ Sets an 8-bit value for a given PCD token.\r
+\r
+ @param Set16\r
+ Sets an 16-bit value for a given PCD token.\r
+\r
+ @param Set32\r
+ Sets an 32-bit value for a given PCD token.\r
+\r
+ @param Set64\r
+ Sets an 64-bit value for a given PCD token.\r
+\r
+ @param SetPtr\r
+ Sets the buffer of a specified size for a given PCD token.\r
+\r
+ @param SetBool\r
+ Sets an Boolean value for a given PCD token.\r
+\r
+ @param Set8Ex\r
+ Sets an 8-bit value for a given PCD token and token space.\r
+\r
+ @param Set16Ex\r
+ Sets an 16-bit value for a given PCD token and token space.\r
+\r
+ @param Set32Ex\r
+ Sets an 32-bit value for a given PCD token and token space.\r
+\r
+ @param Set64Ex\r
+ Sets an 64-bit value for a given PCD token and token space.\r
+\r
+ @param SetPtrEx\r
+ Sets the buffer of a specified size for a given PCD token and token space.\r
+\r
+ @param SetBoolEx\r
+ Sets an Boolean value for a given PCD token and token space.\r
+ \r
+ @param CallbackOnSet\r
+ Specifies a function to be called anytime the value of a designated token is changed.\r
+ \r
+ @param CancelCallback\r
+ Cancels a previously set callback function for a particular PCD token number.\r
+ \r
+ @param GetNextToken\r
+ Retrieves the next valid PCD token for a given namespace.\r
+ \r
+ @param GetNextTokenSpace\r
+ Retrieves the next valid PCD token namespace for a given namespace.\r
+ \r
+**/\r