13#ifndef ZEPHYR_INCLUDE_DRIVERS_IPM_H_ 
   14#define ZEPHYR_INCLUDE_DRIVERS_IPM_H_ 
   55                          const void *
data, 
int size);
 
  104#ifdef CONFIG_IPM_CALLBACK_ASYNC 
  145                       const void *
data, 
int size);
 
  147static inline int z_impl_ipm_send(
const struct device *ipmdev, 
int wait,
 
  149                                  const void *
data, 
int size)
 
  154        return api->
send(ipmdev, wait, 
id, 
data, size);
 
  186static inline int z_impl_ipm_max_data_size_get(
const struct device *ipmdev)
 
  207static inline uint32_t z_impl_ipm_max_id_val_get(
const struct device *ipmdev)
 
  226static inline int z_impl_ipm_set_enabled(
const struct device *ipmdev,
 
  251static inline void z_impl_ipm_complete(
const struct device *ipmdev)
 
  253#ifdef CONFIG_IPM_CALLBACK_ASYNC 
  257        if (api->complete != NULL) {
 
  258                api->complete(ipmdev);
 
  271#include <syscalls/ipm.h> 
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.
 
void(* ipm_register_callback_t)(const struct device *port, ipm_callback_t cb, void *user_data)
Callback API upon registration.
Definition: ipm.h:78
 
int(* ipm_set_enabled_t)(const struct device *ipmdev, int enable)
Callback API upon enablement of interrupts.
Definition: ipm.h:88
 
void ipm_complete(const struct device *ipmdev)
Signal asynchronous command completion.
 
static void ipm_register_callback(const struct device *ipmdev, ipm_callback_t cb, void *user_data)
Register a callback function for incoming messages.
Definition: ipm.h:165
 
int ipm_set_enabled(const struct device *ipmdev, int enable)
Enable interrupts and callbacks for inbound channels.
 
int(* ipm_max_data_size_get_t)(const struct device *ipmdev)
Callback API to get maximum data size.
Definition: ipm.h:62
 
int(* ipm_send_t)(const struct device *ipmdev, int wait, uint32_t id, const void *data, int size)
Callback API to send IPM messages.
Definition: ipm.h:54
 
void(* ipm_complete_t)(const struct device *ipmdev)
Callback API upon command completion.
Definition: ipm.h:96
 
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.
 
uint32_t(* ipm_max_id_val_get_t)(const struct device *ipmdev)
Callback API to get the ID's maximum value.
Definition: ipm.h:70
 
void(* ipm_callback_t)(const struct device *ipmdev, void *user_data, uint32_t id, volatile void *data)
Callback API for incoming IPM messages.
Definition: ipm.h:45
 
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
 
Runtime device structure (in ROM) per driver instance.
Definition: device.h:378
 
const void * api
Definition: device.h:384
 
ipm_register_callback_t register_callback
Definition: ipm.h:100
 
ipm_max_data_size_get_t max_data_size_get
Definition: ipm.h:101
 
ipm_max_id_val_get_t max_id_val_get
Definition: ipm.h:102
 
ipm_set_enabled_t set_enabled
Definition: ipm.h:103
 
ipm_send_t send
Definition: ipm.h:99
 
static fdata_t data[2]
Definition: test_fifo_contexts.c:15
 
static const intptr_t user_data[5]
Definition: main.c:588