mirror of
				https://github.com/acidanthera/audk.git
				synced 2025-10-27 01:03:45 +01:00 
			
		
		
		
	The Dynamic Tables Factory protocol has an erroneous EFIAPI calling convention macro in the function pointer declaration. Remove the erroneous EFIAPI calling convention macro from the interface declarations. Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com> Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com>
		
			
				
	
	
		
			255 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			255 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
| 
 | |
|   Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
 | |
| 
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
|   @par Glossary:
 | |
|     - ACPI   - Advanced Configuration and Power Interface
 | |
|     - SMBIOS - System Management BIOS
 | |
|     - DT     - Device Tree
 | |
| **/
 | |
| 
 | |
| #ifndef DYNAMIC_TABLE_FACTORY_PROTOCOL_H_
 | |
| #define DYNAMIC_TABLE_FACTORY_PROTOCOL_H_
 | |
| 
 | |
| #include <AcpiTableGenerator.h>
 | |
| #include <SmbiosTableGenerator.h>
 | |
| #include <DeviceTreeTableGenerator.h>
 | |
| 
 | |
| /** This macro defines the Dynamic Table Factory Protocol GUID.
 | |
| 
 | |
|   GUID: {91D1E327-FE5A-49B8-AB65-0ECE2DDB45EC}
 | |
| */
 | |
| #define EDKII_DYNAMIC_TABLE_FACTORY_PROTOCOL_GUID       \
 | |
|   { 0x91d1e327, 0xfe5a, 0x49b8,                         \
 | |
|     { 0xab, 0x65, 0xe, 0xce, 0x2d, 0xdb, 0x45, 0xec }   \
 | |
|   };
 | |
| 
 | |
| /** This macro defines the Configuration Manager Protocol Revision.
 | |
| */
 | |
| #define EDKII_DYNAMIC_TABLE_FACTORY_PROTOCOL_REVISION  CREATE_REVISION (1, 0)
 | |
| 
 | |
| #pragma pack(1)
 | |
| 
 | |
| /**
 | |
|   Forward declarations:
 | |
| */
 | |
| typedef struct DynamicTableFactoryProtocol EDKII_DYNAMIC_TABLE_FACTORY_PROTOCOL;
 | |
| typedef struct DynamicTableFactoryInfo EDKII_DYNAMIC_TABLE_FACTORY_INFO;
 | |
| 
 | |
| /** Return a pointer to the ACPI table generator.
 | |
| 
 | |
|   @param [in]  This       Pointer to the Dynamic Table Factory Protocol.
 | |
|   @param [in]  TableId    The ACPI table generator ID for the
 | |
|                           requested generator.
 | |
|   @param [out] Generator  Pointer to the requested ACPI table
 | |
|                           generator.
 | |
| 
 | |
|   @retval EFI_SUCCESS           Success.
 | |
|   @retval EFI_INVALID_PARAMETER A parameter is invalid.
 | |
|   @retval EFI_NOT_FOUND         The requested generator is not found
 | |
|                                 in the list of registered generators.
 | |
| **/
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI * EDKII_DYNAMIC_TABLE_FACTORY_GET_ACPI_TABLE_GENERATOR) (
 | |
|   IN  CONST EDKII_DYNAMIC_TABLE_FACTORY_PROTOCOL  * CONST This,
 | |
|   IN  CONST ACPI_TABLE_GENERATOR_ID                       GeneratorId,
 | |
|   OUT CONST ACPI_TABLE_GENERATOR                 ** CONST Generator
 | |
|   );
 | |
| 
 | |
| /** Registers an ACPI table generator.
 | |
| 
 | |
|   @param [in]  Generator        Pointer to the ACPI table generator.
 | |
| 
 | |
|   @retval EFI_SUCCESS           The Generator was registered
 | |
|                                 successfully.
 | |
|   @retval EFI_INVALID_PARAMETER The Generator ID is invalid or
 | |
|                                 the Generator pointer is NULL.
 | |
|   @retval EFI_ALREADY_STARTED   The Generator for the Table ID is
 | |
|                                 already registered.
 | |
| **/
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI * EDKII_DYNAMIC_TABLE_FACTORY_REGISTER_ACPI_TABLE_GENERATOR) (
 | |
|   IN  CONST ACPI_TABLE_GENERATOR                * CONST Generator
 | |
|   );
 | |
| 
 | |
| /** Deregister an ACPI table generator.
 | |
| 
 | |
|   @param [in]  Generator       Pointer to the ACPI table generator.
 | |
| 
 | |
|   @retval EFI_SUCCESS           Success.
 | |
|   @retval EFI_INVALID_PARAMETER The generator is invalid.
 | |
|   @retval EFI_NOT_FOUND         The requested generator is not found
 | |
|                                 in the list of registered generators.
 | |
| **/
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI * EDKII_DYNAMIC_TABLE_FACTORY_DEREGISTER_ACPI_TABLE_GENERATOR) (
 | |
|   IN  CONST ACPI_TABLE_GENERATOR                * CONST Generator
 | |
|   );
 | |
| 
 | |
| /** Return a pointer to the SMBIOS table generator.
 | |
| 
 | |
|   @param [in]  This       Pointer to the Dynamic Table Factory Protocol.
 | |
|   @param [in]  TableId    The SMBIOS table generator ID for the
 | |
|                           requested generator.
 | |
|   @param [out] Generator  Pointer to the requested SMBIOS table
 | |
|                           generator.
 | |
| 
 | |
|   @retval EFI_SUCCESS           Success.
 | |
|   @retval EFI_INVALID_PARAMETER A parameter is invalid.
 | |
|   @retval EFI_NOT_FOUND         The requested generator is not found
 | |
|                                 in the list of registered generators.
 | |
| **/
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI * EDKII_DYNAMIC_TABLE_FACTORY_GET_SMBIOS_TABLE_GENERATOR) (
 | |
|   IN  CONST EDKII_DYNAMIC_TABLE_FACTORY_PROTOCOL  * CONST This,
 | |
|   IN  CONST SMBIOS_TABLE_GENERATOR_ID                     GeneratorId,
 | |
|   OUT CONST SMBIOS_TABLE_GENERATOR               ** CONST Generator
 | |
|   );
 | |
| 
 | |
| /** Register a SMBIOS table generator.
 | |
| 
 | |
|   @param [in]  Generator       Pointer to the SMBIOS table generator.
 | |
| 
 | |
|   @retval EFI_SUCCESS           The Generator was registered
 | |
|                                 successfully.
 | |
|   @retval EFI_INVALID_PARAMETER The Generator ID is invalid or
 | |
|                                 the Generator pointer is NULL.
 | |
|   @retval EFI_ALREADY_STARTED   The Generator for the Table ID is
 | |
|                                 already registered.
 | |
| **/
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI * EDKII_DYNAMIC_TABLE_FACTORY_REGISTER_SMBIOS_TABLE_GENERATOR) (
 | |
|   IN  CONST SMBIOS_TABLE_GENERATOR              * CONST Generator
 | |
|   );
 | |
| 
 | |
| /** Deregister a SMBIOS table generator.
 | |
| 
 | |
|   @param [in]  Generator       Pointer to the SMBIOS table generator.
 | |
| 
 | |
|   @retval EFI_SUCCESS           Success.
 | |
|   @retval EFI_INVALID_PARAMETER The generator is invalid.
 | |
|   @retval EFI_NOT_FOUND         The requested generator is not found
 | |
|                                 in the list of registered generators.
 | |
| **/
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI * EDKII_DYNAMIC_TABLE_FACTORY_DEREGISTER_SMBIOS_TABLE_GENERATOR) (
 | |
|   IN  CONST SMBIOS_TABLE_GENERATOR              * CONST Generator
 | |
|   );
 | |
| 
 | |
| /** Return a pointer to the Device Tree table generator.
 | |
| 
 | |
|   @param [in]  This       Pointer to the Dynamic Table Factory Protocol.
 | |
|   @param [in]  TableId    The Device Tree table generator ID for the
 | |
|                           requested generator.
 | |
|   @param [out] Generator  Pointer to the requested Device Tree table
 | |
|                           generator.
 | |
| 
 | |
|   @retval EFI_SUCCESS           Success.
 | |
|   @retval EFI_INVALID_PARAMETER A parameter is invalid.
 | |
|   @retval EFI_NOT_FOUND         The requested generator is not found
 | |
|                                 in the list of registered generators.
 | |
| **/
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI * EDKII_DYNAMIC_TABLE_FACTORY_GET_DT_TABLE_GENERATOR) (
 | |
|   IN  CONST EDKII_DYNAMIC_TABLE_FACTORY_PROTOCOL  * CONST This,
 | |
|   IN  CONST DT_TABLE_GENERATOR_ID                         GeneratorId,
 | |
|   OUT CONST DT_TABLE_GENERATOR                   ** CONST Generator
 | |
|   );
 | |
| 
 | |
| /** Register a DT table generator.
 | |
| 
 | |
|   @param [in]  Generator       Pointer to the DT table generator.
 | |
| 
 | |
|   @retval EFI_SUCCESS           The Generator was registered
 | |
|                                 successfully.
 | |
|   @retval EFI_INVALID_PARAMETER The Generator ID is invalid or
 | |
|                                 the Generator pointer is NULL.
 | |
|   @retval EFI_ALREADY_STARTED   The Generator for the Table ID is
 | |
|                                 already registered.
 | |
| **/
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI * EDKII_DYNAMIC_TABLE_FACTORY_REGISTER_DT_TABLE_GENERATOR) (
 | |
|   IN  CONST DT_TABLE_GENERATOR                * CONST Generator
 | |
|   );
 | |
| 
 | |
| /** Deregister a DT table generator.
 | |
| 
 | |
|   This function is called by the DT table generator to deregister itself
 | |
|   from the DT table factory.
 | |
| 
 | |
|   @param [in]  Generator       Pointer to the DT table generator.
 | |
| 
 | |
|   @retval EFI_SUCCESS           Success.
 | |
|   @retval EFI_INVALID_PARAMETER The generator is invalid.
 | |
|   @retval EFI_NOT_FOUND         The requested generator is not found
 | |
|                                 in the list of registered generators.
 | |
| **/
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI * EDKII_DYNAMIC_TABLE_FACTORY_DEREGISTER_DT_TABLE_GENERATOR) (
 | |
|   IN  CONST DT_TABLE_GENERATOR                * CONST Generator
 | |
|   );
 | |
| 
 | |
| /** A structure describing the Dynamic Table Factory Protocol interface.
 | |
| */
 | |
| typedef struct DynamicTableFactoryProtocol {
 | |
|   /// The Dynamic Table Factory Protocol revision.
 | |
|   UINT32                                                 Revision;
 | |
| 
 | |
|   /// The interface used to request an ACPI Table Generator.
 | |
|   EDKII_DYNAMIC_TABLE_FACTORY_GET_ACPI_TABLE_GENERATOR   GetAcpiTableGenerator;
 | |
| 
 | |
|   /// Register an ACPI table Generator
 | |
|   EDKII_DYNAMIC_TABLE_FACTORY_REGISTER_ACPI_TABLE_GENERATOR
 | |
|     RegisterAcpiTableGenerator;
 | |
| 
 | |
|   /// Deregister an ACPI table Generator
 | |
|   EDKII_DYNAMIC_TABLE_FACTORY_DEREGISTER_ACPI_TABLE_GENERATOR
 | |
|     DeregisterAcpiTableGenerator;
 | |
| 
 | |
|   /// The interface used to request a SMBIOS Table Generator.
 | |
|   EDKII_DYNAMIC_TABLE_FACTORY_GET_SMBIOS_TABLE_GENERATOR GetSmbiosTableGenerator;
 | |
| 
 | |
|   /// Register an SMBIOS table Generator
 | |
|   EDKII_DYNAMIC_TABLE_FACTORY_REGISTER_SMBIOS_TABLE_GENERATOR
 | |
|     RegisterSmbiosTableGenerator;
 | |
| 
 | |
|   /// Deregister an SMBIOS table Generator
 | |
|   EDKII_DYNAMIC_TABLE_FACTORY_REGISTER_SMBIOS_TABLE_GENERATOR
 | |
|     DeregisterSmbiosTableGenerator;
 | |
| 
 | |
|   /// The interface used to request a Device Tree Table Generator.
 | |
|   EDKII_DYNAMIC_TABLE_FACTORY_GET_DT_TABLE_GENERATOR     GetDtTableGenerator;
 | |
| 
 | |
|   /// Register a DT generator
 | |
|   EDKII_DYNAMIC_TABLE_FACTORY_REGISTER_DT_TABLE_GENERATOR
 | |
|     RegisterDtTableGenerator;
 | |
| 
 | |
|   /// Deregister a DT generator
 | |
|   EDKII_DYNAMIC_TABLE_FACTORY_DEREGISTER_DT_TABLE_GENERATOR
 | |
|     DeregisterDtTableGenerator;
 | |
| 
 | |
|   /** Pointer to the data structure that holds the
 | |
|       list of registered table generators
 | |
|   */
 | |
|   EDKII_DYNAMIC_TABLE_FACTORY_INFO          * TableFactoryInfo;
 | |
| } EDKII_DYNAMIC_TABLE_FACTORY_PROTOCOL;
 | |
| 
 | |
| /** The Dynamic Table Factory Protocol GUID.
 | |
| */
 | |
| extern EFI_GUID gEdkiiDynamicTableFactoryProtocolGuid;
 | |
| 
 | |
| #pragma pack()
 | |
| 
 | |
| #endif // DYNAMIC_TABLE_FACTORY_PROTOCOL_H_
 |