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 } }
27 (EFIAPI
*PCD_PROTOCOL_SET_SKU
) (
33 (EFIAPI
*PCD_PROTOCOL_GET8
) (
39 (EFIAPI
*PCD_PROTOCOL_GET16
) (
45 (EFIAPI
*PCD_PROTOCOL_GET32
) (
51 (EFIAPI
*PCD_PROTOCOL_GET64
) (
57 (EFIAPI
*PCD_PROTOCOL_GET_POINTER
) (
63 (EFIAPI
*PCD_PROTOCOL_GET_BOOLEAN
) (
69 (EFIAPI
*PCD_PROTOCOL_GET_SIZE
) (
75 (EFIAPI
*PCD_PROTOCOL_GET_EX_8
) (
76 IN CONST EFI_GUID
*Guid
,
82 (EFIAPI
*PCD_PROTOCOL_GET_EX_16
) (
83 IN CONST EFI_GUID
*Guid
,
89 (EFIAPI
*PCD_PROTOCOL_GET_EX_32
) (
90 IN CONST EFI_GUID
*Guid
,
96 (EFIAPI
*PCD_PROTOCOL_GET_EX_64
) (
97 IN CONST EFI_GUID
*Guid
,
103 (EFIAPI
*PCD_PROTOCOL_GET_EX_POINTER
) (
104 IN CONST EFI_GUID
*Guid
,
110 (EFIAPI
*PCD_PROTOCOL_GET_EX_BOOLEAN
) (
111 IN CONST EFI_GUID
*Guid
,
117 (EFIAPI
*PCD_PROTOCOL_GET_EX_SIZE
) (
118 IN CONST EFI_GUID
*Guid
,
124 (EFIAPI
*PCD_PROTOCOL_SET8
) (
125 IN UINTN TokenNumber
,
131 (EFIAPI
*PCD_PROTOCOL_SET16
) (
132 IN UINTN TokenNumber
,
138 (EFIAPI
*PCD_PROTOCOL_SET32
) (
139 IN UINTN TokenNumber
,
145 (EFIAPI
*PCD_PROTOCOL_SET64
) (
146 IN UINTN TokenNumber
,
152 (EFIAPI
*PCD_PROTOCOL_SET_POINTER
) (
153 IN UINTN TokenNumber
,
159 (EFIAPI
*PCD_PROTOCOL_SET_BOOLEAN
) (
160 IN UINTN TokenNumber
,
166 (EFIAPI
*PCD_PROTOCOL_SET_EX_8
) (
167 IN CONST EFI_GUID
*Guid
,
168 IN UINTN TokenNumber
,
174 (EFIAPI
*PCD_PROTOCOL_SET_EX_16
) (
175 IN CONST EFI_GUID
*Guid
,
176 IN UINTN TokenNumber
,
182 (EFIAPI
*PCD_PROTOCOL_SET_EX_32
) (
183 IN CONST EFI_GUID
*Guid
,
184 IN UINTN TokenNumber
,
190 (EFIAPI
*PCD_PROTOCOL_SET_EX_64
) (
191 IN CONST EFI_GUID
*Guid
,
192 IN UINTN TokenNumber
,
198 (EFIAPI
*PCD_PROTOCOL_SET_EX_POINTER
) (
199 IN CONST EFI_GUID
*Guid
,
200 IN UINTN TokenNumber
,
206 (EFIAPI
*PCD_PROTOCOL_SET_EX_BOOLEAN
) (
207 IN CONST EFI_GUID
*Guid
,
208 IN UINTN TokenNumber
,
213 Callback on SET function prototype definition.
215 @param[in] CallBackGuid The PCD token GUID being set.
216 @param[in] CallBackToken The PCD token number being set.
217 @param[in] TokenData A pointer to the token data being set.
218 @param[in] TokenDataSize The size, in bytes, of the data being set.
225 (EFIAPI
*PCD_PROTOCOL_CALLBACK
) (
226 IN CONST EFI_GUID
*CallBackGuid
, OPTIONAL
227 IN UINTN CallBackToken
,
229 IN UINTN TokenDataSize
234 (EFIAPI
*PCD_PROTOCOL_CALLBACK_ONSET
) (
235 IN UINTN TokenNumber
,
236 IN CONST EFI_GUID
*Guid
, OPTIONAL
237 IN PCD_PROTOCOL_CALLBACK CallBackFunction
242 (EFIAPI
*PCD_PROTOCOL_CANCEL_CALLBACK
) (
243 IN UINTN TokenNumber
,
244 IN CONST EFI_GUID
*Guid
, OPTIONAL
245 IN PCD_PROTOCOL_CALLBACK CallBackFunction
250 (EFIAPI
*PCD_PROTOCOL_GET_NEXT_TOKEN
) (
251 IN CONST EFI_GUID
*Guid
, OPTIONAL
252 IN OUT UINTN
*TokenNumber
256 PCD_PROTOCOL_SET_SKU SetSku
;
258 PCD_PROTOCOL_GET8 Get8
;
259 PCD_PROTOCOL_GET16 Get16
;
260 PCD_PROTOCOL_GET32 Get32
;
261 PCD_PROTOCOL_GET64 Get64
;
262 PCD_PROTOCOL_GET_POINTER GetPtr
;
263 PCD_PROTOCOL_GET_BOOLEAN GetBool
;
264 PCD_PROTOCOL_GET_SIZE GetSize
;
266 PCD_PROTOCOL_GET_EX_8 Get8Ex
;
267 PCD_PROTOCOL_GET_EX_16 Get16Ex
;
268 PCD_PROTOCOL_GET_EX_32 Get32Ex
;
269 PCD_PROTOCOL_GET_EX_64 Get64Ex
;
270 PCD_PROTOCOL_GET_EX_POINTER GetPtrEx
;
271 PCD_PROTOCOL_GET_EX_BOOLEAN GetBoolEx
;
272 PCD_PROTOCOL_GET_EX_SIZE GetSizeEx
;
274 PCD_PROTOCOL_SET8 Set8
;
275 PCD_PROTOCOL_SET16 Set16
;
276 PCD_PROTOCOL_SET32 Set32
;
277 PCD_PROTOCOL_SET64 Set64
;
278 PCD_PROTOCOL_SET_POINTER SetPtr
;
279 PCD_PROTOCOL_SET_BOOLEAN SetBool
;
281 PCD_PROTOCOL_SET_EX_8 Set8Ex
;
282 PCD_PROTOCOL_SET_EX_16 Set16Ex
;
283 PCD_PROTOCOL_SET_EX_32 Set32Ex
;
284 PCD_PROTOCOL_SET_EX_64 Set64Ex
;
285 PCD_PROTOCOL_SET_EX_POINTER SetPtrEx
;
286 PCD_PROTOCOL_SET_EX_BOOLEAN SetBoolEx
;
288 PCD_PROTOCOL_CALLBACK_ONSET CallbackOnSet
;
289 PCD_PROTOCOL_CANCEL_CALLBACK CancelCallback
;
290 PCD_PROTOCOL_GET_NEXT_TOKEN GetNextToken
;