eRPC API Reference  Rev. 1.7.2
NXP Semiconductors
erpc_rpmsg_linux_transport.h
1 /*
2  * Copyright 2017 NXP
3  * All rights reserved.
4  *
5  *
6  * SPDX-License-Identifier: BSD-3-Clause
7  */
8 
9 /* Download "rpmsg_linux_endpoint.h/.cpp" from
10  * https://github.com/EmbeddedRPC/erpc-imx-demos/tree/master/middleware/rpmsg-cpp */
11 #include "erpc_rpmsg_linux_endpoint.h"
12 #include "erpc_transport.h"
13 
15 // Classes
17 
18 namespace erpc {
19 
27 {
28 public:
32  RPMsgLinuxTransport(RPMsgEndpoint *endPoint, int16_t remote);
33 
34  virtual ~RPMsgLinuxTransport(void);
35 
42  erpc_status_t init(void);
43 
52  virtual erpc_status_t receive(MessageBuffer *message);
53 
62  virtual erpc_status_t send(MessageBuffer *message);
63 
64 private:
65  RPMsgEndpoint *m_endPoint;
66  int16_t m_remote;
67 };
68 } // namespace erpc
Abstract interface for transport layer.
Definition: erpc_transport.h:35
int32_t erpc_status_t
Type used for all status and error return values.
Definition: erpc_common.h:86
erpc_status_t init(void)
This function initializes Linux environment for sending and receiving messages.
Definition: erpc_rpmsg_linux_transport.cpp:28
RPMsgLinuxTransport(RPMsgEndpoint *endPoint, int16_t remote)
Constructor to set RPMsg endpoint and remote address.
Definition: erpc_rpmsg_linux_transport.cpp:19
virtual erpc_status_t send(MessageBuffer *message)
This function sends the eRPC messages.
Definition: erpc_rpmsg_linux_transport.cpp:42
virtual erpc_status_t receive(MessageBuffer *message)
This function receives the eRPC messages.
Definition: erpc_rpmsg_linux_transport.cpp:52
Represents a memory buffer containing a message.
Definition: erpc_message_buffer.h:36
Definition: erpc_arbitrated_client_manager.h:25
RPMSG Linux transport to send/receive messages through RPMSG endpoints based on https://github.com/NXPmicro/rpmsg-sysfs/tree/0aa1817545a765c200b1b2f9b6680a420dcf9171 implementation.
Definition: erpc_rpmsg_linux_transport.h:26