OpenAMP Library  353
rpmsg_internal.h File Reference
#include <stdint.h>
#include <openamp/rpmsg.h>

Go to the source code of this file.

Data Structures

struct  rpmsg_hdr
 Common header for all RPMsg messages. More...
 
struct  rpmsg_ns_msg
 Dynamic name service announcement message. More...
 

Macros

#define RPMSG_ASSERT(_exp, _msg)   metal_assert(_exp)
 
#define RPMSG_BUF_HELD_SHIFT   16
 
#define RPMSG_BUF_HELD_MASK   (0xFFFFU << RPMSG_BUF_HELD_SHIFT)
 
#define RPMSG_LOCATE_HDR(p)    ((struct rpmsg_hdr *)((unsigned char *)(p) - sizeof(struct rpmsg_hdr)))
 
#define RPMSG_LOCATE_DATA(p)   ((unsigned char *)(p) + sizeof(struct rpmsg_hdr))
 

Enumerations

enum  rpmsg_ns_flags { RPMSG_NS_CREATE = 0 , RPMSG_NS_DESTROY = 1 }
 dynamic name service announcement flags More...
 

Functions

int rpmsg_send_ns_message (struct rpmsg_endpoint *ept, unsigned long flags)
 
struct rpmsg_endpointrpmsg_get_endpoint (struct rpmsg_device *rvdev, const char *name, uint32_t addr, uint32_t dest_addr)
 
void rpmsg_register_endpoint (struct rpmsg_device *rdev, struct rpmsg_endpoint *ept, const char *name, uint32_t src, uint32_t dest, rpmsg_ept_cb cb, rpmsg_ns_unbind_cb ns_unbind_cb, void *priv)
 
static struct rpmsg_endpointrpmsg_get_ept_from_addr (struct rpmsg_device *rdev, uint32_t addr)
 
void rpmsg_ept_incref (struct rpmsg_endpoint *ept)
 
void rpmsg_ept_decref (struct rpmsg_endpoint *ept)
 

Variables

METAL_PACKED_BEGIN struct rpmsg_hdr METAL_PACKED_END
 

Macro Definition Documentation

◆ RPMSG_ASSERT

#define RPMSG_ASSERT (   _exp,
  _msg 
)    metal_assert(_exp)

◆ RPMSG_BUF_HELD_MASK

#define RPMSG_BUF_HELD_MASK   (0xFFFFU << RPMSG_BUF_HELD_SHIFT)

◆ RPMSG_BUF_HELD_SHIFT

#define RPMSG_BUF_HELD_SHIFT   16

◆ RPMSG_LOCATE_DATA

#define RPMSG_LOCATE_DATA (   p)    ((unsigned char *)(p) + sizeof(struct rpmsg_hdr))

◆ RPMSG_LOCATE_HDR

#define RPMSG_LOCATE_HDR (   p)     ((struct rpmsg_hdr *)((unsigned char *)(p) - sizeof(struct rpmsg_hdr)))

Enumeration Type Documentation

◆ rpmsg_ns_flags

dynamic name service announcement flags

Enumerator
RPMSG_NS_CREATE 

A new remote service was just created.

RPMSG_NS_DESTROY 

A known remote service was just destroyed.

Function Documentation

◆ rpmsg_ept_decref()

void rpmsg_ept_decref ( struct rpmsg_endpoint ept)

◆ rpmsg_ept_incref()

void rpmsg_ept_incref ( struct rpmsg_endpoint ept)

◆ rpmsg_get_endpoint()

struct rpmsg_endpoint* rpmsg_get_endpoint ( struct rpmsg_device rvdev,
const char *  name,
uint32_t  addr,
uint32_t  dest_addr 
)

◆ rpmsg_get_ept_from_addr()

static struct rpmsg_endpoint* rpmsg_get_ept_from_addr ( struct rpmsg_device rdev,
uint32_t  addr 
)
inlinestatic

◆ rpmsg_register_endpoint()

void rpmsg_register_endpoint ( struct rpmsg_device rdev,
struct rpmsg_endpoint ept,
const char *  name,
uint32_t  src,
uint32_t  dest,
rpmsg_ept_cb  cb,
rpmsg_ns_unbind_cb  ns_unbind_cb,
void *  priv 
)

◆ rpmsg_send_ns_message()

int rpmsg_send_ns_message ( struct rpmsg_endpoint ept,
unsigned long  flags 
)

Variable Documentation

◆ METAL_PACKED_END

METAL_PACKED_BEGIN struct rpmsg_ns_msg METAL_PACKED_END