OpenAMP Library  latest
Loading...
Searching...
No Matches
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