24 #ifndef dds_c_discovery_h
25 #define dds_c_discovery_h
30 #ifndef dds_c_infrastructure_h
33 #ifndef dds_c_domain_h
45 #define DDS_BUILTIN_ENDPOINT_PARTICIPANT_ANNOUNCER 0x00000001 << 0
46 #define DDS_BUILTIN_ENDPOINT_PARTICIPANT_DETECTOR 0x00000001 << 1
47 #define DDS_BUILTIN_ENDPOINT_PUBLICATION_ANNOUNCER 0x00000001 << 2
48 #define DDS_BUILTIN_ENDPOINT_PUBLICATION_DETECTOR 0x00000001 << 3
49 #define DDS_BUILTIN_ENDPOINT_SUBSCRIPTION_ANNOUNCER 0x00000001 << 4
50 #define DDS_BUILTIN_ENDPOINT_SUBSCRIPTION_DETECTOR 0x00000001 << 5
52 #define DDSC_PARTICIPANT_ADDRESS_COUNT_MAX RTPS_PID_USERDATA_IPADDRESS_COUNT_MAX
59 #define DDS_BUILTIN_TOPIC_KEY_OBJECT_ID 3
115 #define DDS_ParticipantBuiltinTopicData_INITIALIZER { \
116 DDS_BuiltinTopicKey_t_INITIALIZER, \
117 DDS_ENTITY_NAME_QOS_POLICY_DEFAULT, \
119 DDS_PROTOCOL_VERSION_DEFAULT, \
120 DDS_VENDOR_ID_DEFAULT, \
121 DDS_SEQUENCE_INITIALIZER(struct DDS_Locator), \
122 DDS_SEQUENCE_INITIALIZER(struct DDS_Locator), \
123 DDS_SEQUENCE_INITIALIZER(struct DDS_Locator), \
124 DDS_SEQUENCE_INITIALIZER(struct DDS_Locator), \
126 DDS_PRODUCTVERSION_UNKNOWN }
128 DDS_SEQUENCE(DDS_ParticipantBuiltinTopicDataSeq,
131 #define DDS_ParticipantBuiltinTopicDataSeq_INITIALIZER \
132 DDS_SEQUENCE_INITIALIZER(struct DDS_ParticipantBuiltinTopicData)
140 struct DDS_PublicationBuiltinTopicData
191 DDSC_VARIABLE_LENGTH_VALUE_TYPE_SUPPORT_FULL(DDS_PublicationBuiltinTopicData);
195 #define DDS_PublicationBuiltinTopicData_INITIALIZER { \
196 DDS_BuiltinTopicKey_t_INITIALIZER, \
197 DDS_BuiltinTopicKey_t_INITIALIZER, \
200 DDS_DEADLINE_QOS_POLICY_DEFAULT, \
201 DDS_OWNERSHIP_QOS_POLICY_DEFAULT,\
202 DDS_OWNERSHIP_STRENGTH_QOS_POLICY_DEFAULT, \
203 DDS_RELIABILITY_QOS_POLICY_DEFAULT,\
204 DDS_LIVELINESS_QOS_POLICY_DEFAULT, \
205 DDS_DURABILITY_QOS_POLICY_DEFAULT, \
206 DDS_SEQUENCE_INITIALIZER(struct DDS_Locator),\
210 DDS_SEQUENCE(DDS_PublicationBuiltinTopicDataSeq,
211 struct DDS_PublicationBuiltinTopicData)
213 #define DDS_PublicationBuiltinTopicDataSeq_INITIALIZER \
214 DDS_SEQUENCE_INITIALIZER(struct DDS_PublicationBuiltinTopicData)
221 struct DDS_SubscriptionBuiltinTopicData
269 DDSC_VARIABLE_LENGTH_VALUE_TYPE_SUPPORT_FULL(DDS_SubscriptionBuiltinTopicData);
273 #define DDS_SubscriptionBuiltinTopicData_INITIALIZER { \
274 DDS_BuiltinTopicKey_t_INITIALIZER, \
275 DDS_BuiltinTopicKey_t_INITIALIZER, \
278 DDS_DEADLINE_QOS_POLICY_DEFAULT, \
279 DDS_OWNERSHIP_QOS_POLICY_DEFAULT ,\
280 DDS_RELIABILITY_QOS_POLICY_DEFAULT,\
281 DDS_LIVELINESS_QOS_POLICY_DEFAULT, \
282 DDS_DURABILITY_QOS_POLICY_DEFAULT, \
283 DDS_SEQUENCE_INITIALIZER(struct DDS_Locator),\
284 DDS_SEQUENCE_INITIALIZER(struct DDS_Locator)\
287 DDS_SEQUENCE(DDS_SubscriptionBuiltinTopicDataSeq,
288 struct DDS_SubscriptionBuiltinTopicData)
290 #define DDS_SubscriptionBuiltinTopicDataSeq_INITIALIZER \
291 DDS_SEQUENCE_INITIALIZER(struct DDS_SubscriptionBuiltinTopicData)
293 struct NDDS_RemoteEntityImpl;
294 typedef struct NDDS_RemoteEntityImpl NDDS_RemoteEntity;
295 struct DDS_RemotePublicationImpl;
296 typedef struct DDS_RemotePublicationImpl DDS_RemotePublication;
297 typedef struct DDS_RemoteSubscriptionImpl DDS_RemoteSubscription;
298 typedef struct DDS_RemoteParticipantImpl DDS_RemoteParticipant;
303 NDDS_DomainParticipant_assert_remote_participant(
311 NDDS_DomainParticipant_refresh_remote_participant_liveliness(
318 NDDS_DomainParticipant_reset_remote_participant(
325 NDDS_DomainParticipant_remove_remote_participant(
332 NDDS_DomainParticipant_enable_remote_participant_name(
339 NDDS_DomainParticipant_enable_remote_participant_guid(
346 NDDS_DomainParticipant_assert_remote_publication(
348 const char *
const participant_name,
349 const struct DDS_PublicationBuiltinTopicData *
const data,
355 NDDS_DomainParticipant_remove_remote_publication(
362 NDDS_DomainParticipant_assert_remote_subscription(
364 const char *
const participant_name,
365 const struct DDS_SubscriptionBuiltinTopicData *
const data,
371 NDDS_DomainParticipant_remove_remote_subscription(