7#ifndef ZEPHYR_INCLUDE_ZBUS_PROXY_AGENT_IPC_H_
8#define ZEPHYR_INCLUDE_ZBUS_PROXY_AGENT_IPC_H_
78#define _ZBUS_PROXY_AGENT_BACKEND_CONFIG_DEFINE_ZBUS_PROXY_AGENT_BACKEND_IPC(_name, \
80 static struct zbus_proxy_agent_ipc_data _name##_ipc_data = { \
82 .name = #_name "_ipc_ept", \
85 static const struct zbus_proxy_agent_ipc_config _name##_ipc_config = { \
86 .dev = DEVICE_DT_GET(_backend_dt_node), \
87 .ept_name = #_name "_ipc_ept", \
88 .data = &_name##_ipc_data, \
97#define _ZBUS_PROXY_AGENT_GET_BACKEND_CONFIG_ZBUS_PROXY_AGENT_BACKEND_IPC(_name) \
108#define _ZBUS_PROXY_AGENT_GET_BACKEND_API_ZBUS_PROXY_AGENT_BACKEND_IPC \
109 (&zbus_proxy_agent_ipc_backend_api)
int(* zbus_proxy_agent_recv_cb_t)(const struct zbus_proxy_agent *agent, const struct zbus_proxy_msg *msg)
Type definition for the proxy agent receive callback function.
Definition zbus_proxy_agent.h:110
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Runtime device structure (in ROM) per driver instance.
Definition device.h:513
Endpoint configuration structure.
Definition ipc_service.h:206
Semaphore structure.
Definition kernel.h:3663
Backend API structure for proxy agent backends.
Definition zbus_proxy_agent.h:116
Configuration structure for the IPC backend of a Zbus proxy agent.
Definition zbus_proxy_agent_ipc.h:61
const struct device * dev
IPC device.
Definition zbus_proxy_agent_ipc.h:63
const char * ept_name
Endpoint name for IPC.
Definition zbus_proxy_agent_ipc.h:65
struct zbus_proxy_agent_ipc_data * data
Pointer to mutable IPC backend runtime data.
Definition zbus_proxy_agent_ipc.h:67
Mutable runtime data for the IPC backend of a Zbus proxy agent.
Definition zbus_proxy_agent_ipc.h:43
const struct zbus_proxy_agent * recv_cb_config_ptr
pointer to proxy agent config, used as user data for the receive callback
Definition zbus_proxy_agent_ipc.h:53
uint8_t initialized
1 once backend init completes successfully, otherwise 0
Definition zbus_proxy_agent_ipc.h:55
struct ipc_ept_cfg ept_cfg
IPC endpoint configuration.
Definition zbus_proxy_agent_ipc.h:47
struct ipc_ept ipc_ept
IPC endpoint.
Definition zbus_proxy_agent_ipc.h:45
zbus_proxy_agent_recv_cb_t recv_cb
Callback function for received data.
Definition zbus_proxy_agent_ipc.h:51
struct k_sem ept_bound_sem
Semaphore to signal when the IPC endpoint is bound.
Definition zbus_proxy_agent_ipc.h:49
Structure for proxy agent configuration.
Definition zbus_proxy_agent.h:80