Zephyr API Documentation  3.0.0
A Scalable Open Source RTOS
3.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
IPC service static VRINGs API

IPC service static VRINGs API. More...

Data Structures

struct  ipc_static_vrings
 Static VRINGs structure. More...
 

Macros

#define VRING_COUNT   (2)
 
#define VRING_ALIGNMENT   CONFIG_IPC_SERVICE_STATIC_VRINGS_ALIGNMENT
 

Typedefs

typedef void(* ipc_notify_cb) (struct virtqueue *vq, void *priv)
 Define the notify callback. More...
 

Functions

int ipc_static_vrings_init (struct ipc_static_vrings *vr, unsigned int role)
 Init the static VRINGs. More...
 

Detailed Description

IPC service static VRINGs API.

Macro Definition Documentation

◆ VRING_ALIGNMENT

#define VRING_ALIGNMENT   CONFIG_IPC_SERVICE_STATIC_VRINGS_ALIGNMENT

#include <include/ipc/ipc_static_vrings.h>

VRING alignment.

◆ VRING_COUNT

#define VRING_COUNT   (2)

#include <include/ipc/ipc_static_vrings.h>

Number of used VRING buffers.

Typedef Documentation

◆ ipc_notify_cb

ipc_notify_cb

#include <include/ipc/ipc_static_vrings.h>

Define the notify callback.

This callback is defined at instance level and it is called on virtqueue notify.

Parameters
vqVirtqueue.
privPriv data.

Function Documentation

◆ ipc_static_vrings_init()

int ipc_static_vrings_init ( struct ipc_static_vrings vr,
unsigned int  role 
)

#include <include/ipc/ipc_static_vrings.h>

Init the static VRINGs.

Init VRINGs and Virtqueues of an OpenAMP / RPMsg instance.

Parameters
vrPointer to the VRINGs instance struct.
roleMaster / Remote role.
Return values
-EINVALWhen some parameter is missing.
-ENOMEMWhen memory is not enough for VQs allocation.
0If successful.
Othererrno codes depending on the OpenAMP implementation.