/** @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_ */