| /** @file | |
| Copyright (c) 2017-2018, Arm Limited. All rights reserved. | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| System Control and Management Interface V1.0 | |
| http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/ | |
| DEN0056A_System_Control_and_Management_Interface.pdf | |
| **/ | |
| #ifndef ARM_SCMI_BASE_PROTOCOL_PRIVATE_H_ | |
| #define ARM_SCMI_BASE_PROTOCOL_PRIVATE_H_ | |
| // Return values of BASE_DISCOVER_LIST_PROTOCOLS command. | |
| typedef struct { | |
| UINT32 NumProtocols; | |
| // Array of four protocols in each element | |
| // Total elements = 1 + (NumProtocols-1)/4 | |
| // NOTE: Since EDK2 does not allow flexible array member [] we declare | |
| // here array of 1 element length. However below is used as a variable | |
| // length array. | |
| UINT8 Protocols[1]; | |
| } BASE_DISCOVER_LIST; | |
| /** Initialize Base protocol and install protocol on a given handle. | |
| @param[in] Handle Handle to install Base protocol. | |
| @retval EFI_SUCCESS Base protocol interface installed | |
| successfully. | |
| **/ | |
| EFI_STATUS | |
| ScmiBaseProtocolInit ( | |
| IN OUT EFI_HANDLE *Handle | |
| ); | |
| #endif /* ARM_SCMI_BASE_PROTOCOL_PRIVATE_H_ */ |