]> git.proxmox.com Git - mirror_edk2.git/blame - DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactory.h
CryptoPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / DynamicTablesPkg / Drivers / DynamicTableFactoryDxe / DynamicTableFactory.h
CommitLineData
3a609e0a
SM
1/** @file\r
2\r
3 Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.\r
4\r
5 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 @par Glossary:\r
14 - Std - Standard\r
15 - ACPI - Advanced Configuration and Power Interface\r
16 - SMBIOS - System Management BIOS\r
17 - DT - Device Tree\r
18**/\r
19\r
20#ifndef DYNAMIC_TABLE_FACTORY_H_\r
21#define DYNAMIC_TABLE_FACTORY_H_\r
22\r
23#pragma pack(1)\r
24\r
25/** A structure that holds the list of registered ACPI and\r
26 SMBIOS table generators.\r
27*/\r
28typedef struct DynamicTableFactoryInfo {\r
29 /// An array for holding the list of Standard ACPI Table Generators.\r
30 CONST ACPI_TABLE_GENERATOR *\r
31 StdAcpiTableGeneratorList[EStdAcpiTableIdMax];\r
32\r
33 /// An array for holding the list of Custom ACPI Table Generators.\r
34 CONST ACPI_TABLE_GENERATOR *\r
35 CustomAcpiTableGeneratorList[FixedPcdGet16 (\r
36 PcdMaxCustomACPIGenerators\r
37 )];\r
38\r
39 /// An array for holding the list of Standard SMBIOS Table Generators.\r
40 CONST SMBIOS_TABLE_GENERATOR *\r
41 StdSmbiosTableGeneratorList[EStdSmbiosTableIdMax];\r
42\r
43 /// An array for holding the list of Custom SMBIOS Table Generators.\r
44 CONST SMBIOS_TABLE_GENERATOR *\r
45 CustomSmbiosTableGeneratorList[FixedPcdGet16 (\r
46 PcdMaxCustomSMBIOSGenerators\r
47 )];\r
48\r
49 /// An array for holding the list of Standard DT Table Generators.\r
50 CONST DT_TABLE_GENERATOR *\r
51 StdDtTableGeneratorList[EStdDtTableIdMax];\r
52\r
53 /// An array for holding the list of Custom DT Table Generators.\r
54 CONST DT_TABLE_GENERATOR *\r
55 CustomDtTableGeneratorList[FixedPcdGet16 (\r
56 PcdMaxCustomDTGenerators\r
57 )];\r
58} EDKII_DYNAMIC_TABLE_FACTORY_INFO;\r
59\r
60/** Return a pointer to the ACPI table generator.\r
61\r
62 @param [in] This Pointer to the Dynamic Table Factory Protocol.\r
63 @param [in] GeneratorId The ACPI table generator ID for the\r
64 requested generator.\r
65 @param [out] Generator Pointer to the requested ACPI table\r
66 generator.\r
67\r
68 @retval EFI_SUCCESS Success.\r
69 @retval EFI_INVALID_PARAMETER A parameter is invalid.\r
70 @retval EFI_NOT_FOUND The requested generator is not found\r
71 in the list of registered generators.\r
72**/\r
73EFI_STATUS\r
74EFIAPI\r
75GetAcpiTableGenerator (\r
76 IN CONST EDKII_DYNAMIC_TABLE_FACTORY_PROTOCOL * CONST This,\r
77 IN CONST ACPI_TABLE_GENERATOR_ID GeneratorId,\r
78 OUT CONST ACPI_TABLE_GENERATOR ** CONST Generator\r
79 );\r
80\r
81/** Return a pointer to the SMBIOS table generator.\r
82\r
83 @param [in] This Pointer to the Dynamic Table Factory Protocol.\r
84 @param [in] GeneratorId The SMBIOS table generator ID for the\r
85 requested generator.\r
86 @param [out] Generator Pointer to the requested SMBIOS table\r
87 generator.\r
88\r
89 @retval EFI_SUCCESS Success.\r
90 @retval EFI_INVALID_PARAMETER A parameter is invalid.\r
91 @retval EFI_NOT_FOUND The requested generator is not found\r
92 in the list of registered generators.\r
93**/\r
94EFI_STATUS\r
95EFIAPI\r
96GetSmbiosTableGenerator (\r
97 IN CONST EDKII_DYNAMIC_TABLE_FACTORY_PROTOCOL * CONST This,\r
98 IN CONST SMBIOS_TABLE_GENERATOR_ID GeneratorId,\r
99 OUT CONST SMBIOS_TABLE_GENERATOR ** CONST Generator\r
100 );\r
101\r
102/** Return a pointer to the DT table generator.\r
103\r
104 @param [in] This Pointer to the Dynamic Table Factory Protocol.\r
105 @param [in] GeneratorId The DT table generator ID for the\r
106 requested generator.\r
107 @param [out] Generator Pointer to the requested DT table\r
108 generator.\r
109\r
110 @retval EFI_SUCCESS Success.\r
111 @retval EFI_INVALID_PARAMETER A parameter is invalid.\r
112 @retval EFI_NOT_FOUND The requested generator is not found\r
113 in the list of registered generators.\r
114**/\r
115EFI_STATUS\r
116EFIAPI\r
117GetDtTableGenerator (\r
118 IN CONST EDKII_DYNAMIC_TABLE_FACTORY_PROTOCOL * CONST This,\r
119 IN CONST DT_TABLE_GENERATOR_ID GeneratorId,\r
120 OUT CONST DT_TABLE_GENERATOR ** CONST Generator\r
121 );\r
122\r
123#pragma pack()\r
124\r
125#endif // DYNAMIC_TABLE_FACTORY_H_\r