Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ipc_service.h File Reference
#include <stdio.h>
#include <zephyr/device.h>
#include <zephyr/kernel.h>

Go to the source code of this file.

Data Structures

struct  ipc_service_cb
 Event callback structure. More...
 
struct  ipc_ept
 Endpoint instance. More...
 
struct  ipc_ept_cfg
 Endpoint configuration structure. More...
 

Functions

int ipc_service_open_instance (const struct device *instance)
 Open an instance.
 
int ipc_service_close_instance (const struct device *instance)
 Close an instance.
 
int ipc_service_register_endpoint (const struct device *instance, struct ipc_ept *ept, const struct ipc_ept_cfg *cfg)
 Register IPC endpoint onto an instance.
 
int ipc_service_deregister_endpoint (struct ipc_ept *ept)
 Deregister an IPC endpoint from its instance.
 
int ipc_service_send (struct ipc_ept *ept, const void *data, size_t len)
 Send data using given IPC endpoint.
 
int ipc_service_get_tx_buffer_size (struct ipc_ept *ept)
 Get the TX buffer size.
 
int ipc_service_get_tx_buffer (struct ipc_ept *ept, void **data, uint32_t *size, k_timeout_t wait)
 Get an empty TX buffer to be sent using ipc_service_send_nocopy.
 
int ipc_service_drop_tx_buffer (struct ipc_ept *ept, const void *data)
 Drop and release a TX buffer.
 
int ipc_service_send_nocopy (struct ipc_ept *ept, const void *data, size_t len)
 Send data in a TX buffer reserved by ipc_service_get_tx_buffer using the given IPC endpoint.
 
int ipc_service_hold_rx_buffer (struct ipc_ept *ept, void *data)
 Holds the RX buffer for usage outside the receive callback.
 
int ipc_service_release_rx_buffer (struct ipc_ept *ept, void *data)
 Release the RX buffer for future reuse.