]> git.proxmox.com Git - mirror_edk2.git/blame - EdkModulePkg/Universal/PCD/Test/PcdTest.c
Add in support for GetNextTokenNumber API.
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Test / PcdTest.c
CommitLineData
878ddf1f 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
0653eb89 26 IN CONST EFI_GUID *Guid,\r
27 IN UINT32 CallBackToken,\r
28 IN VOID *TokenData,\r
29 IN UINTN TokenDataSize\r
878ddf1f 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
52e1905d 42 UINT8 u8;\r
43 UINT16 u16;\r
44 UINT32 u32;\r
45 UINT64 u64;\r
0653eb89 46 PCD_TOKEN_NUMBER Token;\r
47 \r
48\r
49 LibPcdCallbackOnSet (NULL, PcdToken(PcdTestDynamicUint32), OnsetCallback1);\r
878ddf1f 50 \r
52e1905d 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
0653eb89 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
878ddf1f 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