|
Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
|
Topics | |
| Zbus Proxy Agent IPC Backend | |
Data Structures | |
| struct | zbus_shadow_channel |
| Metadata for shadow channels to track their ownership by proxy agents. More... | |
| struct | zbus_proxy_msg |
| Structure for proxy agent message. More... | |
| struct | zbus_proxy_agent_rx_msg |
| Internal thread payload for validated received messages. More... | |
| struct | zbus_proxy_agent |
| Structure for proxy agent configuration. More... | |
| struct | zbus_proxy_agent_backend_api |
| Backend API structure for proxy agent backends. More... | |
| struct | zbus_proxy_agent_backend_desc |
| Structure for proxy agent backend descriptor. More... | |
Macros | |
| #define | ZBUS_PROXY_AGENT_BACKEND_DEFINE(_name, _type, _api) |
| Macro to define a proxy agent backend and register it in the iterable section. | |
| #define | ZBUS_PROXY_AGENT_DEFINE(_name, _type, _backend_dt_node) |
| Proxy agent definition macro. | |
| #define | ZBUS_PROXY_ADD_CHAN(_agent, _chan) |
| Add a channel to be forwarded by the proxy agent. | |
| #define | ZBUS_SHADOW_CHAN_DEFINE(_name, _type, _proxy_name, _user_data, _observers, _init_val) |
| Define a shadow channel linked to a proxy agent. | |
| #define | ZBUS_SHADOW_CHAN_DEFINE_WITH_ID(_name, _id, _type, _proxy_name, _user_data, _observers, _init_val) |
| Define a shadow channel with a specific ID linked to a proxy agent. | |
Typedefs | |
| typedef 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. | |
Enumerations | |
| enum | zbus_proxy_agent_backend_type { ZBUS_PROXY_AGENT_BACKEND_IPC } |
| Enum for supported proxy agent backend types. More... | |
Functions | |
| void | zbus_proxy_agent_listener_cb (const struct zbus_channel *chan, const struct zbus_proxy_agent *agent) |
| Internal proxy agent listener callback. | |
| int | zbus_init_proxy_agent (const struct zbus_proxy_agent *agent) |
| Internal proxy agent receive callback. | |
| #define ZBUS_PROXY_ADD_CHAN | ( | _agent, | |
| _chan ) |
#include <zephyr/zbus/proxy_agent/zbus_proxy_agent.h>
Add a channel to be forwarded by the proxy agent.
| _agent | The proxy agent instance that will forward the channel |
| _chan | The channel to be forwarded by the proxy agent |
| #define ZBUS_PROXY_AGENT_BACKEND_DEFINE | ( | _name, | |
| _type, | |||
| _api ) |
#include <zephyr/zbus/proxy_agent/zbus_proxy_agent.h>
Macro to define a proxy agent backend and register it in the iterable section.
| _name | Name of the backend instance |
| _type | Backend type (e.g., ZBUS_PROXY_AGENT_BACKEND_IPC) |
| _api | Pointer to the backend API structure |
| #define ZBUS_PROXY_AGENT_DEFINE | ( | _name, | |
| _type, | |||
| _backend_dt_node ) |
#include <zephyr/zbus/proxy_agent/zbus_proxy_agent.h>
Proxy agent definition macro.
This macro defines a proxy agent with the specified name, backend type, and backend device tree node.
| _name | Name of the proxy agent instance |
| _type | Backend type for the proxy agent (e.g., ZBUS_PROXY_AGENT_BACKEND_IPC) |
| _backend_dt_node | Device tree node for the backend configuration |
| #define ZBUS_SHADOW_CHAN_DEFINE | ( | _name, | |
| _type, | |||
| _proxy_name, | |||
| _user_data, | |||
| _observers, | |||
| _init_val ) |
#include <zephyr/zbus/proxy_agent/zbus_proxy_agent.h>
Define a shadow channel linked to a proxy agent.
| _name | Channel name |
| _type | Message type structure |
| _proxy_name | The name of the linked proxy agent |
| _user_data | User data pointer |
| _observers | Static list of observers |
| _init_val | Initial channel value |
| #define ZBUS_SHADOW_CHAN_DEFINE_WITH_ID | ( | _name, | |
| _id, | |||
| _type, | |||
| _proxy_name, | |||
| _user_data, | |||
| _observers, | |||
| _init_val ) |
#include <zephyr/zbus/proxy_agent/zbus_proxy_agent.h>
Define a shadow channel with a specific ID linked to a proxy agent.
| _name | Channel name |
| _id | channel ID |
| _type | Message type structure |
| _proxy_name | The name of the linked proxy agent |
| _user_data | User data pointer |
| _observers | Static list of observers |
| _init_val | Initial channel value |
| typedef int(* zbus_proxy_agent_recv_cb_t) (const struct zbus_proxy_agent *agent, const struct zbus_proxy_msg *msg) |
#include <zephyr/zbus/proxy_agent/zbus_proxy_agent.h>
Type definition for the proxy agent receive callback function.
This callback is invoked when a proxy agent receives a message. The callback should process the message and return 0 on success or a negative error code on failure.
| agent | Pointer to the proxy agent instance |
| msg | Pointer to the received proxy message |
#include <zephyr/zbus/proxy_agent/zbus_proxy_agent.h>
Enum for supported proxy agent backend types.
| Enumerator | |
|---|---|
| ZBUS_PROXY_AGENT_BACKEND_IPC | IPC backend for inter-process communication. |
| int zbus_init_proxy_agent | ( | const struct zbus_proxy_agent * | agent | ) |
#include <zephyr/zbus/proxy_agent/zbus_proxy_agent.h>
Internal proxy agent receive callback.
Initializes the proxy agent by setting up the backend and starting the dedicated thread.
| agent | Proxy agent configuration |
| void zbus_proxy_agent_listener_cb | ( | const struct zbus_channel * | chan, |
| const struct zbus_proxy_agent * | agent ) |
#include <zephyr/zbus/proxy_agent/zbus_proxy_agent.h>
Internal proxy agent listener callback.
| agent | Proxy agent configuration |
| chan | Channel that triggered the callback |