]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Drivers/ArmScmiDxe/ArmScmiBaseProtocolPrivate.h
ArmPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / ArmPkg / Drivers / ArmScmiDxe / ArmScmiBaseProtocolPrivate.h
1 /** @file
2
3 Copyright (c) 2017-2018, Arm Limited. All rights reserved.
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 System Control and Management Interface V1.0
8 http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/
9 DEN0056A_System_Control_and_Management_Interface.pdf
10 **/
11
12 #ifndef ARM_SCMI_BASE_PROTOCOL_PRIVATE_H_
13 #define ARM_SCMI_BASE_PROTOCOL_PRIVATE_H_
14
15 // Return values of BASE_DISCOVER_LIST_PROTOCOLS command.
16 typedef struct {
17 UINT32 NumProtocols;
18
19 // Array of four protocols in each element
20 // Total elements = 1 + (NumProtocols-1)/4
21
22 // NOTE: Since EDK2 does not allow flexible array member [] we declare
23 // here array of 1 element length. However below is used as a variable
24 // length array.
25 UINT8 Protocols[1];
26 } BASE_DISCOVER_LIST;
27
28 /** Initialize Base protocol and install protocol on a given handle.
29
30 @param[in] Handle Handle to install Base protocol.
31
32 @retval EFI_SUCCESS Base protocol interface installed
33 successfully.
34 **/
35 EFI_STATUS
36 ScmiBaseProtocolInit (
37 IN OUT EFI_HANDLE* Handle
38 );
39
40 #endif /* ARM_SCMI_BASE_PROTOCOL_PRIVATE_H_ */