]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Protocol/Pcd.h
Make variable names for protocol GUIDs consistent
[mirror_edk2.git] / MdePkg / Include / Protocol / Pcd.h
CommitLineData
878ddf1f 1/** @file\r
2 Platform Configuration Database (PCD) Protocol\r
3\r
4 Copyright (c) 2006, Intel Corporation \r
5 All rights reserved. This program and the accompanying materials \r
6 are licensed and made available under the terms and conditions of the BSD License \r
7 which accompanies this distribution. The full text of the license may be found at \r
8 http://opensource.org/licenses/bsd-license.php \r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
12\r
13 Module Name: Pcd.h\r
14\r
15**/\r
16\r
17#ifndef __PCD_H__\r
18#define __PCD_H__\r
19\r
20extern EFI_GUID gPcdProtocolGuid;\r
21\r
22#define PCD_PROTOCOL_GUID \\r
23 { 0x11b34006, 0xd85b, 0x4d0a, { 0xa2, 0x90, 0xd5, 0xa5, 0x71, 0x31, 0xe, 0xf7 } }\r
24\r
25typedef \r
26EFI_STATUS\r
27(EFIAPI *PCD_PROTOCOL_SET_SKU) (\r
28 IN UINTN SkuId\r
29 );\r
30\r
31typedef\r
32UINT8\r
33(EFIAPI *PCD_PROTOCOL_GET8) (\r
34 IN UINTN TokenNumber\r
35 );\r
36\r
37typedef\r
38UINT16\r
39(EFIAPI *PCD_PROTOCOL_GET16) (\r
40 IN UINTN TokenNumber\r
41 );\r
42\r
43typedef\r
44UINT32\r
45(EFIAPI *PCD_PROTOCOL_GET32) (\r
46 IN UINTN TokenNumber\r
47 );\r
48\r
49typedef\r
50UINT64\r
51(EFIAPI *PCD_PROTOCOL_GET64) (\r
52 IN UINTN TokenNumber\r
53 );\r
54\r
55typedef\r
56VOID *\r
57(EFIAPI *PCD_PROTOCOL_GET_POINTER) (\r
58 IN UINTN TokenNumber\r
59 );\r
60\r
61typedef\r
62BOOLEAN\r
63(EFIAPI *PCD_PROTOCOL_GET_BOOLEAN) (\r
64 IN UINTN TokenNumber\r
65 );\r
66\r
67typedef\r
68UINTN\r
69(EFIAPI *PCD_PROTOCOL_GET_SIZE) (\r
70 IN UINTN TokenNumber\r
71 );\r
72\r
73typedef\r
74UINT8\r
75(EFIAPI *PCD_PROTOCOL_GET_EX_8) (\r
76 IN CONST EFI_GUID *Guid,\r
77 IN UINTN TokenNumber\r
78 );\r
79\r
80typedef\r
81UINT16\r
82(EFIAPI *PCD_PROTOCOL_GET_EX_16) (\r
83 IN CONST EFI_GUID *Guid,\r
84 IN UINTN TokenNumber\r
85 );\r
86\r
87typedef\r
88UINT32\r
89(EFIAPI *PCD_PROTOCOL_GET_EX_32) (\r
90 IN CONST EFI_GUID *Guid,\r
91 IN UINTN TokenNumber\r
92 );\r
93\r
94typedef\r
95UINT64\r
96(EFIAPI *PCD_PROTOCOL_GET_EX_64) (\r
97 IN CONST EFI_GUID *Guid,\r
98 IN UINTN TokenNumber\r
99 );\r
100\r
101typedef\r
102VOID *\r
103(EFIAPI *PCD_PROTOCOL_GET_EX_POINTER) (\r
104 IN CONST EFI_GUID *Guid,\r
105 IN UINTN TokenNumber\r
106 );\r
107\r
108typedef\r
109BOOLEAN\r
110(EFIAPI *PCD_PROTOCOL_GET_EX_BOOLEAN) (\r
111 IN CONST EFI_GUID *Guid,\r
112 IN UINTN TokenNumber\r
113 );\r
114\r
115typedef\r
116UINTN\r
117(EFIAPI *PCD_PROTOCOL_GET_EX_SIZE) (\r
118 IN CONST EFI_GUID *Guid,\r
119 IN UINTN TokenNumber\r
120 );\r
121\r
122typedef\r
123EFI_STATUS\r
124(EFIAPI *PCD_PROTOCOL_SET8) (\r
125 IN UINTN TokenNumber,\r
126 IN UINT8 Value\r
127 );\r
128\r
129typedef\r
130EFI_STATUS\r
131(EFIAPI *PCD_PROTOCOL_SET16) (\r
132 IN UINTN TokenNumber,\r
133 IN UINT16 Value\r
134 );\r
135\r
136typedef\r
137EFI_STATUS\r
138(EFIAPI *PCD_PROTOCOL_SET32) (\r
139 IN UINTN TokenNumber,\r
140 IN UINT32 Value\r
141 );\r
142\r
143typedef\r
144EFI_STATUS\r
145(EFIAPI *PCD_PROTOCOL_SET64) (\r
146 IN UINTN TokenNumber,\r
147 IN UINT64 Value\r
148 );\r
149\r
150typedef\r
151EFI_STATUS\r
152(EFIAPI *PCD_PROTOCOL_SET_POINTER) (\r
153 IN UINTN TokenNumber,\r
154 IN CONST VOID *Value\r
155 );\r
156\r
157typedef\r
158EFI_STATUS\r
159(EFIAPI *PCD_PROTOCOL_SET_BOOLEAN) (\r
160 IN UINTN TokenNumber,\r
161 IN BOOLEAN Value\r
162 );\r
163\r
164typedef\r
165EFI_STATUS\r
166(EFIAPI *PCD_PROTOCOL_SET_EX_8) (\r
167 IN CONST EFI_GUID *Guid,\r
168 IN UINTN TokenNumber,\r
169 IN UINT8 Value\r
170 );\r
171\r
172typedef\r
173EFI_STATUS\r
174(EFIAPI *PCD_PROTOCOL_SET_EX_16) (\r
175 IN CONST EFI_GUID *Guid,\r
176 IN UINTN TokenNumber,\r
177 IN UINT16 Value\r
178 );\r
179\r
180typedef\r
181EFI_STATUS\r
182(EFIAPI *PCD_PROTOCOL_SET_EX_32) (\r
183 IN CONST EFI_GUID *Guid,\r
184 IN UINTN TokenNumber,\r
185 IN UINT32 Value\r
186 );\r
187\r
188typedef\r
189EFI_STATUS\r
190(EFIAPI *PCD_PROTOCOL_SET_EX_64) (\r
191 IN CONST EFI_GUID *Guid,\r
192 IN UINTN TokenNumber,\r
193 IN UINT64 Value\r
194 );\r
195\r
196typedef\r
197EFI_STATUS\r
198(EFIAPI *PCD_PROTOCOL_SET_EX_POINTER) (\r
199 IN CONST EFI_GUID *Guid,\r
200 IN UINTN TokenNumber,\r
201 IN CONST VOID *Value\r
202 );\r
203\r
204typedef\r
205EFI_STATUS\r
206(EFIAPI *PCD_PROTOCOL_SET_EX_BOOLEAN) (\r
207 IN CONST EFI_GUID *Guid,\r
208 IN UINTN TokenNumber,\r
209 IN BOOLEAN Value\r
210 );\r
211 \r
212/**\r
213 Callback on SET function prototype definition.\r
214\r
215 @param[in] CallBackGuid The PCD token GUID being set.\r
216 @param[in] CallBackToken The PCD token number being set.\r
217 @param[in] TokenData A pointer to the token data being set.\r
218 @param[in] TokenDataSize The size, in bytes, of the data being set.\r
219\r
220 @retval VOID\r
221\r
222--*/\r
223typedef\r
224VOID\r
225(EFIAPI *PCD_PROTOCOL_CALLBACK) (\r
226 IN CONST EFI_GUID *CallBackGuid, OPTIONAL\r
227 IN UINTN CallBackToken,\r
228 IN VOID *TokenData,\r
229 IN UINTN TokenDataSize\r
230 );\r
231\r
232typedef\r
233EFI_STATUS\r
234(EFIAPI *PCD_PROTOCOL_CALLBACK_ONSET) (\r
235 IN UINTN TokenNumber,\r
236 IN CONST EFI_GUID *Guid, OPTIONAL\r
237 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
238 );\r
239\r
240typedef\r
241EFI_STATUS\r
242(EFIAPI *PCD_PROTOCOL_CANCEL_CALLBACK) (\r
243 IN UINTN TokenNumber,\r
244 IN CONST EFI_GUID *Guid, OPTIONAL\r
245 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
246 );\r
247\r
248typedef \r
249EFI_STATUS\r
250(EFIAPI *PCD_PROTOCOL_GET_NEXT_TOKEN) (\r
251 IN CONST EFI_GUID *Guid, OPTIONAL\r
252 IN OUT UINTN *TokenNumber\r
253 );\r
254\r
255typedef struct {\r
256 PCD_PROTOCOL_SET_SKU SetSku;\r
257\r
258 PCD_PROTOCOL_GET8 Get8;\r
259 PCD_PROTOCOL_GET16 Get16;\r
260 PCD_PROTOCOL_GET32 Get32;\r
261 PCD_PROTOCOL_GET64 Get64;\r
262 PCD_PROTOCOL_GET_POINTER GetPtr;\r
263 PCD_PROTOCOL_GET_BOOLEAN GetBool;\r
264 PCD_PROTOCOL_GET_SIZE GetSize;\r
265\r
266 PCD_PROTOCOL_GET_EX_8 Get8Ex;\r
267 PCD_PROTOCOL_GET_EX_16 Get16Ex;\r
268 PCD_PROTOCOL_GET_EX_32 Get32Ex;\r
269 PCD_PROTOCOL_GET_EX_64 Get64Ex;\r
270 PCD_PROTOCOL_GET_EX_POINTER GetPtrEx;\r
271 PCD_PROTOCOL_GET_EX_BOOLEAN GetBoolEx;\r
272 PCD_PROTOCOL_GET_EX_SIZE GetSizeEx;\r
273\r
274 PCD_PROTOCOL_SET8 Set8;\r
275 PCD_PROTOCOL_SET16 Set16;\r
276 PCD_PROTOCOL_SET32 Set32;\r
277 PCD_PROTOCOL_SET64 Set64;\r
278 PCD_PROTOCOL_SET_POINTER SetPtr;\r
279 PCD_PROTOCOL_SET_BOOLEAN SetBool;\r
280\r
281 PCD_PROTOCOL_SET_EX_8 Set8Ex;\r
282 PCD_PROTOCOL_SET_EX_16 Set16Ex;\r
283 PCD_PROTOCOL_SET_EX_32 Set32Ex;\r
284 PCD_PROTOCOL_SET_EX_64 Set64Ex;\r
285 PCD_PROTOCOL_SET_EX_POINTER SetPtrEx;\r
286 PCD_PROTOCOL_SET_EX_BOOLEAN SetBoolEx;\r
287\r
288 PCD_PROTOCOL_CALLBACK_ONSET CallbackOnSet;\r
289 PCD_PROTOCOL_CANCEL_CALLBACK CancelCallback;\r
290 PCD_PROTOCOL_GET_NEXT_TOKEN GetNextToken;\r
291} PCD_PROTOCOL;\r
292\r
293#endif\r