OpenAMP Library  353
rpmsg_rpc_client_server.h File Reference
#include <openamp/open_amp.h>
#include <metal/compiler.h>

Go to the source code of this file.

Data Structures

struct  rpmsg_rpc_request
 struct rpmsg_rpc_request - rpc request message More...
 
struct  rpmsg_rpc_answer
 RPC request message. More...
 
struct  rpmsg_rpc_services
 Table for services. More...
 
struct  rpmsg_rpc_client_services
 Table for client services. More...
 
struct  rpmsg_rpc_svr
 Server remote procedure call data. More...
 
struct  rpmsg_rpc_clt
 Client remote procedure call data. More...
 

Macros

#define RPMSG_RPC_OK   0
 
#define RPMSG_RPC_INVALID_ID   (-1L)
 
#define RPMSG_RPC_SERVICE_NAME   "rpmsg-rpc"
 
#define MAX_BUF_LEN   488UL
 
#define MAX_FUNC_ID_LEN   sizeof(uint32_t)
 

Typedefs

typedef void(* rpmsg_rpc_shutdown_cb) (struct rpmsg_rpc_clt *rpc)
 
typedef void(* app_cb) (struct rpmsg_rpc_clt *rpc, int status, void *data, size_t len)
 
typedef int(* rpmsg_rpc_syscall_cb) (void *data, struct rpmsg_rpc_svr *rpcs)
 

Functions

void rpmsg_rpc_client_release (struct rpmsg_rpc_clt *rpc)
 
int rpmsg_rpc_client_init (struct rpmsg_rpc_clt *rpc, struct rpmsg_device *rdev, rpmsg_rpc_shutdown_cb shutdown_cb, const struct rpmsg_rpc_client_services *services, int len)
 
int rpmsg_rpc_server_init (struct rpmsg_rpc_svr *rpcs, struct rpmsg_device *rdev, const struct rpmsg_rpc_services *services, int len, rpmsg_ns_unbind_cb rpmsg_service_server_unbind)
 
int rpmsg_rpc_client_send (struct rpmsg_rpc_clt *rpc, uint32_t rpc_id, void *request_param, size_t req_param_size)
 
int rpmsg_rpc_server_send (struct rpmsg_rpc_svr *rpcs, uint32_t rpc_id, int status, void *request_param, size_t param_size)
 

Variables

METAL_PACKED_BEGIN struct rpmsg_rpc_answer METAL_PACKED_END
 

Macro Definition Documentation

◆ MAX_BUF_LEN

#define MAX_BUF_LEN   488UL

◆ MAX_FUNC_ID_LEN

#define MAX_FUNC_ID_LEN   sizeof(uint32_t)

◆ RPMSG_RPC_INVALID_ID

#define RPMSG_RPC_INVALID_ID   (-1L)

◆ RPMSG_RPC_OK

#define RPMSG_RPC_OK   0

◆ RPMSG_RPC_SERVICE_NAME

#define RPMSG_RPC_SERVICE_NAME   "rpmsg-rpc"

Typedef Documentation

◆ app_cb

typedef void(* app_cb) (struct rpmsg_rpc_clt *rpc, int status, void *data, size_t len)

◆ rpmsg_rpc_shutdown_cb

typedef void(* rpmsg_rpc_shutdown_cb) (struct rpmsg_rpc_clt *rpc)

◆ rpmsg_rpc_syscall_cb

typedef int(* rpmsg_rpc_syscall_cb) (void *data, struct rpmsg_rpc_svr *rpcs)

Function Documentation

◆ rpmsg_rpc_client_init()

int rpmsg_rpc_client_init ( struct rpmsg_rpc_clt rpc,
struct rpmsg_device rdev,
rpmsg_rpc_shutdown_cb  shutdown_cb,
const struct rpmsg_rpc_client_services services,
int  len 
)

◆ rpmsg_rpc_client_release()

void rpmsg_rpc_client_release ( struct rpmsg_rpc_clt rpc)

◆ rpmsg_rpc_client_send()

int rpmsg_rpc_client_send ( struct rpmsg_rpc_clt rpc,
uint32_t  rpc_id,
void *  request_param,
size_t  req_param_size 
)

◆ rpmsg_rpc_server_init()

int rpmsg_rpc_server_init ( struct rpmsg_rpc_svr rpcs,
struct rpmsg_device rdev,
const struct rpmsg_rpc_services services,
int  len,
rpmsg_ns_unbind_cb  rpmsg_service_server_unbind 
)

◆ rpmsg_rpc_server_send()

int rpmsg_rpc_server_send ( struct rpmsg_rpc_svr rpcs,
uint32_t  rpc_id,
int  status,
void *  request_param,
size_t  param_size 
)

Variable Documentation

◆ METAL_PACKED_END

METAL_PACKED_BEGIN struct rpmsg_rpc_answer METAL_PACKED_END