Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Generic low-level inter-processor mailbox communication API. More...
Go to the source code of this file.
Data Structures | |
struct | ipm_driver_api |
Typedefs | |
typedef void(* | ipm_callback_t) (const struct device *ipmdev, void *user_data, uint32_t id, volatile void *data) |
Callback API for incoming IPM messages. | |
typedef int(* | ipm_send_t) (const struct device *ipmdev, int wait, uint32_t id, const void *data, int size) |
Callback API to send IPM messages. | |
typedef int(* | ipm_max_data_size_get_t) (const struct device *ipmdev) |
Callback API to get maximum data size. | |
typedef uint32_t(* | ipm_max_id_val_get_t) (const struct device *ipmdev) |
Callback API to get the ID's maximum value. | |
typedef void(* | ipm_register_callback_t) (const struct device *port, ipm_callback_t cb, void *user_data) |
Callback API upon registration. | |
typedef int(* | ipm_set_enabled_t) (const struct device *ipmdev, int enable) |
Callback API upon enablement of interrupts. | |
typedef void(* | ipm_complete_t) (const struct device *ipmdev) |
Callback API upon command completion. | |
Functions | |
int | ipm_send (const struct device *ipmdev, int wait, uint32_t id, const void *data, int size) |
Try to send a message over the IPM device. | |
static void | ipm_register_callback (const struct device *ipmdev, ipm_callback_t cb, void *user_data) |
Register a callback function for incoming messages. | |
int | ipm_max_data_size_get (const struct device *ipmdev) |
Return the maximum number of bytes possible in an outbound message. | |
uint32_t | ipm_max_id_val_get (const struct device *ipmdev) |
Return the maximum id value possible in an outbound message. | |
int | ipm_set_enabled (const struct device *ipmdev, int enable) |
Enable interrupts and callbacks for inbound channels. | |
void | ipm_complete (const struct device *ipmdev) |
Signal asynchronous command completion. | |
Generic low-level inter-processor mailbox communication API.