|
Zephyr Project API
3.2.0
A Scalable Open Source RTOS
|
Generic low-level multi-channel inter-processor mailbox communication API. More...
#include <zephyr/kernel.h>#include <zephyr/device.h>#include <zephyr/devicetree/mbox.h>#include <syscalls/mbox.h>Go to the source code of this file.
Data Structures | |
| struct | mbox_msg |
| Message struct (to hold data and its size). More... | |
| struct | mbox_channel |
| Provides a type to hold an MBOX channel. More... | |
| struct | mbox_driver_api |
Macros | |
| #define | MBOX_DT_CHANNEL_GET(node_id, name) |
| Structure initializer for mbox_channel from devicetree. More... | |
Typedefs | |
| typedef void(* | mbox_callback_t) (const struct device *dev, uint32_t channel, void *user_data, struct mbox_msg *data) |
| Callback API for incoming MBOX messages. More... | |
| typedef int(* | mbox_send_t) (const struct device *dev, uint32_t channel, const struct mbox_msg *msg) |
| Callback API to send MBOX messages. More... | |
| typedef int(* | mbox_mtu_get_t) (const struct device *dev) |
| Callback API to get maximum data size. More... | |
| typedef int(* | mbox_register_callback_t) (const struct device *dev, uint32_t channel, mbox_callback_t cb, void *user_data) |
| Callback API upon registration. More... | |
| typedef int(* | mbox_set_enabled_t) (const struct device *dev, uint32_t channel, bool enable) |
| Callback API upon enablement of interrupts. More... | |
| typedef uint32_t(* | mbox_max_channels_get_t) (const struct device *dev) |
| Callback API to get maximum number of channels. More... | |
Functions | |
| static void | mbox_init_channel (struct mbox_channel *channel, const struct device *dev, uint32_t ch_id) |
| Initialize a channel struct. More... | |
| int | mbox_send (const struct mbox_channel *channel, const struct mbox_msg *msg) |
| Try to send a message over the MBOX device. More... | |
| static int | mbox_register_callback (const struct mbox_channel *channel, mbox_callback_t cb, void *user_data) |
| Register a callback function on a channel for incoming messages. More... | |
| int | mbox_mtu_get (const struct device *dev) |
| Return the maximum number of bytes possible in an outbound message. More... | |
| int | mbox_set_enabled (const struct mbox_channel *channel, bool enable) |
| Enable (disable) interrupts and callbacks for inbound channels. More... | |
| uint32_t | mbox_max_channels_get (const struct device *dev) |
| Return the maximum number of channels. More... | |
Generic low-level multi-channel inter-processor mailbox communication API.