eRPC API Reference  Rev. 1.9.0
NXP Semiconductors
erpc_rpmsg_lite_base_transport.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015-2016, Freescale Semiconductor, Inc.
3  * Copyright 2016-2021 NXP
4  * Copyright 2021 ACRIOS Systems s.r.o.
5  * All rights reserved.
6  *
7  *
8  * SPDX-License-Identifier: BSD-3-Clause
9  */
10 
11 #ifndef _EMBEDDED_RPC__RPMSG_LITE_BASE_TRANSPORT_H_
12 #define _EMBEDDED_RPC__RPMSG_LITE_BASE_TRANSPORT_H_
13 
14 #include "erpc_transport.h"
15 #include "erpc_config_internal.h"
16 
17 #include "rpmsg_lite.h"
18 #include "rpmsg_env_specific.h"
19 
20 #if ERPC_ALLOCATION_POLICY == ERPC_ALLOCATION_POLICY_STATIC
21 #ifndef RL_USE_STATIC_API
22 #warning "RPMSG is not set to use static allocation"
23 #endif
24 #endif
25 
26 
34 // Definitions
37 
39 // Classes
41 
42 namespace erpc {
50 {
51 public:
52  RPMsgBaseTransport(void)
53  : Transport(){};
54 
55  virtual ~RPMsgBaseTransport(void) {}
56 
62  struct rpmsg_lite_instance *get_rpmsg_lite_instance(void) { return s_rpmsg; }
63 
64 protected:
65  static struct rpmsg_lite_instance *s_rpmsg;
66  static uint8_t s_initialized;
67 #if RL_USE_STATIC_API
68  struct rpmsg_lite_instance m_static_context;
69  struct rpmsg_lite_ept_static_context
70  m_ept_context;
71 #ifdef RL_ENV_QUEUE_STATIC_STORAGE_SIZE
72  rpmsg_static_queue_ctxt
73  m_queue_context;
74  uint8_t m_queue_stack[RL_ENV_QUEUE_STATIC_STORAGE_SIZE];
76 #endif /* RL_ENV_QUEUE_STATIC_STORAGE_SIZE */
77 #endif
78 };
79 
80 } // namespace erpc
81 
84 #endif // _EMBEDDED_RPC__RPMSG_LITE_BASE_TRANSPORT_H_
Abstract interface for transport layer.
Definition: erpc_transport.h:36
Transport(void)
Constructor.
Definition: erpc_transport.h:42
static uint8_t s_initialized
Definition: erpc_rpmsg_lite_base_transport.h:66
static struct rpmsg_lite_instance * s_rpmsg
Definition: erpc_rpmsg_lite_base_transport.h:65
Definition: erpc_arbitrated_client_manager.h:25
Transport that other RPMsg transports inherits.
Definition: erpc_rpmsg_lite_base_transport.h:49
struct rpmsg_lite_instance * get_rpmsg_lite_instance(void)
This function returns pointer to instance of RPMSG lite.
Definition: erpc_rpmsg_lite_base_transport.h:62