7#ifndef ZEPHYR_INCLUDE_IPC_ICMSG_ME_H_
8#define ZEPHYR_INCLUDE_IPC_ICMSG_ME_H_
142 const void *msg,
size_t len);
248 const void *msg,
size_t len);
void icmsg_me_wait_for_icmsg_bind(struct icmsg_me_data_t *data)
Wait until the underlying icmsg instance calls bound callback.
int icmsg_me_init(const struct icmsg_config_t *conf, struct icmsg_me_data_t *data)
Initialize an icmsg_me instance.
int icmsg_me_set_empty_ept_cfg_slot(struct icmsg_me_data_t *data, const struct ipc_ept_cfg *ept_cfg, icmsg_me_ept_id_t *id)
Set endpoint configuration in an empty endpoint slot.
void icmsg_me_icmsg_bound(struct icmsg_me_data_t *data)
Notify the icmsg_me instance that the underlying icmsg was bound.
int icmsg_me_send(const struct icmsg_config_t *conf, struct icmsg_me_data_t *data, icmsg_me_ept_id_t id, const void *msg, size_t len)
Send a message to the remote icmsg_me endpoint.
int icmsg_me_get_ept_cfg(struct icmsg_me_data_t *data, icmsg_me_ept_id_t id, const struct ipc_ept_cfg **ept_cfg)
Get endpoint configuration from a selected endpoint slot.
void icmsg_me_reset_ept_cfg(struct icmsg_me_data_t *data, icmsg_me_ept_id_t id)
Reset endpoint configuration in a selected endpoint slot.
int icmsg_me_open(const struct icmsg_config_t *conf, struct icmsg_me_data_t *data, const struct ipc_service_cb *cb, void *ctx)
Open an icmsg_me instance.
void icmsg_me_received_data(struct icmsg_me_data_t *data, icmsg_me_ept_id_t id, const void *msg, size_t len)
Notify the icmsg_me instance that data for an endpoint was received.
int icmsg_me_set_ept_cfg(struct icmsg_me_data_t *data, icmsg_me_ept_id_t id, const struct ipc_ept_cfg *ept_cfg)
Set endpoint configuration in a selected endpoint slot.
uint8_t icmsg_me_ept_id_t
Definition: icmsg_me.h:30
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
Definition: icmsg_me.h:32
struct icmsg_data_t icmsg_data
Definition: icmsg_me.h:33
uint8_t send_buffer[CONFIG_IPC_SERVICE_BACKEND_ICMSG_ME_SEND_BUF_SIZE]
Definition: icmsg_me.h:41
struct k_event event
Definition: icmsg_me.h:36
struct k_mutex send_mutex
Definition: icmsg_me.h:38
const struct ipc_ept_cfg * epts[CONFIG_IPC_SERVICE_BACKEND_ICMSG_ME_NUM_EP]
Definition: icmsg_me.h:39
struct ipc_ept_cfg ept_cfg
Definition: icmsg_me.h:34
Endpoint configuration structure.
Definition: ipc_service.h:191
struct ipc_service_cb cb
Event callback structure.
Definition: ipc_service.h:200
Event callback structure.
Definition: ipc_service.h:145
Event Structure.
Definition: kernel.h:2221
Mutex Structure.
Definition: kernel.h:2914