34 #ifndef osapi_config_h
37 #ifndef osapi_thread_h
44 #include "reda/reda_string.h"
46 #ifndef reda_sequence_h
47 #include "reda/reda_sequence.h"
52 #ifndef netio_config_h
55 #ifndef netio_address_h
56 #include "netio/netio_address.h"
59 #include "netio/netio_route.h"
70 struct UDP_InterfaceProperty
75 struct NETIO_InterfaceProperty _parent;
81 #define UDP_InterfaceProperty_INITIALIZER \
83 NETIO_InterfaceProperty_INITIALIZER\
89 struct NETIO_Address local_address;
90 struct NETIO_Address public_address;
93 #define UDP_NatEntry_INITIALIZER \
95 NETIO_Address_INITIALIZER,\
96 NETIO_Address_INITIALIZER,\
99 REDA_DEFINE_SEQUENCE(UDP_NatEntrySeq,
struct UDP_NatEntry)
101 #define UDP_NatEntrySeq_INITIALIZER \
102 REDA_DEFINE_SEQUENCE_INITIALIZER(struct UDP_NatEntry)
110 #define UDP_INTERFACE_MAX_IFNAME 64
116 #define UDP_INTERFACE_INTERFACE_UP_FLAG 0x1
122 #define UDP_INTERFACE_INTERFACE_MULTICAST_FLAG 0x2
127 struct UDP_InterfaceTableEntry
147 char ifname[UDP_INTERFACE_MAX_IFNAME];
154 #define UDP_InterfaceTableEntry_INITIALIZER \
162 REDA_DEFINE_SEQUENCE(UDP_InterfaceTableEntrySeq,
struct UDP_InterfaceTableEntry)
164 #define UDP_InterfaceTableEntrySeq_INITIALIZER \
165 REDA_DEFINE_SEQUENCE_INITIALIZER(struct UDP_InterfaceTableEntry)
180 MUST_CHECK_RETURN NETIODllExport
RTI_BOOL
181 UDP_InterfaceTable_add_entry(
struct UDP_InterfaceTableEntrySeq *seq,
196 struct UDP_InterfaceFactoryProperty;
198 UDP_InterfaceFactoryProperty_initialize(
199 struct UDP_InterfaceFactoryProperty*
self);
202 UDP_InterfaceFactoryProperty_finalize(
203 struct UDP_InterfaceFactoryProperty *p);
212 struct UDP_InterfaceFactoryProperty
217 struct NETIO_InterfaceFactoryProperty _parent;
222 struct REDA_StringSeq allow_interface;
227 struct REDA_StringSeq deny_interface;
232 RTI_INT32 max_send_buffer_size;
237 RTI_INT32 max_receive_buffer_size;
242 RTI_INT32 max_message_size;
247 RTI_INT32 multicast_ttl;
250 struct UDP_NatEntrySeq nat;
256 struct UDP_InterfaceTableEntrySeq if_table;
261 REDA_String_T multicast_interface;
274 RTI_BOOL disable_auto_interface_config;
280 struct OSAPI_ThreadProperty recv_thread;
284 UDP_InterfaceFactoryProperty()
286 UDP_InterfaceFactoryProperty_initialize(
this);
288 ~UDP_InterfaceFactoryProperty() { }
290 UDP_InterfaceFactoryProperty(
291 const struct UDP_InterfaceFactoryProperty& from )
295 struct UDP_InterfaceFactoryProperty& operator=(
296 const struct UDP_InterfaceFactoryProperty& from )
302 const struct UDP_InterfaceFactoryProperty& other)
308 const struct UDP_InterfaceFactoryProperty& other)
325 #if (OSAPI_PLATFORM == OSAPI_PLATFORM_VXWORKS) && \
326 (!VXWORKS_VERSION_6_3_OR_BETTER)
328 #define UDP_InterfaceFactoryProperty_INITIALIZER \
330 NETIO_InterfaceFactoryProperty_INITIALIZER,\
331 REDA_StringSeq_INITIALIZER,\
332 REDA_StringSeq_INITIALIZER,\
337 UDP_NatEntrySeq_INITIALIZER,\
338 UDP_InterfaceTableEntrySeq_INITIALIZER,\
342 OSAPI_THREAD_PROPERTY_DEFAULT \
347 #define UDP_InterfaceFactoryProperty_INITIALIZER \
349 NETIO_InterfaceFactoryProperty_INITIALIZER,\
350 REDA_StringSeq_INITIALIZER,\
351 REDA_StringSeq_INITIALIZER,\
356 UDP_NatEntrySeq_INITIALIZER,\
357 UDP_InterfaceTableEntrySeq_INITIALIZER,\
361 OSAPI_THREAD_PROPERTY_DEFAULT \
364 #define UDP_InterfaceFactoryProperty_INITIALIZER \
366 NETIO_InterfaceFactoryProperty_INITIALIZER,\
367 REDA_StringSeq_INITIALIZER,\
368 REDA_StringSeq_INITIALIZER,\
373 UDP_InterfaceTableEntrySeq_INITIALIZER,\
377 OSAPI_THREAD_PROPERTY_DEFAULT \
382 #define UDP_INTERFACE_INTERFACE_ID RT_MKINTERFACEID(\
383 RT_COMPONENT_CLASS_NETIO,RT_COMPONENT_INSTANCE_UDP)
385 extern NETIODllVariable
struct UDP_InterfaceFactoryProperty UDP_INTERFACE_FACTORY_PROPERTY_DEFAULT;
394 MUST_CHECK_RETURN NETIODllExport
struct RT_ComponentFactoryI*
395 UDP_InterfaceFactory_get_interface(
void);