Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
icmsg_me.h File Reference
#include <stdint.h>
#include <zephyr/kernel.h>
#include <zephyr/ipc/icmsg.h>
#include <zephyr/ipc/ipc_service.h>

Go to the source code of this file.

Data Structures

struct  icmsg_me_data_t
 

Typedefs

typedef uint8_t icmsg_me_ept_id_t
 

Functions

int icmsg_me_init (const struct icmsg_config_t *conf, struct icmsg_me_data_t *data)
 Initialize an icmsg_me instance.
 
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_wait_for_icmsg_bind (struct icmsg_me_data_t *data)
 Wait until the underlying icmsg instance calls bound callback.
 
void icmsg_me_icmsg_bound (struct icmsg_me_data_t *data)
 Notify the icmsg_me instance that the underlying icmsg was bound.
 
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_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.
 
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.
 
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_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.