blob: 1ac19287310ad39f587bc122d5c95c7d5713f87d [file] [log] [blame]
/*
* Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef FFA_CALL_EP_H
#define FFA_CALL_EP_H
#include <ffa_api.h>
#include "sp_messaging.h"
#include <components/rpc/common/endpoint/rpc_interface.h>
#include <stddef.h>
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifndef NUM_MAX_SESS
#define NUM_MAX_SESS (16)
#endif
struct ffa_call_ep {
struct rpc_interface *iface;
uint16_t own_id;
unsigned long shmem_buf_handle[NUM_MAX_SESS];
uint8_t *shmem_buf[NUM_MAX_SESS];
size_t shmem_buf_size[NUM_MAX_SESS];
uint16_t src_id[NUM_MAX_SESS];
};
void ffa_call_ep_init(struct ffa_call_ep *ffa_call_ep,
struct rpc_interface *iface, uint16_t own_id);
void ffa_call_ep_receive(struct ffa_call_ep *call_ep,
const struct sp_msg *req_msg,
struct sp_msg *resp_msg);
#ifdef __cplusplus
}
#endif
#endif /* FFA_CALL_EP_H */