RTI Connext DDS Micro  Version 2.4.6
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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-2015.
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 
23 /*i @addtogroup DDSCommonModule Common Module
24  * @ingroup DDSCModule
25  *
26  * @brief Common facilities used by the \dds implementation. Defines
27  * DDS_DEBUG and so on to facilitate code organization
28  * and the development process.
29  */
30 /* ----------------------------------------------------------------- */
31 /*i @file
32  @ingroup DDSCommonModule
33 
34  @brief Defines the common facilities used by the \dds implementation.
35 */
36 
37 #ifndef dds_c_common_h
38 #define dds_c_common_h
39 
40 #ifndef cdr_cdr_type_h
41 #include "cdr/cdr_cdr_type.h"
42 #endif
43 
44 #ifdef __cplusplus
45 extern "C"
46 {
47 #endif
48 
49 /* ================================================================= */
50 /* DDS Primitive Types */
51 /* ================================================================= */
52 
53 /*e
54  * \dref_CdrGroupDocs
55  */
56 /*e
57  * \dref_Char
58  */
59 typedef CDR_Char DDS_Char;
60 
61 /*e
62  * \dref_Wchar
63  */
64 typedef CDR_Wchar DDS_Wchar;
65 
66 /*e
67  * \dref_Octet
68  */
69 typedef CDR_Octet DDS_Octet;
70 
71 /*e
72  * \dref_Short
73  */
74 typedef CDR_Short DDS_Short;
75 
76 /*e
77  * \dref_UnsignedShort
78  */
79 typedef CDR_UnsignedShort DDS_UnsignedShort;
80 
81 /*e
82  * \dref_Long
83  */
84 typedef CDR_Long DDS_Long;
85 
86 /*e
87  * \dref_UnsignedLong
88  */
89 typedef CDR_UnsignedLong DDS_UnsignedLong;
90 
91 /*e
92  * \dref_LongLong
93  */
94 typedef CDR_LongLong DDS_LongLong;
95 
96 /*e
97  * \dref_UnsignedLongLong
98  */
99 typedef CDR_UnsignedLongLong DDS_UnsignedLongLong;
100 
101 /*e
102  * \dref_Float
103  */
104 typedef CDR_Float DDS_Float;
105 
106 /*e
107  * \dref_Double
108  */
109 typedef CDR_Double DDS_Double;
110 
111 /*e
112  * \dref_LongDouble
113  */
114 typedef CDR_LongDouble DDS_LongDouble;
115 
116 /*e
117  * \dref_Boolean
118  */
119 typedef CDR_Boolean DDS_Boolean;
120 
121 /*e
122  * \dref_CdrEnum
123  */
124 typedef CDR_Enum DDS_Enum;
125 
126 /*e
127  * \dref_String
128  */
129 typedef CDR_String DDS_String;
130 
131 /*e
132  * \dref_Wstring
133  */
134 typedef CDR_Wstring DDS_Wstring;
135 
136 /*e
137  * \dref_BOOLEAN_TRUE
138  */
139 #define DDS_BOOLEAN_TRUE ((DDS_Boolean) 1)
140 
141 /*e
142  * \dref_BOOLEAN_FALSE
143  */
144 #define DDS_BOOLEAN_FALSE ((DDS_Boolean) 0)
145 
146 /* ================================================================= */
147 /* NATIVE Representation */
148 /* ================================================================= */
149 
150 /*i @ingroup DDSInfrastructureModule
151  * @brief Defines the native language representation of a
152  * DDS_DomainId_t
153  */
154 #define DDS_DOMAINID_TYPE_NATIVE DDS_Long
155 
156 /* ----------------------------------------------------------------- */
157 
158 /*i @ingroup DDSInfrastructureModule
159  * @brief Defines the implementation-specific representation of a
160  * DDS_InstanceHandle_t.
161  */
162 typedef struct DDS_HANDLE_TYPE_NATIVE_
163 {
164  DDS_Octet octet[16];
165  DDS_Boolean is_valid;
166 } DDS_HANDLE_TYPE_NATIVE;
167 
168 /*i @ingroup DDSInfrastructureModule
169  *
170  * @brief Defines the implementation-specific representation of a
171  * nil instance handle (DDS_HANDLE_NIL).
172  *
173  */
174 #define DDS_HANDLE_NIL_NATIVE {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},DDS_BOOLEAN_FALSE}
175 
176 /*i @ingroup DDSInfrastructureModule
177  @brief Defines the native language representation of a
178  DDS_BuiltinTopicKey.
179 */
180 #define DDS_BUILTIN_TOPIC_KEY_TYPE_NATIVE DDS_UnsignedLong
181 
182 #ifdef __cplusplus
183 } /* extern "C" */
184 #endif
185 
186 
187 #endif /* dds_c_common_h */

RTI Connext DDS Micro Version 2.4.6 Copyright © Mon Jan 25 2016 Real-Time Innovations, Inc