RTI Connext Micro  Version 2.4.1.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
netio_loopback.h
1 /*
2  * FILE: netio_loopback.h - NETIO Loopback API
3  *
4  * Copyright 2012-2014 Real-Time Innovations, Inc.
5  *
6  * No duplications, whole or partial, manual or electronic, may be made
7  * without express written permission. Any such copies, or
8  * revisions thereof, must display this notice unaltered.
9  * This code contains trade secrets of Real-Time Innovations, Inc.
10  *
11  * Modification History
12  * --------------------
13  * 17may2012,tk Written
14  */
15 /*ci
16  * \file
17  * \brief NETIO Loopback API
18  */
19 /*ci
20  * \file
21  * \defgroup NETIO_LoopbackInterfaceClass Loopback Interface
22  * \ingroup NETIOModule
23  * \brief NETIO Loopback Interface
24  *
25  * \details
26  *
27  * The loopback interface is an internal used for communication within the same
28  * memory space. Note that the actual use is defined by outside of the
29  * loopback interface itself.
30  */
31 /*ci \addtogroup NETIO_LoopbackInterfaceClass
32  * @{
33  */
34 #ifndef netio_loopback_h
35 #define netio_loopback_h
36 
37 #ifndef rt_rt_h
38 #include "rt/rt_rt.h"
39 #endif
40 
41 #ifndef netio_dll_h
42 #include "netio/netio_dll.h"
43 #endif
44 
45 #ifndef osapi_config_h
46 #include "osapi/osapi_config.h"
47 #endif
48 
49 #ifndef osapi_types_h
50 #include "osapi/osapi_types.h"
51 #endif
52 
53 #ifndef netio_address_h
54 #include "netio/netio_address.h"
55 #endif
56 
57 #ifndef netio_route_h
58 #include "netio/netio_route.h"
59 #endif
60 
61 #ifndef netio_interface_h
62 #include "netio/netio_interface.h"
63 #endif
64 
65 #ifdef __cplusplus
66 extern "C"
67 {
68 #endif
69 
70 /*ci
71  *\brief The available loopback modes
72  */
73 typedef enum
74 {
75  /*ci
76  * \brief Synchronous loop back mode
77  */
78  LOOP_INTERFACEMODE_LOOPBACK
79 } LOOP_InterfaceMode_T;
80 
81 /*ci
82  * \brief Loopback interface specific properties
83  */
84 struct LOOP_InterfaceProperty
85 {
86  /*ci
87  * \brief base-class properties
88  */
89  struct NETIO_InterfaceProperty _parent;
90 
91  /*ci
92  * \brief interface mode
93  */
94  LOOP_InterfaceMode_T mode;
95 };
96 
97 /*ci
98  * \brief Constant to initialize a \ref LOOP_InterfaceProperty
99  */
100 #define LOOP_InterfaceProperty_INITIALIZER \
101 {\
102  NETIO_InterfaceProperty_INITIALIZER,\
103  LOOP_INTERFACEMODE_LOOPBACK \
104 }
105 
106 /*ci
107  * \brief Definition of loopback NETIO interface class id
108  */
109 #define INTRA_INTERFACE_INTERFACE_ID RT_MKINTERFACEID(\
110  RT_COMPONENT_CLASS_NETIO,RT_COMPONENT_INSTANCE_INTRA)
111 
112 /*ci
113  * \brief Function to retrieve the concrete implementation of the
114  * NETIO Loopback interface
115  *
116  * \return Pointer to Loopback factory implementation
117  */
118 MUST_CHECK_RETURN NETIODllExport struct RT_ComponentFactoryI*
119 LOOP_InterfaceFactory_get_interface(void);
120 
121 #ifdef __cplusplus
122 } /* extern "C" */
123 #endif
124 
125 #endif /* netio_loopback_h */
126 
127 /*ci @} */

RTI Connext Micro Version 2.4.1.0 Copyright © Thu Nov 20 2014 Real-Time Innovations, Inc