| 
    Zephyr Project API
    3.4.0
    
   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 | 
Typedefs | |
| typedef void(* | rpmsg_ept_bound_cb) (struct ipc_rpmsg_ept *ept) | 
| Define the bound callback.  More... | |
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.  More... | |
| int | ipc_rpmsg_deinit (struct ipc_rpmsg_instance *instance, unsigned int role) | 
| Deinit an RPMsg instance.  More... | |
| int | ipc_rpmsg_register_ept (struct ipc_rpmsg_instance *instance, unsigned int role, struct ipc_rpmsg_ept *ept) | 
| Register an endpoint.  More... | |
IPC service RPMsg API.
| #define NUM_ENDPOINTS CONFIG_IPC_SERVICE_BACKEND_RPMSG_NUM_ENDPOINTS_PER_INSTANCE | 
#include <include/zephyr/ipc/ipc_rpmsg.h>
Number of endpoints.
| rpmsg_ept_bound_cb | 
#include <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 <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 <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 <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. |