34 #ifndef RPMSG_QUEUE_H_ 35 #define RPMSG_QUEUE_H_ 37 #include "rpmsg_lite.h" 48 #if defined(RL_API_HAS_ZEROCOPY) && (RL_API_HAS_ZEROCOPY == 1) 56 #if defined(__cplusplus) 71 int32_t
rpmsg_queue_rx_cb(
void *payload, uint32_t payload_len, uint32_t src,
void *priv);
85 #if defined(RL_USE_STATIC_API) && (RL_USE_STATIC_API == 1) 87 uint8_t *queue_storage,
88 rpmsg_static_queue_ctxt *queue_ctxt);
197 #if defined(__cplusplus) int32_t rpmsg_queue_recv(struct rpmsg_lite_instance *rpmsg_lite_dev, rpmsg_queue_handle q, uint32_t *src, char *data, uint32_t maxlen, uint32_t *len, uintptr_t timeout)
blocking receive function - blocking version of the received function that can be called from an RTOS...
Definition: rpmsg_lite.h:162
int32_t rpmsg_queue_recv_nocopy(struct rpmsg_lite_instance *rpmsg_lite_dev, rpmsg_queue_handle q, uint32_t *src, char **data, uint32_t *len, uintptr_t timeout)
blocking receive function - blocking version of the received function that can be called from an RTOS...
rpmsg_queue_handle rpmsg_queue_create(struct rpmsg_lite_instance *rpmsg_lite_dev)
Create a RPMsg queue which can be used for blocking reception.
int32_t rpmsg_queue_destroy(struct rpmsg_lite_instance *rpmsg_lite_dev, rpmsg_queue_handle q)
Destroy a queue and clean up. Do not destroy a queue which is registered with an active endpoint! ...
int32_t rpmsg_queue_nocopy_free(struct rpmsg_lite_instance *rpmsg_lite_dev, void *data)
This function frees a buffer previously returned by rpmsg_queue_recv_nocopy().
int32_t rpmsg_queue_rx_cb(void *payload, uint32_t payload_len, uint32_t src, void *priv)
This callback needs to be registered with an endpoint.
void * rpmsg_queue_handle
Rpmsg queue handle type.
Definition: rpmsg_queue.h:45
int32_t rpmsg_queue_get_current_size(rpmsg_queue_handle q)
This function returns the number of pending messages in the queue.