]> git.proxmox.com Git - mirror_edk2.git/blob - EdkModulePkg/Universal/PCD/Pei/Service.h
b0f066817ca0ea57e9868f8b77c953fb87863aa7
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Pei / Service.h
1 /** @file
2 Private functions used by PCD PEIM.
3
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
9
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.
12
13
14 Module Name: Service.h
15
16 **/
17
18 #ifndef _SERVICE_H
19 #define _SERVICE_H
20
21 //
22 // Please make sure the PCD Serivce PEIM Version is consistent with
23 // the version of PCD Database generation tool
24 //
25 #define PCD_PEI_SERVICE_DRIVER_VERSION 1
26
27 //
28 // PCD_PEI_DATABASE_GENTOOL_VERSION is defined in Autogen.h
29 // and generated by PCD Database generation tool.
30 //
31 #if (PCD_PEI_SERVICE_PEIM_VERSION != PCD_PEI_DATABASE_GENTOOL_VERSION)
32 #error "Please make sure the version of PCD Service PEIM and PCD PEI Database Generation Tool matches"
33 #endif
34
35 /* Internal Function definitions */
36
37 PEI_PCD_DATABASE *
38 GetPcdDatabase (
39 VOID
40 )
41 ;
42
43 EFI_STATUS
44 SetWorker (
45 IN PCD_TOKEN_NUMBER TokenNumber,
46 IN VOID *Data,
47 IN UINTN Size,
48 IN BOOLEAN PtrType
49 )
50 ;
51
52 EFI_STATUS
53 SetWorkerByLocalTokenNumber (
54 IN UINT32 LocalTokenNumber,
55 IN VOID *Data,
56 IN UINTN Size,
57 IN BOOLEAN PtrType
58 )
59 ;
60
61 EFI_STATUS
62 ExSetWorker (
63 IN PCD_TOKEN_NUMBER ExTokenNumber,
64 IN CONST EFI_GUID *Guid,
65 IN VOID *Data,
66 IN UINTN Size,
67 IN BOOLEAN PtrType
68 )
69 ;
70
71 VOID *
72 GetWorker (
73 IN PCD_TOKEN_NUMBER TokenNumber,
74 IN UINTN GetSize
75 )
76 ;
77
78 VOID *
79 ExGetWorker (
80 IN CONST EFI_GUID *Guid,
81 IN PCD_TOKEN_NUMBER ExTokenNumber,
82 IN UINTN GetSize
83 )
84 ;
85
86 typedef struct {
87 UINTN TokenNumber;
88 UINTN Size;
89 UINT32 LocalTokenNumberAlias;
90 } EX_PCD_ENTRY_ATTRIBUTE;
91
92 VOID
93 GetExPcdTokenAttributes (
94 IN CONST EFI_GUID *Guid,
95 IN PCD_TOKEN_NUMBER ExTokenNumber,
96 OUT EX_PCD_ENTRY_ATTRIBUTE *ExAttr
97 )
98 ;
99
100
101
102
103 EFI_STATUS
104 PeiRegisterCallBackWorker (
105 IN PCD_TOKEN_NUMBER TokenNumber,
106 IN CONST GUID *Guid, OPTIONAL
107 IN PCD_PPI_CALLBACK CallBackFunction,
108 IN BOOLEAN Register
109 );
110
111
112
113
114 VOID
115 BuildPcdDatabase (
116 VOID
117 )
118 ;
119
120
121 //
122 // PPI Interface Implementation Declaration.
123 //
124 VOID
125 EFIAPI
126 PeiPcdSetSku (
127 IN SKU_ID SkuId
128 )
129 ;
130
131
132 UINT8
133 EFIAPI
134 PeiPcdGet8 (
135 IN PCD_TOKEN_NUMBER TokenNumber
136 )
137 ;
138
139
140 UINT16
141 EFIAPI
142 PeiPcdGet16 (
143 IN PCD_TOKEN_NUMBER TokenNumber
144 )
145 ;
146
147
148 UINT32
149 EFIAPI
150 PeiPcdGet32 (
151 IN PCD_TOKEN_NUMBER TokenNumber
152 )
153 ;
154
155
156 UINT64
157 EFIAPI
158 PeiPcdGet64 (
159 IN PCD_TOKEN_NUMBER TokenNumber
160 )
161 ;
162
163
164 VOID *
165 EFIAPI
166 PeiPcdGetPtr (
167 IN PCD_TOKEN_NUMBER TokenNumber
168 )
169 ;
170
171
172 BOOLEAN
173 EFIAPI
174 PeiPcdGetBool (
175 IN PCD_TOKEN_NUMBER TokenNumber
176 )
177 ;
178
179
180 UINTN
181 EFIAPI
182 PeiPcdGetSize (
183 IN PCD_TOKEN_NUMBER TokenNumber
184 )
185 ;
186
187
188 UINT8
189 EFIAPI
190 PeiPcdGet8Ex (
191 IN CONST EFI_GUID *Guid,
192 IN PCD_TOKEN_NUMBER TokenNumber
193 )
194 ;
195
196
197 UINT16
198 EFIAPI
199 PeiPcdGet16Ex (
200 IN CONST EFI_GUID *Guid,
201 IN PCD_TOKEN_NUMBER TokenNumber
202 )
203 ;
204
205 UINT32
206 EFIAPI
207 PeiPcdGet32Ex (
208 IN CONST EFI_GUID *Guid,
209 IN PCD_TOKEN_NUMBER TokenNumber
210 )
211 ;
212
213
214 UINT64
215 EFIAPI
216 PeiPcdGet64Ex (
217 IN CONST EFI_GUID *Guid,
218 IN PCD_TOKEN_NUMBER TokenNumber
219 )
220 ;
221
222
223 VOID *
224 EFIAPI
225 PeiPcdGetPtrEx (
226 IN CONST EFI_GUID *Guid,
227 IN PCD_TOKEN_NUMBER TokenNumber
228 )
229 ;
230
231
232 BOOLEAN
233 EFIAPI
234 PeiPcdGetBoolEx (
235 IN CONST EFI_GUID *Guid,
236 IN PCD_TOKEN_NUMBER TokenNumber
237 )
238 ;
239
240
241 UINTN
242 EFIAPI
243 PeiPcdGetSizeEx (
244 IN CONST EFI_GUID *Guid,
245 IN PCD_TOKEN_NUMBER TokenNumber
246 )
247 ;
248
249
250 EFI_STATUS
251 EFIAPI
252 PeiPcdSet8 (
253 IN PCD_TOKEN_NUMBER TokenNumber,
254 IN UINT8 Value
255 )
256 ;
257
258
259 EFI_STATUS
260 EFIAPI
261 PeiPcdSet16 (
262 IN PCD_TOKEN_NUMBER TokenNumber,
263 IN UINT16 Value
264 )
265 ;
266
267
268 EFI_STATUS
269 EFIAPI
270 PeiPcdSet32 (
271 IN PCD_TOKEN_NUMBER TokenNumber,
272 IN UINT32 Value
273 )
274 ;
275
276
277 EFI_STATUS
278 EFIAPI
279 PeiPcdSet64 (
280 IN PCD_TOKEN_NUMBER TokenNumber,
281 IN UINT64 Value
282 )
283 ;
284
285 EFI_STATUS
286 EFIAPI
287 PeiPcdSetPtr (
288 IN PCD_TOKEN_NUMBER TokenNumber,
289 IN UINTN SizeOfBuffer,
290 IN VOID *Buffer
291 )
292 ;
293
294
295 EFI_STATUS
296 EFIAPI
297 PeiPcdSetBool (
298 IN PCD_TOKEN_NUMBER TokenNumber,
299 IN BOOLEAN Value
300 )
301 ;
302
303
304 EFI_STATUS
305 EFIAPI
306 PeiPcdSet8Ex (
307 IN CONST EFI_GUID *Guid,
308 IN PCD_TOKEN_NUMBER TokenNumber,
309 IN UINT8 Value
310 )
311 ;
312
313 EFI_STATUS
314 EFIAPI
315 PeiPcdSet16Ex (
316 IN CONST EFI_GUID *Guid,
317 IN PCD_TOKEN_NUMBER TokenNumber,
318 IN UINT16 Value
319 )
320 ;
321
322
323 EFI_STATUS
324 EFIAPI
325 PeiPcdSet32Ex (
326 IN CONST EFI_GUID *Guid,
327 IN PCD_TOKEN_NUMBER TokenNumber,
328 IN UINT32 Value
329 )
330 ;
331
332
333 EFI_STATUS
334 EFIAPI
335 PeiPcdSet64Ex (
336 IN CONST EFI_GUID *Guid,
337 IN PCD_TOKEN_NUMBER TokenNumber,
338 IN UINT64 Value
339 )
340 ;
341
342
343 EFI_STATUS
344 EFIAPI
345 PeiPcdSetPtrEx (
346 IN CONST EFI_GUID *Guid,
347 IN PCD_TOKEN_NUMBER TokenNumber,
348 IN UINTN SizeOfBuffer,
349 IN VOID *Buffer
350 )
351 ;
352
353
354 EFI_STATUS
355 EFIAPI
356 PeiPcdSetBoolEx (
357 IN CONST EFI_GUID *Guid,
358 IN PCD_TOKEN_NUMBER TokenNumber,
359 IN BOOLEAN Value
360 )
361 ;
362
363
364
365 EFI_STATUS
366 EFIAPI
367 PeiRegisterCallBackOnSet (
368 IN PCD_TOKEN_NUMBER TokenNumber,
369 IN CONST EFI_GUID *Guid, OPTIONAL
370 IN PCD_PPI_CALLBACK CallBackFunction
371 )
372 ;
373
374
375 EFI_STATUS
376 EFIAPI
377 PcdUnRegisterCallBackOnSet (
378 IN PCD_TOKEN_NUMBER TokenNumber,
379 IN CONST EFI_GUID *Guid, OPTIONAL
380 IN PCD_PPI_CALLBACK CallBackFunction
381 )
382 ;
383
384
385 EFI_STATUS
386 EFIAPI
387 PeiPcdGetNextToken (
388 IN CONST EFI_GUID *Guid, OPTIONAL
389 IN OUT PCD_TOKEN_NUMBER *TokenNumber
390 )
391 ;
392
393 extern EFI_GUID gPcdDataBaseHobGuid;
394
395 extern EFI_GUID gPcdPeiCallbackFnTableHobGuid;
396
397 extern PEI_PCD_DATABASE_INIT gPEIPcdDbInit;
398
399 #endif