]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - EdkModulePkg/Universal/PCD/Test/PcdTest.c
Add in support for GetNextTokenNumber API.
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Test / PcdTest.c
... / ...
CommitLineData
1/** @file\r
2PCD TEST PEIM\r
3\r
4Copyright (c) 2006, Intel Corporation \r
5All rights reserved. This program and the accompanying materials \r
6are licensed and made available under the terms and conditions of the BSD License \r
7which accompanies this distribution. The full text of the license may be found at \r
8http://opensource.org/licenses/bsd-license.php \r
9 \r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
12\r
13\r
14Module Name: PcdTest.c\r
15\r
16**/\r
17#define GUID1 \\r
18 {0xF9349C58, 0xB767, 0x42c8, 0xB3, 0x6B, 0x41, 0x25, 0xDE, 0x3A, 0xEF, 0xEB}\r
19\r
20CONST GUID Guid1 = GUID1;\r
21\r
22\r
23EFI_STATUS\r
24EFIAPI\r
25OnsetCallback1 (\r
26 IN CONST EFI_GUID *Guid,\r
27 IN UINT32 CallBackToken,\r
28 IN VOID *TokenData,\r
29 IN UINTN TokenDataSize\r
30 )\r
31{\r
32 DebugPrint (0x80000000, "In CallbackOnSet %x %d\n", * ((UINT32 *)TokenData), TokenDataSize); \r
33 return EFI_SUCCESS;\r
34}\r
35\r
36\r
37VOID\r
38DoTest(\r
39 VOID\r
40 )\r
41{\r
42 UINT8 u8;\r
43 UINT16 u16;\r
44 UINT32 u32;\r
45 UINT64 u64;\r
46 PCD_TOKEN_NUMBER Token;\r
47 \r
48\r
49 LibPcdCallbackOnSet (NULL, PcdToken(PcdTestDynamicUint32), OnsetCallback1);\r
50 \r
51 u32 = 0xafafafaf;\r
52 PcdSet32(PcdTestDynamicUint32, u32);\r
53\r
54 u64 = 0xafafafaf00000000;\r
55 PcdSet64(PcdTestDynamicUint64, u64);\r
56\r
57 u8 = PcdGet8(PcdTestDynamicUint8);\r
58 u16 = PcdGet16(PcdTestDynamicUint16);\r
59\r
60\r
61 ASSERT (u8 == 0x01);\r
62 ASSERT (u16 == 0x1234);\r
63 ASSERT (u64 == PcdGet64(PcdTestDynamicUint64));\r
64 ASSERT (u32 == PcdGet32(PcdTestDynamicUint32));\r
65\r
66\r
67 Token = PCD_INVALID_TOKEN_NUMBER;\r
68\r
69 do {\r
70 Token = LibPcdGetNextToken (NULL, Token);\r
71 DebugPrint (EFI_D_ERROR, "Next Token Number is %d\n", Token);\r
72 } while (Token != PCD_INVALID_TOKEN_NUMBER);\r
73 \r
74 \r
75 return;\r
76}\r
77\r
78EFI_STATUS\r
79EFIAPI\r
80PcdTestPeimInit (\r
81 IN EFI_FFS_FILE_HEADER *FfsHeader,\r
82 IN EFI_PEI_SERVICES **PeiServices\r
83 )\r
84{\r
85\r
86 DoTest();\r
87 \r
88 return EFI_SUCCESS;\r
89}\r
90\r