2 Platform Configuration Database (PCD) Protocol
4 Copyright (c) 2006, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
20 extern EFI_GUID gPcdProtocolGuid
;
22 #define PCD_PROTOCOL_GUID \
23 { 0x11b34006, 0xd85b, 0x4d0a, { 0xa2, 0x90, 0xd5, 0xa5, 0x71, 0x31, 0xe, 0xf7 } }
29 (EFIAPI
*PCD_PROTOCOL_SET_SKU
) (
35 (EFIAPI
*PCD_PROTOCOL_GET8
) (
41 (EFIAPI
*PCD_PROTOCOL_GET16
) (
47 (EFIAPI
*PCD_PROTOCOL_GET32
) (
53 (EFIAPI
*PCD_PROTOCOL_GET64
) (
59 (EFIAPI
*PCD_PROTOCOL_GET_POINTER
) (
65 (EFIAPI
*PCD_PROTOCOL_GET_BOOLEAN
) (
71 (EFIAPI
*PCD_PROTOCOL_GET_SIZE
) (
77 (EFIAPI
*PCD_PROTOCOL_GET_EX_8
) (
78 IN CONST EFI_GUID
*Guid
,
84 (EFIAPI
*PCD_PROTOCOL_GET_EX_16
) (
85 IN CONST EFI_GUID
*Guid
,
91 (EFIAPI
*PCD_PROTOCOL_GET_EX_32
) (
92 IN CONST EFI_GUID
*Guid
,
98 (EFIAPI
*PCD_PROTOCOL_GET_EX_64
) (
99 IN CONST EFI_GUID
*Guid
,
105 (EFIAPI
*PCD_PROTOCOL_GET_EX_POINTER
) (
106 IN CONST EFI_GUID
*Guid
,
112 (EFIAPI
*PCD_PROTOCOL_GET_EX_BOOLEAN
) (
113 IN CONST EFI_GUID
*Guid
,
119 (EFIAPI
*PCD_PROTOCOL_GET_EX_SIZE
) (
120 IN CONST EFI_GUID
*Guid
,
126 (EFIAPI
*PCD_PROTOCOL_SET8
) (
127 IN UINTN TokenNumber
,
133 (EFIAPI
*PCD_PROTOCOL_SET16
) (
134 IN UINTN TokenNumber
,
140 (EFIAPI
*PCD_PROTOCOL_SET32
) (
141 IN UINTN TokenNumber
,
147 (EFIAPI
*PCD_PROTOCOL_SET64
) (
148 IN UINTN TokenNumber
,
154 (EFIAPI
*PCD_PROTOCOL_SET_POINTER
) (
155 IN UINTN TokenNumber
,
161 (EFIAPI
*PCD_PROTOCOL_SET_BOOLEAN
) (
162 IN UINTN TokenNumber
,
168 (EFIAPI
*PCD_PROTOCOL_SET_EX_8
) (
169 IN CONST EFI_GUID
*Guid
,
170 IN UINTN TokenNumber
,
176 (EFIAPI
*PCD_PROTOCOL_SET_EX_16
) (
177 IN CONST EFI_GUID
*Guid
,
178 IN UINTN TokenNumber
,
184 (EFIAPI
*PCD_PROTOCOL_SET_EX_32
) (
185 IN CONST EFI_GUID
*Guid
,
186 IN UINTN TokenNumber
,
192 (EFIAPI
*PCD_PROTOCOL_SET_EX_64
) (
193 IN CONST EFI_GUID
*Guid
,
194 IN UINTN TokenNumber
,
200 (EFIAPI
*PCD_PROTOCOL_SET_EX_POINTER
) (
201 IN CONST EFI_GUID
*Guid
,
202 IN UINTN TokenNumber
,
208 (EFIAPI
*PCD_PROTOCOL_SET_EX_BOOLEAN
) (
209 IN CONST EFI_GUID
*Guid
,
210 IN UINTN TokenNumber
,
215 Callback on SET function prototype definition.
217 @param[in] CallBackGuid The PCD token GUID being set.
218 @param[in] CallBackToken The PCD token number being set.
219 @param[in] TokenData A pointer to the token data being set.
220 @param[in] TokenDataSize The size, in bytes, of the data being set.
227 (EFIAPI
*PCD_PROTOCOL_CALLBACK
) (
228 IN CONST EFI_GUID
*CallBackGuid
, OPTIONAL
229 IN UINTN CallBackToken
,
231 IN UINTN TokenDataSize
236 (EFIAPI
*PCD_PROTOCOL_CALLBACK_ONSET
) (
237 IN UINTN TokenNumber
,
238 IN CONST EFI_GUID
*Guid
, OPTIONAL
239 IN PCD_PROTOCOL_CALLBACK CallBackFunction
244 (EFIAPI
*PCD_PROTOCOL_CANCEL_CALLBACK
) (
245 IN UINTN TokenNumber
,
246 IN CONST EFI_GUID
*Guid
, OPTIONAL
247 IN PCD_PROTOCOL_CALLBACK CallBackFunction
252 (EFIAPI
*PCD_PROTOCOL_GET_NEXT_TOKEN
) (
253 IN CONST EFI_GUID
*Guid
, OPTIONAL
254 IN OUT UINTN
*TokenNumber
258 PCD_PROTOCOL_SET_SKU SetSku
;
260 PCD_PROTOCOL_GET8 Get8
;
261 PCD_PROTOCOL_GET16 Get16
;
262 PCD_PROTOCOL_GET32 Get32
;
263 PCD_PROTOCOL_GET64 Get64
;
264 PCD_PROTOCOL_GET_POINTER GetPtr
;
265 PCD_PROTOCOL_GET_BOOLEAN GetBool
;
266 PCD_PROTOCOL_GET_SIZE GetSize
;
268 PCD_PROTOCOL_GET_EX_8 Get8Ex
;
269 PCD_PROTOCOL_GET_EX_16 Get16Ex
;
270 PCD_PROTOCOL_GET_EX_32 Get32Ex
;
271 PCD_PROTOCOL_GET_EX_64 Get64Ex
;
272 PCD_PROTOCOL_GET_EX_POINTER GetPtrEx
;
273 PCD_PROTOCOL_GET_EX_BOOLEAN GetBoolEx
;
274 PCD_PROTOCOL_GET_EX_SIZE GetSizeEx
;
276 PCD_PROTOCOL_SET8 Set8
;
277 PCD_PROTOCOL_SET16 Set16
;
278 PCD_PROTOCOL_SET32 Set32
;
279 PCD_PROTOCOL_SET64 Set64
;
280 PCD_PROTOCOL_SET_POINTER SetPtr
;
281 PCD_PROTOCOL_SET_BOOLEAN SetBool
;
283 PCD_PROTOCOL_SET_EX_8 Set8Ex
;
284 PCD_PROTOCOL_SET_EX_16 Set16Ex
;
285 PCD_PROTOCOL_SET_EX_32 Set32Ex
;
286 PCD_PROTOCOL_SET_EX_64 Set64Ex
;
287 PCD_PROTOCOL_SET_EX_POINTER SetPtrEx
;
288 PCD_PROTOCOL_SET_EX_BOOLEAN SetBoolEx
;
290 PCD_PROTOCOL_CALLBACK_ONSET CallbackOnSet
;
291 PCD_PROTOCOL_CANCEL_CALLBACK CancelCallback
;
292 PCD_PROTOCOL_GET_NEXT_TOKEN GetNextToken
;