|
Zephyr API Documentation 4.3.0-rc1
A Scalable Open Source RTOS
|
IPC service RPMsg API. More...
Data Structures | |
| struct | ipc_rpmsg_ept |
| Endpoint structure. More... | |
| struct | ipc_rpmsg_instance |
| RPMsg instance structure. More... | |
Macros | |
| #define | NUM_ENDPOINTS CONFIG_IPC_SERVICE_BACKEND_RPMSG_NUM_ENDPOINTS_PER_INSTANCE |
| Number of endpoints. | |
Typedefs | |
| typedef void(* | rpmsg_ept_bound_cb) (struct ipc_rpmsg_ept *ept) |
| Define the bound callback. | |
Functions | |
| int | ipc_rpmsg_init (struct ipc_rpmsg_instance *instance, unsigned int role, unsigned int buffer_size, struct metal_io_region *shm_io, struct virtio_device *vdev, void *shb, size_t size, rpmsg_ns_bind_cb ns_bind_cb) |
| Init an RPMsg instance. | |
| int | ipc_rpmsg_deinit (struct ipc_rpmsg_instance *instance, unsigned int role) |
| Deinit an RPMsg instance. | |
| int | ipc_rpmsg_register_ept (struct ipc_rpmsg_instance *instance, unsigned int role, struct ipc_rpmsg_ept *ept) |
| Register an endpoint. | |
IPC service RPMsg API.
| #define NUM_ENDPOINTS CONFIG_IPC_SERVICE_BACKEND_RPMSG_NUM_ENDPOINTS_PER_INSTANCE |
#include <zephyr/ipc/ipc_rpmsg.h>
Number of endpoints.
| typedef void(* rpmsg_ept_bound_cb) (struct ipc_rpmsg_ept *ept) |
#include <zephyr/ipc/ipc_rpmsg.h>
Define the bound callback.
This callback is defined at instance level and it is called when an endpoint of the instance is bound.
| ept | Endpoint of the instance just bound. |
| int ipc_rpmsg_deinit | ( | struct ipc_rpmsg_instance * | instance, |
| unsigned int | role ) |
#include <zephyr/ipc/ipc_rpmsg.h>
Deinit an RPMsg instance.
| instance | Pointer to the RPMsg instance struct. |
| role | Host / Remote role. |
| -EINVAL | When some parameter is missing |
| 0 | If successful |
| int ipc_rpmsg_init | ( | struct ipc_rpmsg_instance * | instance, |
| unsigned int | role, | ||
| unsigned int | buffer_size, | ||
| struct metal_io_region * | shm_io, | ||
| struct virtio_device * | vdev, | ||
| void * | shb, | ||
| size_t | size, | ||
| rpmsg_ns_bind_cb | ns_bind_cb ) |
#include <zephyr/ipc/ipc_rpmsg.h>
Init an RPMsg instance.
Init an RPMsg instance.
| instance | Pointer to the RPMsg instance struct. |
| role | Host / Remote role. |
| buffer_size | Size of the buffer used to send data between host and remote. |
| shm_io | SHM IO region pointer. |
| vdev | VirtIO device pointer. |
| shb | Shared memory region pointer. |
| size | Size of the shared memory region. |
| ns_bind_cb | callback handler for name service announcement without local endpoints waiting to bind. If NULL the implementation falls back to the internal implementation. |
| -EINVAL | When some parameter is missing. |
| 0 | If successful. |
| Other | errno codes depending on the OpenAMP implementation. |
| int ipc_rpmsg_register_ept | ( | struct ipc_rpmsg_instance * | instance, |
| unsigned int | role, | ||
| struct ipc_rpmsg_ept * | ept ) |
#include <zephyr/ipc/ipc_rpmsg.h>
Register an endpoint.
Register an endpoint to a provided RPMsg instance.
| instance | Pointer to the RPMsg instance struct. |
| role | Host / Remote role. |
| ept | Endpoint to register. |
| -EINVAL | When some parameter is missing. |
| 0 | If successful. |
| Other | errno codes depending on the OpenAMP implementation. |