blob: e583ab3a5ba35b55a254e3531d09c6a9ae3535b5 [file] [log] [blame]
Julian Hallf7f84952020-11-23 17:55:51 +01001/*
julhal01c3f4e9a2020-12-15 13:39:01 +00002 * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
Julian Hallf7f84952020-11-23 17:55:51 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef DIRECT_CALLER_H
8#define DIRECT_CALLER_H
9
Imre Kis9e466722023-07-04 13:54:34 +020010#include "rpc_caller.h"
11
12struct rpc_service_interface;
Julian Hallf7f84952020-11-23 17:55:51 +010013
14#ifdef __cplusplus
15extern "C" {
16#endif
17
Julian Hallf7f84952020-11-23 17:55:51 +010018/** An rpc_caller that calls methods associated with a specific endpoint
19 * directly. Used when the caller and endpoint are running in the same
20 * execution context.
21 **/
Julian Hallf7f84952020-11-23 17:55:51 +010022
Imre Kis9e466722023-07-04 13:54:34 +020023rpc_status_t direct_caller_init(struct rpc_caller_interface *caller,
24 struct rpc_service_interface *service);
Julian Hallf7f84952020-11-23 17:55:51 +010025
Imre Kis9e466722023-07-04 13:54:34 +020026rpc_status_t direct_caller_deinit(struct rpc_caller_interface *caller);
Julian Hallf7f84952020-11-23 17:55:51 +010027
28#ifdef __cplusplus
29}
30#endif
31
32#endif /* DIRECT_CALLER_H */