]> git.proxmox.com Git - mirror_edk2.git/blob - DynamicTablesPkg/Include/Library/TableHelperLib.h
9c5b3835413f8768ef81ababa932c9f9be7ced82
[mirror_edk2.git] / DynamicTablesPkg / Include / Library / TableHelperLib.h
1 /** @file
2
3 Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #ifndef TABLE_HELPER_LIB_H_
10 #define TABLE_HELPER_LIB_H_
11
12 /** The GetCgfMgrInfo function gets the CM_STD_OBJ_CONFIGURATION_MANAGER_INFO
13 object from the Configuration Manager.
14
15 @param [in] CfgMgrProtocol Pointer to the Configuration Manager protocol
16 interface.
17 @param [out] CfgMfrInfo Pointer to the Configuration Manager Info
18 object structure.
19
20 @retval EFI_SUCCESS The object is returned.
21 @retval EFI_INVALID_PARAMETER The Object ID is invalid.
22 @retval EFI_NOT_FOUND The requested Object is not found.
23 @retval EFI_BAD_BUFFER_SIZE The size returned by the Configuration
24 Manager is less than the Object size.
25 **/
26 EFI_STATUS
27 EFIAPI
28 GetCgfMgrInfo (
29 IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL * CONST CfgMgrProtocol,
30 OUT CM_STD_OBJ_CONFIGURATION_MANAGER_INFO ** CfgMfrInfo
31 );
32
33 /** The AddAcpiHeader function updates the ACPI header structure. It uses the
34 ACPI table Generator and the Configuration Manager protocol to obtain the
35 information required for constructing the header.
36
37 @param [in] CfgMgrProtocol Pointer to the Configuration Manager
38 protocol interface.
39 @param [in] Generator Pointer to the ACPI table Generator.
40 @param [in,out] AcpiHeader Pointer to the ACPI table header to be
41 updated.
42 @param [in] AcpiTableInfo Pointer to the ACPI table info structure.
43 @param [in] Length Length of the ACPI table.
44
45 @retval EFI_SUCCESS The ACPI table is updated successfully.
46 @retval EFI_INVALID_PARAMETER A parameter is invalid.
47 @retval EFI_NOT_FOUND The required object information is not found.
48 @retval EFI_BAD_BUFFER_SIZE The size returned by the Configuration
49 Manager is less than the Object size for the
50 requested object.
51 **/
52 EFI_STATUS
53 EFIAPI
54 AddAcpiHeader (
55 IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL * CONST CfgMgrProtocol,
56 IN CONST ACPI_TABLE_GENERATOR * CONST Generator,
57 IN OUT EFI_ACPI_DESCRIPTION_HEADER * CONST AcpiHeader,
58 IN CONST CM_STD_OBJ_ACPI_TABLE_INFO * CONST AcpiTableInfo,
59 IN CONST UINT32 Length
60 );
61
62 #endif // TABLE_HELPER_LIB_H_