]>
Commit | Line | Data |
---|---|---|
96d6d004 SZ |
1 | /** @file\r |
2 | Native Platform Configuration Database (PCD) INFO PPI\r | |
3 | \r | |
4 | The PPI that provides additional information about items that reside in the PCD database.\r | |
5 | \r | |
6 | Different with the EFI_GET_PCD_INFO_PPI defined in PI 1.2.1 specification,\r | |
7 | the native PCD INFO PPI provide interfaces for dynamic and dynamic-ex type PCD. \r | |
8 | The interfaces for dynamic type PCD do not require the token space guid as parameter,\r | |
9 | but interfaces for dynamic-ex type PCD require token space guid as parameter.\r | |
10 | \r | |
11 | Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>\r | |
12 | This program and the accompanying materials\r | |
13 | are licensed and made available under the terms and conditions of the BSD License\r | |
14 | which accompanies this distribution. The full text of the license may be found at\r | |
15 | http://opensource.org/licenses/bsd-license.php\r | |
16 | \r | |
17 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
18 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
19 | \r | |
20 | **/\r | |
21 | \r | |
22 | #ifndef __PCD_INFO_PPI_H__\r | |
23 | #define __PCD_INFO_PPI_H__\r | |
24 | \r | |
25 | extern EFI_GUID gGetPcdInfoPpiGuid;\r | |
26 | \r | |
27 | #define GET_PCD_INFO_PPI_GUID \\r | |
28 | { 0x4d8b155b, 0xc059, 0x4c8f, { 0x89, 0x26, 0x6, 0xfd, 0x43, 0x31, 0xdb, 0x8a } }\r | |
29 | \r | |
30 | ///\r | |
31 | /// The forward declaration for GET_PCD_INFO_PPI.\r | |
32 | ///\r | |
33 | typedef struct _GET_PCD_INFO_PPI GET_PCD_INFO_PPI;\r | |
34 | \r | |
35 | /**\r | |
36 | Retrieve additional information associated with a PCD token in the default token space.\r | |
37 | \r | |
38 | This includes information such as the type of value the TokenNumber is associated with as well as possible\r | |
39 | human readable name that is associated with the token.\r | |
40 | \r | |
41 | @param[in] TokenNumber The PCD token number.\r | |
42 | @param[out] PcdInfo The returned information associated with the requested TokenNumber.\r | |
43 | \r | |
44 | @retval EFI_SUCCESS The PCD information was returned successfully\r | |
45 | @retval EFI_NOT_FOUND The PCD service could not find the requested token number.\r | |
46 | **/\r | |
47 | typedef\r | |
48 | EFI_STATUS\r | |
49 | (EFIAPI *GET_PCD_INFO_PPI_GET_INFO) (\r | |
50 | IN UINTN TokenNumber,\r | |
51 | OUT EFI_PCD_INFO *PcdInfo\r | |
52 | );\r | |
53 | \r | |
54 | /**\r | |
55 | Retrieve additional information associated with a PCD token.\r | |
56 | \r | |
57 | This includes information such as the type of value the TokenNumber is associated with as well as possible\r | |
58 | human readable name that is associated with the token.\r | |
59 | \r | |
60 | @param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.\r | |
61 | @param[in] TokenNumber The PCD token number.\r | |
62 | @param[out] PcdInfo The returned information associated with the requested TokenNumber.\r | |
63 | \r | |
64 | @retval EFI_SUCCESS The PCD information was returned successfully\r | |
65 | @retval EFI_NOT_FOUND The PCD service could not find the requested token number.\r | |
66 | **/\r | |
67 | typedef\r | |
68 | EFI_STATUS\r | |
69 | (EFIAPI *GET_PCD_INFO_PPI_GET_INFO_EX) (\r | |
70 | IN CONST EFI_GUID *Guid,\r | |
71 | IN UINTN TokenNumber,\r | |
72 | OUT EFI_PCD_INFO *PcdInfo\r | |
73 | );\r | |
74 | \r | |
75 | /**\r | |
76 | Retrieve the currently set SKU Id.\r | |
77 | \r | |
78 | @return The currently set SKU Id. If the platform has not set at a SKU Id, then the\r | |
79 | default SKU Id value of 0 is returned. If the platform has set a SKU Id, then the currently set SKU\r | |
80 | Id is returned.\r | |
81 | **/\r | |
82 | typedef\r | |
83 | UINTN\r | |
84 | (EFIAPI *GET_PCD_INFO_PPI_GET_SKU) (\r | |
85 | VOID\r | |
86 | );\r | |
87 | \r | |
88 | ///\r | |
89 | /// This is the PCD service to use when querying for some additional data that can be contained in the\r | |
90 | /// PCD database.\r | |
91 | ///\r | |
92 | struct _GET_PCD_INFO_PPI {\r | |
93 | ///\r | |
94 | /// Retrieve additional information associated with a PCD.\r | |
95 | ///\r | |
96 | GET_PCD_INFO_PPI_GET_INFO GetInfo;\r | |
97 | GET_PCD_INFO_PPI_GET_INFO_EX GetInfoEx;\r | |
98 | ///\r | |
99 | /// Retrieve the currently set SKU Id.\r | |
100 | ///\r | |
101 | GET_PCD_INFO_PPI_GET_SKU GetSku;\r | |
102 | };\r | |
103 | \r | |
104 | #endif\r | |
105 | \r |