]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/TianoTools/Include/Protocol/Pcd.h
1. Removed the unnecessary #include statements and include files
[mirror_edk2.git] / Tools / Source / TianoTools / Include / Protocol / Pcd.h
CommitLineData
21b50a27 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
25#define PCD_INVALID_TOKEN_NUMBER ((UINTN) -1)\r
26\r
27typedef \r
28VOID\r
29(EFIAPI *PCD_PROTOCOL_SET_SKU) (\r
30 IN UINTN SkuId\r
31 );\r
32\r
33typedef\r
34UINT8\r
35(EFIAPI *PCD_PROTOCOL_GET8) (\r
36 IN UINTN TokenNumber\r
37 );\r
38\r
39typedef\r
40UINT16\r
41(EFIAPI *PCD_PROTOCOL_GET16) (\r
42 IN UINTN TokenNumber\r
43 );\r
44\r
45typedef\r
46UINT32\r
47(EFIAPI *PCD_PROTOCOL_GET32) (\r
48 IN UINTN TokenNumber\r
49 );\r
50\r
51typedef\r
52UINT64\r
53(EFIAPI *PCD_PROTOCOL_GET64) (\r
54 IN UINTN TokenNumber\r
55 );\r
56\r
57typedef\r
58VOID *\r
59(EFIAPI *PCD_PROTOCOL_GET_POINTER) (\r
60 IN UINTN TokenNumber\r
61 );\r
62\r
63typedef\r
64BOOLEAN\r
65(EFIAPI *PCD_PROTOCOL_GET_BOOLEAN) (\r
66 IN UINTN TokenNumber\r
67 );\r
68\r
69typedef\r
70UINTN\r
71(EFIAPI *PCD_PROTOCOL_GET_SIZE) (\r
72 IN UINTN TokenNumber\r
73 );\r
74\r
75typedef\r
76UINT8\r
77(EFIAPI *PCD_PROTOCOL_GET_EX_8) (\r
78 IN CONST EFI_GUID *Guid,\r
79 IN UINTN TokenNumber\r
80 );\r
81\r
82typedef\r
83UINT16\r
84(EFIAPI *PCD_PROTOCOL_GET_EX_16) (\r
85 IN CONST EFI_GUID *Guid,\r
86 IN UINTN TokenNumber\r
87 );\r
88\r
89typedef\r
90UINT32\r
91(EFIAPI *PCD_PROTOCOL_GET_EX_32) (\r
92 IN CONST EFI_GUID *Guid,\r
93 IN UINTN TokenNumber\r
94 );\r
95\r
96typedef\r
97UINT64\r
98(EFIAPI *PCD_PROTOCOL_GET_EX_64) (\r
99 IN CONST EFI_GUID *Guid,\r
100 IN UINTN TokenNumber\r
101 );\r
102\r
103typedef\r
104VOID *\r
105(EFIAPI *PCD_PROTOCOL_GET_EX_POINTER) (\r
106 IN CONST EFI_GUID *Guid,\r
107 IN UINTN TokenNumber\r
108 );\r
109\r
110typedef\r
111BOOLEAN\r
112(EFIAPI *PCD_PROTOCOL_GET_EX_BOOLEAN) (\r
113 IN CONST EFI_GUID *Guid,\r
114 IN UINTN TokenNumber\r
115 );\r
116\r
117typedef\r
118UINTN\r
119(EFIAPI *PCD_PROTOCOL_GET_EX_SIZE) (\r
120 IN CONST EFI_GUID *Guid,\r
121 IN UINTN TokenNumber\r
122 );\r
123\r
124typedef\r
125EFI_STATUS\r
126(EFIAPI *PCD_PROTOCOL_SET8) (\r
127 IN UINTN TokenNumber,\r
128 IN UINT8 Value\r
129 );\r
130\r
131typedef\r
132EFI_STATUS\r
133(EFIAPI *PCD_PROTOCOL_SET16) (\r
134 IN UINTN TokenNumber,\r
135 IN UINT16 Value\r
136 );\r
137\r
138typedef\r
139EFI_STATUS\r
140(EFIAPI *PCD_PROTOCOL_SET32) (\r
141 IN UINTN TokenNumber,\r
142 IN UINT32 Value\r
143 );\r
144\r
145typedef\r
146EFI_STATUS\r
147(EFIAPI *PCD_PROTOCOL_SET64) (\r
148 IN UINTN TokenNumber,\r
149 IN UINT64 Value\r
150 );\r
151\r
152typedef\r
153EFI_STATUS\r
154(EFIAPI *PCD_PROTOCOL_SET_POINTER) (\r
155 IN UINTN TokenNumber,\r
156 IN UINTN SizeOfBuffer,\r
157 IN VOID *Buffer\r
158 );\r
159\r
160typedef\r
161EFI_STATUS\r
162(EFIAPI *PCD_PROTOCOL_SET_BOOLEAN) (\r
163 IN UINTN TokenNumber,\r
164 IN BOOLEAN Value\r
165 );\r
166\r
167typedef\r
168EFI_STATUS\r
169(EFIAPI *PCD_PROTOCOL_SET_EX_8) (\r
170 IN CONST EFI_GUID *Guid,\r
171 IN UINTN TokenNumber,\r
172 IN UINT8 Value\r
173 );\r
174\r
175typedef\r
176EFI_STATUS\r
177(EFIAPI *PCD_PROTOCOL_SET_EX_16) (\r
178 IN CONST EFI_GUID *Guid,\r
179 IN UINTN TokenNumber,\r
180 IN UINT16 Value\r
181 );\r
182\r
183typedef\r
184EFI_STATUS\r
185(EFIAPI *PCD_PROTOCOL_SET_EX_32) (\r
186 IN CONST EFI_GUID *Guid,\r
187 IN UINTN TokenNumber,\r
188 IN UINT32 Value\r
189 );\r
190\r
191typedef\r
192EFI_STATUS\r
193(EFIAPI *PCD_PROTOCOL_SET_EX_64) (\r
194 IN CONST EFI_GUID *Guid,\r
195 IN UINTN TokenNumber,\r
196 IN UINT64 Value\r
197 );\r
198\r
199typedef\r
200EFI_STATUS\r
201(EFIAPI *PCD_PROTOCOL_SET_EX_POINTER) (\r
202 IN CONST EFI_GUID *Guid,\r
203 IN UINTN TokenNumber,\r
204 IN UINTN SizeOfBuffer,\r
205 IN VOID *Buffer\r
206 );\r
207\r
208typedef\r
209EFI_STATUS\r
210(EFIAPI *PCD_PROTOCOL_SET_EX_BOOLEAN) (\r
211 IN CONST EFI_GUID *Guid,\r
212 IN UINTN TokenNumber,\r
213 IN BOOLEAN Value\r
214 );\r
215 \r
216/**\r
217 Callback on SET function prototype definition.\r
218\r
219 @param[in] CallBackGuid The PCD token GUID being set.\r
220 @param[in] CallBackToken The PCD token number being set.\r
221 @param[in] TokenData A pointer to the token data being set.\r
222 @param[in] TokenDataSize The size, in bytes, of the data being set.\r
223\r
224 @retval VOID\r
225\r
226--*/\r
227typedef\r
228VOID\r
229(EFIAPI *PCD_PROTOCOL_CALLBACK) (\r
230 IN CONST EFI_GUID *CallBackGuid, OPTIONAL\r
231 IN UINTN CallBackToken,\r
232 IN OUT VOID *TokenData,\r
233 IN UINTN TokenDataSize\r
234 );\r
235\r
236typedef\r
237EFI_STATUS\r
238(EFIAPI *PCD_PROTOCOL_CALLBACK_ONSET) (\r
239 IN UINTN TokenNumber,\r
240 IN CONST EFI_GUID *Guid, OPTIONAL\r
241 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
242 );\r
243\r
244typedef\r
245EFI_STATUS\r
246(EFIAPI *PCD_PROTOCOL_CANCEL_CALLBACK) (\r
247 IN UINTN TokenNumber,\r
248 IN CONST EFI_GUID *Guid, OPTIONAL\r
249 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
250 );\r
251\r
252typedef \r
253EFI_STATUS\r
254(EFIAPI *PCD_PROTOCOL_GET_NEXT_TOKEN) (\r
255 IN CONST EFI_GUID *Guid, OPTIONAL\r
256 IN OUT UINTN *TokenNumber\r
257 );\r
258\r
259typedef struct {\r
260 PCD_PROTOCOL_SET_SKU SetSku;\r
261\r
262 PCD_PROTOCOL_GET8 Get8;\r
263 PCD_PROTOCOL_GET16 Get16;\r
264 PCD_PROTOCOL_GET32 Get32;\r
265 PCD_PROTOCOL_GET64 Get64;\r
266 PCD_PROTOCOL_GET_POINTER GetPtr;\r
267 PCD_PROTOCOL_GET_BOOLEAN GetBool;\r
268 PCD_PROTOCOL_GET_SIZE GetSize;\r
269\r
270 PCD_PROTOCOL_GET_EX_8 Get8Ex;\r
271 PCD_PROTOCOL_GET_EX_16 Get16Ex;\r
272 PCD_PROTOCOL_GET_EX_32 Get32Ex;\r
273 PCD_PROTOCOL_GET_EX_64 Get64Ex;\r
274 PCD_PROTOCOL_GET_EX_POINTER GetPtrEx;\r
275 PCD_PROTOCOL_GET_EX_BOOLEAN GetBoolEx;\r
276 PCD_PROTOCOL_GET_EX_SIZE GetSizeEx;\r
277\r
278 PCD_PROTOCOL_SET8 Set8;\r
279 PCD_PROTOCOL_SET16 Set16;\r
280 PCD_PROTOCOL_SET32 Set32;\r
281 PCD_PROTOCOL_SET64 Set64;\r
282 PCD_PROTOCOL_SET_POINTER SetPtr;\r
283 PCD_PROTOCOL_SET_BOOLEAN SetBool;\r
284\r
285 PCD_PROTOCOL_SET_EX_8 Set8Ex;\r
286 PCD_PROTOCOL_SET_EX_16 Set16Ex;\r
287 PCD_PROTOCOL_SET_EX_32 Set32Ex;\r
288 PCD_PROTOCOL_SET_EX_64 Set64Ex;\r
289 PCD_PROTOCOL_SET_EX_POINTER SetPtrEx;\r
290 PCD_PROTOCOL_SET_EX_BOOLEAN SetBoolEx;\r
291\r
292 PCD_PROTOCOL_CALLBACK_ONSET CallbackOnSet;\r
293 PCD_PROTOCOL_CANCEL_CALLBACK CancelCallback;\r
294 PCD_PROTOCOL_GET_NEXT_TOKEN GetNextToken;\r
295} PCD_PROTOCOL;\r
296\r
297#endif\r