RTI Connext Micro  Version 2.4.1.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
dds_c_common.h
Go to the documentation of this file.
1 /*
2  * FILE: dds_c_common.h - DDS_C common definitions
3  *
4  * (c) Copyright, Real-Time Innovations, 2008-2014.
5  *
6  * All rights reserved.
7  *
8  * No duplications, whole or partial, manual or electronic, may be made
9  * without express written permission. Any such copies, or
10  * revisions thereof, must display this notice unaltered.
11  * This code contains trade secrets of Real-Time Innovations, Inc.
12  *
13  * Modification History
14  * --------------------
15  * 05jun2012,kaj Add DDS_LongLong, DDS_UnsignedLongLong, DDS_LongDouble
16  * 30apr2008,tk Created
17  */
18 /*ce
19  * \file
20  * \brief DDS_C common definitions
21  */
22 /*i @addtogroup DDSCommonModule Common Module
23  @ingroup DDSCModule
24  @brief Common facilities used by the \dds implementation. Defines
25  DDS_DEBUG and so on to facilitate code organization
26  and the development process.
27 */
28 /* ----------------------------------------------------------------- */
29 /*i @file
30  @ingroup DDSCommonModule
31 
32  @brief Defines the common facilities used by the \dds implementation.
33 */
34 
35 #ifndef dds_c_common_h
36 #define dds_c_common_h
37 
38 #ifndef cdr_cdr_type_h
39 #include "cdr/cdr_cdr_type.h"
40 #endif
41 
42 #ifdef __cplusplus
43 extern "C"
44 {
45 #endif
46 
47 /* ================================================================= */
48 /* DDS Primitive Types */
49 /* ================================================================= */
50 
51 /*e
52  * \dref_CdrGroupDocs
53  */
54 /*e
55  * \dref_Char
56  */
57 typedef CDR_Char DDS_Char;
58 
59 /*e
60  * \dref_Wchar
61  */
62 typedef CDR_Wchar DDS_Wchar;
63 
64 /*e
65  * \dref_Octet
66  */
67 typedef CDR_Octet DDS_Octet;
68 
69 /*e
70  * \dref_Short
71  */
72 typedef CDR_Short DDS_Short;
73 
74 /*e
75  * \dref_UnsignedShort
76  */
77 typedef CDR_UnsignedShort DDS_UnsignedShort;
78 
79 /*e
80  * \dref_Long
81  */
82 typedef CDR_Long DDS_Long;
83 
84 /*e
85  * \dref_UnsignedLong
86  */
87 typedef CDR_UnsignedLong DDS_UnsignedLong;
88 
89 /*e
90  * \dref_LongLong
91  */
92 typedef CDR_LongLong DDS_LongLong;
93 
94 /*e
95  * \dref_UnsignedLongLong
96  */
97 typedef CDR_UnsignedLongLong DDS_UnsignedLongLong;
98 
99 /*e
100  * \dref_Float
101  */
102 typedef CDR_Float DDS_Float;
103 
104 /*e
105  * \dref_Double
106  */
107 typedef CDR_Double DDS_Double;
108 
109 /*e
110  * \dref_LongDouble
111  */
112 typedef CDR_LongDouble DDS_LongDouble;
113 
114 /*e
115  * \dref_Boolean
116  */
117 typedef CDR_Boolean DDS_Boolean;
118 
119 /*e
120  * \dref_CdrEnum
121  */
122 typedef CDR_Enum DDS_Enum;
123 
124 /*e
125  * \dref_String
126  */
127 typedef CDR_String DDS_String;
128 
129 /*e
130  * \dref_Wstring
131  */
132 typedef CDR_Wstring DDS_Wstring;
133 
134 /*e
135  * \dref_BOOLEAN_TRUE
136  */
137 #define DDS_BOOLEAN_TRUE ((DDS_Boolean) 1)
138 
139 /*e
140  * \dref_BOOLEAN_FALSE
141  */
142 #define DDS_BOOLEAN_FALSE ((DDS_Boolean) 0)
143 
144 /* ================================================================= */
145 /* NATIVE Representation */
146 /* ================================================================= */
147 
148 /*i @ingroup DDSInfrastructureModule
149  @brief Defines the native language representation of a
150  DDS_DomainId_t
151 */
152 #define DDS_DOMAINID_TYPE_NATIVE DDS_Long
153 
154 /* ----------------------------------------------------------------- */
155 
156 /*i @ingroup DDSInfrastructureModule
157  * @brief Defines the implementation-specific representation of a
158  * DDS_InstanceHandle_t.
159  */
160 typedef struct DDS_HANDLE_TYPE_NATIVE_
161 {
162  DDS_Octet octet[16];
163  DDS_Boolean is_valid;
164 } DDS_HANDLE_TYPE_NATIVE;
165 
166 /*i @ingroup DDSInfrastructureModule
167  * @brief Defines the implementation-specific representation of a
168  * nil instance handle (DDS_HANDLE_NIL).
169  *
170  * The value must be equal to the equivalent to the nil instance handle
171  * in Presentation.
172  */
173 #define DDS_HANDLE_NIL_NATIVE {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},DDS_BOOLEAN_FALSE}
174 
175 /*i @ingroup DDSInfrastructureModule
176  @brief Defines the native language representation of a
177  DDS_BuiltinTopicKey
178 */
179 #define DDS_BUILTIN_TOPIC_KEY_TYPE_NATIVE DDS_UnsignedLong
180 
181 #ifdef __cplusplus
182 } /* extern "C" */
183 #endif
184 
185 
186 #endif /* dds_c_common_h */

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