1 /*
2  * Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef __RSE_COMMS_CALLER_H__
8 #define __RSE_COMMS_CALLER_H__
9 
10 #include "rpc_caller.h"
11 #include "rse_comms_messenger_api.h"
12 
13 typedef void *rse_comms_call_handle;
14 
15 rpc_status_t rse_comms_caller_init(struct rpc_caller_interface *rpc_caller);
16 rpc_status_t rse_comms_caller_deinit(struct rpc_caller_interface *rpc_caller);
17 
18 rse_comms_call_handle rse_comms_caller_begin(struct rpc_caller_interface *caller,
19 					     uint8_t **request_buffer, size_t request_length);
20 
21 rpc_status_t rse_comms_caller_invoke(rse_comms_call_handle handle, uint32_t opcode,
22 				     uint8_t **response_buffer, size_t *response_length);
23 
24 rpc_status_t rse_comms_caller_end(rse_comms_call_handle handle);
25 
26 #endif /* __RSE_COMMS_CALLER_H__ */
27