/*
* $Id: protos.h,v 0.0.0.1 2003/08/21
*
- * AUTHOR: Petr Smolik petr.smolik@wo.cz
- *
- * ORTE - OCERA Real-Time Ethernet http://www.ocera.org/
+ * -------------------------------------------------------------------
+ * ORTE
+ * Open Real-Time Ethernet
+ *
+ * Copyright (C) 2001-2006
+ * Department of Control Engineering FEE CTU Prague, Czech Republic
+ * http://dce.felk.cvut.cz
+ * http://www.ocera.org
+ *
+ * Author: Petr Smolik petr.smolik@wo.cz
+ * Advisor: Pavel Pisa
+ * Project Responsible: Zdenek Hanzalek
* --------------------------------------------------------------------
*
* This program is free software; you can redistribute it and/or modify
extern void
sock_cleanup(sock_t *sock);
extern int
-sock_setsockopt(sock_t *sock,int optname,const char *optval, int optlen);
+sock_setsockopt(sock_t *sock,int level,int optname,const char *optval, int optlen);
extern int
-sock_getsockopt(sock_t *sock,int optname,char *optval, int *optlen);
+sock_getsockopt(sock_t *sock,int level,int optname,char *optval, int *optlen);
extern int
-sock_bind(sock_t *sock,u_int16_t port);
+sock_bind(sock_t *sock,uint16_t port, IPAddress listen);
extern int
sock_recvfrom(sock_t *sock, void *buf, int max_len,struct sockaddr_in *des,int des_len);
extern int
sock_sendto(sock_t *sock, void *buf, int len,struct sockaddr_in *des,int des_len);
extern int
-sock_ioctl(sock_t *sock, int cmd, int *arg);
+sock_ioctl(sock_t *sock, long cmd, unsigned long *arg);
extern int
sock_get_local_interfaces(sock_t *sock,ORTEIFProp *IFProp,char *IFCount);
///////////////////////////////////////////////////////////////////////////////
// conv.c
-extern void
-conv_u16(u_int16_t *x,char ef);
-extern void
-conv_u32(u_int32_t *x,char ef);
-extern void
-conv_sn(SequenceNumber *sn,char ef);
-extern void
-conv_ntp(NtpTime *ntp,char ef);
+extern int
+getStringPart(char *string,char divChar,int *iterator,char *buff);
///////////////////////////////////////////////////////////////////////////////
// htimerNtp.c
// htimerRoot
-UL_HTIMER_DEC(htimerRoot, \
- ObjectEntry, \
- HTimFncRootNode, \
- htimRoot, \
- htim)
+UL_HTIMER_DEC(htimerRoot, /* prefix */
+ ObjectEntry, /* queue_t */
+ HTimFncRootNode, /* timer_t */
+ htimRoot, /* queue_field */
+ htim) /* timer_field */
extern void
htimerRoot_run_expired(ORTEDomain *d,
ul_htim_time_t *pact_time);
// htimerUnicastCommon
-UL_HTIMER_DEC(htimerUnicastCommon, \
- ObjectEntryAID, \
- HTimFncUserNode, \
- htimUnicast.common, \
- htim)
+UL_HTIMER_DEC(htimerUnicastCommon, /* prefix */
+ ObjectEntryAID, /* queue_t */
+ HTimFncUserNode, /* timer_t */
+ htimUnicast.common, /* queue_field */
+ htim) /* timer_field */
extern void
htimerUnicastCommon_update_root_timer(ObjectEntry *objectEntry,
ObjectEntryAID *objectEntryAID);
ObjectEntryAID *objectEntryAID,
ul_htim_time_t *pact_time);
// htimerUnicastSendMetatraffic
-UL_HTIMER_DEC(htimerUnicastSendMetatraffic, \
- ObjectEntryAID, \
- HTimFncUserNode, \
- htimUnicast.sendMetatraffic, \
- htim)
+UL_HTIMER_DEC(htimerUnicastSendMetatraffic, /* prefix */
+ ObjectEntryAID, /* queue_t */
+ HTimFncUserNode, /* timer_t */
+ htimUnicast.sendMetatraffic, /* queue_field */
+ htim) /* timer_field */
extern void
htimerUnicastSendMetatraffic_update_root_timer(ObjectEntry *objectEntry,
ObjectEntryAID *objectEntryAID);
ObjectEntryAID *objectEntryAID,
ul_htim_time_t *pact_time);
// htimerUnicastSendUserData
-UL_HTIMER_DEC(htimerUnicastSendUserData, \
- ObjectEntryAID, \
- HTimFncUserNode, \
- htimUnicast.sendUserData, \
- htim)
+UL_HTIMER_DEC(htimerUnicastSendUserData, /* prefix */
+ ObjectEntryAID, /* queue_t */
+ HTimFncUserNode, /* timer_t */
+ htimUnicast.sendUserData, /* queue_field */
+ htim) /* timer_field */
extern void
htimerUnicastSendUserData_update_root_timer(ObjectEntry *objectEntry,
ObjectEntryAID *objectEntryAID);
///////////////////////////////////////////////////////////////////////////////
// objectEntry.c
-GAVL_CUST_NODE_INT_DEC(ObjectEntryHID, ObjectEntry, ObjectEntryHID, HostId,
- objRoot, hidNode, hid, gavl_cmp_int)
-GAVL_CUST_NODE_INT_DEC(ObjectEntryAID, ObjectEntryHID, ObjectEntryAID, AppId,
- aidRoot, aidNode, aid, gavl_cmp_int)
-GAVL_CUST_NODE_INT_DEC(ObjectEntryOID, ObjectEntryAID, ObjectEntryOID, ObjectId,
- oidRoot, oidNode, oid, gavl_cmp_int)
+UL_LIST_CUST_DEC(ObjectEntryMulticast, /* prefix */
+ ObjectEntryOID, /* head_t */
+ CSTRemoteReader, /* item_t */
+ multicastRemoteReaders, /* head_field */
+ multicastNode); /* node_field */
+
+GAVL_CUST_NODE_INT_DEC(ObjectEntryHID, /* prefix */
+ ObjectEntry, /* root_t */
+ ObjectEntryHID, /* item_t */
+ HostId, /* key_t */
+ objRoot, /* root_node */
+ hidNode, /* item_node */
+ hid, /* item_key */
+ gavl_cmp_int) /* cmp_fnc */
+
+GAVL_CUST_NODE_INT_DEC(ObjectEntryAID, /* prefix */
+ ObjectEntryHID, /* root_t */
+ ObjectEntryAID, /* item_t */
+ AppId, /* key_t */
+ aidRoot, /* root_node */
+ aidNode, /* item_node */
+ aid, /* item_key */
+ gavl_cmp_int) /* cmp_fnc */
+
+GAVL_CUST_NODE_INT_DEC(ObjectEntryOID, /* prefix */
+ ObjectEntryAID, /* root_t */
+ ObjectEntryOID, /* item_t */
+ ObjectId, /* key_t */
+ oidRoot, /* root_node */
+ oidNode, /* item_node */
+ oid, /* item_key */
+ gavl_cmp_int) /* cmp_fnc */
+
extern void
objectEntryRefreshApp(ORTEDomain *d,ObjectEntryOID *objectEntryOID);
extern ObjectEntryOID *
extern ObjectEntryOID *
objectEntryAdd(ORTEDomain *d,GUID_RTPS *guid,void *params);
extern int
-objectEntryDelete(ORTEDomain *d,ObjectEntryOID *objectEntryOID);
+objectEntryDelete(ORTEDomain *d,ObjectEntryOID *objectEntryOID,Boolean destroy);
extern void
objectEntryDeleteAll(ORTEDomain *d,ObjectEntry *objectEntry);
extern void
extern Boolean
getTypeApp(ORTEDomain *d,AppParams *ap,IPAddress senderIPAddress);
extern void
-appSelfParamChanged(ORTEDomain *d,Boolean lock,Boolean unlock,Boolean forWM);
+appSelfParamChanged(ORTEDomain *d,Boolean lock,Boolean unlock,
+ Boolean forWM,Boolean alive);
+extern Boolean
+matchMulticastAddresses(ObjectEntryOID *o1,ObjectEntryOID *o2);
+extern ObjectEntryOID *
+getAppO2SRemoteReader(ORTEDomain *d,ObjectEntryOID *objectEntryOID,
+ AppParams *ap);
+extern ObjectEntryOID *
+getSubsO2SRemoteReader(ORTEDomain *d,ObjectEntryOID *objectEntryOID,
+ ORTESubsProp *sp);
///////////////////////////////////////////////////////////////////////////////
// event.c
///////////////////////////////////////////////////////////////////////////////
// parameter.c
-UL_LIST_CUST_DEC(CSChangeAttributes,
- CSChange,ParameterSequence,
- attributes,node);
+UL_LIST_CUST_DEC(CSChangeAttributes, /* prefix */
+ CSChange, /* head_t */
+ ParameterSequence, /* item_t */
+ attributes, /* head_field */
+ node); /* node_field */
+extern int
+parameterGetDataLength(CSChange *csChange);
extern int
parameterDelete(CSChange *csChange);
extern int
-parameterCodeStreamFromCSChange(CSChange *csChange,
- u_int8_t *rtps_msg,u_int32_t max_msg_len);
+parameterCodeCodecFromCSChange(CSChange *csChange,CDR_Codec *cdrCodec);
extern int
-parameterDecodeStreamToCSChange(CSChange *csChange,u_int8_t *rtps_msg,
- u_int16_t submsg_len,u_int8_t needByteSwap);
+parameterDecodeCodecToCSChange(CSChange *csChange,CDR_Codec *cdrCodec);
extern int
parameterUpdateCSChange(
CSChange *csChange,AppParams *ap,Boolean Manager);
///////////////////////////////////////////////////////////////////////////////
// ORTETypeRegister.c
-GAVL_CUST_NODE_INT_DEC(ORTEType, TypeEntry, TypeNode, char *,
- types, node, typeRegister.typeName, gavl_cmp_str)
+GAVL_CUST_NODE_INT_DEC(ORTEType, /* prefix */
+ TypeEntry, /* root_t */
+ TypeNode, /* item_t */
+ const char *, /* key_t */
+ types, /* root_node */
+ node, /* item_node */
+ typeRegister.typeName, /* item_key */
+ gavl_cmp_str) /* cmp_fnc */
///////////////////////////////////////////////////////////////////////////////
// ORTEThreadUtils.c
extern void
-ORTEDomainWakeUpReceivingThread(ORTEDomain *d,sock_t *sock,u_int16_t port);
+ORTEDomainWakeUpReceivingThread(ORTEDomain *d,sock_t *sock,uint16_t port);
extern void
ORTEDomainWakeUpSendingThread(ObjectEntry *objectEntry);
///////////////////////////////////////////////////////////////////////////////
// ORTEAppRecvMetatrafficThread.c
extern void
-ORTEAppRecvMetatrafficThread(ORTEDomain *d);
+ORTEAppRecvThread(TaskProp *tp);
-///////////////////////////////////////////////////////////////////////////////
-// ORTEAppRecvUserdataThread.c
-extern void
-ORTEAppRecvUserdataThread(ORTEDomain *d);
///////////////////////////////////////////////////////////////////////////////
// ORTEAppSendThread.c
extern void
ORTESendData(ORTEDomain *d,ObjectEntryAID *objectEntryAID,Boolean meta);
+extern void
+ORTEAppSendThread(TaskProp *tp);
///////////////////////////////////////////////////////////////////////////////
// RTPSHeader.c
-extern int16_t
-RTPSHeaderCreate(u_int8_t *msg,HostId hid,AppId aid);
-extern int16_t
-RTPSHeaderCheck(u_int8_t *msg,int32_t len,MessageInterpret *mi);
+extern int
+RTPSHeaderCreate(CDR_Codec *cdrCodec,HostId hid,AppId aid);
+extern int
+RTPSHeaderCheck(CDR_Codec *cdrCodec,int32_t len,MessageInterpret *mi);
///////////////////////////////////////////////////////////////////////////////
// RTPSPad.c
extern void
-RTPSPad(u_int8_t *rtps_msg,MessageInterpret *mi);
+RTPSPad(CDR_Codec *cdrCodec,MessageInterpret *mi);
///////////////////////////////////////////////////////////////////////////////
// RTPSInfoDST.c
extern void
-RTPSInfoDST(u_int8_t *rtps_msg,MessageInterpret *mi);
+RTPSInfoDST(CDR_Codec *cdrCodec,MessageInterpret *mi);
///////////////////////////////////////////////////////////////////////////////
// RTPSInfoREPLY.c
-extern void
-RTPSInfoREPLY(u_int8_t *rtps_msg,MessageInterpret *mi);
+extern int
+RTPSInfoREPLYCreate(CDR_Codec *cdrCodec,IPAddress ipaddress,Port port);
+void
+RTPSInfoREPLY(CDR_Codec *cdrCodec,MessageInterpret *mi);
///////////////////////////////////////////////////////////////////////////////
-// RTPSInfoREPLY.c
-extern int32_t
-RTPSInfoREPLYCreate(u_int8_t *rtps_msg,u_int32_t max_msg_len,
- IPAddress ipaddress,Port port);
+// RTPSInfoSRC.c
extern void
-RTPSInfoSRC(u_int8_t *rtps_msg,MessageInterpret *mi);
+RTPSInfoSRC(CDR_Codec *cdrCodec,MessageInterpret *mi);
///////////////////////////////////////////////////////////////////////////////
// RTPSInfoTS.c
-extern int32_t
-RTPSInfoTSCreate(u_int8_t *rtps_msg,u_int32_t max_msg_len,NtpTime time);
+extern int
+RTPSInfoTSCreate(CDR_Codec *cdrCodec,NtpTime time);
extern void
-RTPSInfoTS(u_int8_t *rtps_msg,MessageInterpret *mi);
+RTPSInfoTS(CDR_Codec *cdrCodec,MessageInterpret *mi);
///////////////////////////////////////////////////////////////////////////////
// RTPSVar.c
+extern int
+RTPSVarCreate(CDR_Codec *cdrCodec,ObjectId roid,ObjectId woid,CSChange *csChange);
extern void
-RTPSVar(ORTEDomain *d,u_int8_t *rtps_msg,MessageInterpret *mi,IPAddress senderIPAddress);
+RTPSVar(ORTEDomain *d,CDR_Codec *cdrCodec,MessageInterpret *mi,IPAddress senderIPAddress);
///////////////////////////////////////////////////////////////////////////////
// RTPSAck.c
-extern int32_t
-RTPSAckCreate(u_int8_t *rtps_msg,u_int32_t max_msg_len,
+extern int
+RTPSAckCreate(CDR_Codec *cdrCodec,
SequenceNumber *seqNumber,
ObjectId roid,ObjectId woid,Boolean f_bit);
extern void
-RTPSAck(ORTEDomain *d,u_int8_t *rtps_msg,MessageInterpret *mi,IPAddress senderIPAddress);
+RTPSAck(ORTEDomain *d,CDR_Codec *cdrCodec,MessageInterpret *mi,IPAddress senderIPAddress);
///////////////////////////////////////////////////////////////////////////////
// RTPSHeardBeat.c
extern int
-RTPSHeardBeatCreate(u_int8_t *rtps_msg,u_int32_t max_msg_len,
- SequenceNumber *firstSeqNumber,SequenceNumber *lastSeqNumber,
- ObjectId woid,ObjectId roid,Boolean f_bit);
+RTPSHeartBeatCreate(CDR_Codec *cdrCodec,
+ SequenceNumber *fsn,SequenceNumber *lsn,
+ ObjectId roid,ObjectId woid,Boolean f_bit);
extern void
-RTPSHeardBeat(ORTEDomain *d,u_int8_t *rtps_msg,MessageInterpret *mi);
+RTPSHeartBeat(ORTEDomain *d,CDR_Codec *cdrCodec,MessageInterpret *mi);
///////////////////////////////////////////////////////////////////////////////
// RTPSGap.c
-extern void
-RTPSGap(ORTEDomain *d,u_int8_t *rtps_msg,MessageInterpret *mi,IPAddress senderIPAddress);
+extern int
+RTPSGapCreate(CDR_Codec *cdrCodec,ObjectId roid,ObjectId woid,CSChange *csChange);
+void
+RTPSGap(ORTEDomain *d,CDR_Codec *cdrCodec,MessageInterpret *mi,IPAddress senderIPAddress);
///////////////////////////////////////////////////////////////////////////////
// RTPSIssue.c
-extern int32_t
-RTPSIssueCreateHeader(u_int8_t *rtps_msg,u_int32_t max_msg_len,u_int32_t length,
+extern int
+RTPSIssueCreateHeader(CDR_Codec *cdrCodec,uint32_t length,
ObjectId roid,ObjectId woid,SequenceNumber sn);
extern void
-RTPSIssue(ORTEDomain *d,u_int8_t *rtps_msg,MessageInterpret *mi,IPAddress senderIPAddress);
+RTPSIssue(ORTEDomain *d,CDR_Codec *cdrCodec,MessageInterpret *mi,IPAddress senderIPAddress);
///////////////////////////////////////////////////////////////////////////////
// RTPSUtils.c
extern int gavl_cmp_ntp_time(const NtpTime *a,const NtpTime *b);
extern int gavl_cmp_sn(const SequenceNumber *a, const SequenceNumber *b);
extern int gavl_cmp_guid(const GUID_RTPS *a, const GUID_RTPS *b);
-extern int gavl_cmp_str(char *const *a,char *const *b);
-extern int getMaxMessageLength(ORTEDomain *d);
+extern int gavl_cmp_str(const char *const *a,const char *const *b);
///////////////////////////////////////////////////////////////////////////////
// RTPSCSTWriter.c
-UL_LIST_CUST_DEC(CSTWriterCSChange,
- CSTWriter,CSChange,
- csChanges,nodeList);
-GAVL_CUST_NODE_INT_DEC(CSTWriter,
- CSTPublications, CSTWriter, GUID_RTPS,
- cstWriter, node, guid, gavl_cmp_guid);
-GAVL_CUST_NODE_INT_DEC(CSTRemoteReader,
- CSTWriter, CSTRemoteReader, GUID_RTPS,
- cstRemoteReader, node, guid, gavl_cmp_guid);
-GAVL_CUST_NODE_INT_DEC(CSChangeForReader,
- CSTRemoteReader, CSChangeForReader, SequenceNumber,
- csChangeForReader, node, csChange->sn, gavl_cmp_sn);
+UL_LIST_CUST_DEC(CSTWriterCSChange, /* prefix */
+ CSTWriter, /* head_t */
+ CSChange, /* item_t */
+ csChanges, /* head_field */
+ nodeList); /* node_field */
+
+UL_LIST_CUST_DEC(CSChangeParticipant, /* prefix */
+ CSChange, /* head_t */
+ CSChangeForReader, /* item_t */
+ writerParticipants, /* head_field */
+ participantNode); /* node_field */
+
+GAVL_CUST_NODE_INT_DEC(CSTWriter, /* prefix */
+ CSTPublications, /* root_t */
+ CSTWriter, /* item_t */
+ GUID_RTPS, /* key_t */
+ cstWriter, /* root_node */
+ node, /* item_node */
+ guid, /* item_key */
+ gavl_cmp_guid); /* cmp_fnc */
+
+GAVL_CUST_NODE_INT_DEC(CSTRemoteReader, /* prefix */
+ CSTWriter, /* root_t */
+ CSTRemoteReader, /* item_t */
+ GUID_RTPS, /* key_t */
+ cstRemoteReader, /* root_node */
+ node, /* item_node */
+ guid, /* item_key */
+ gavl_cmp_guid); /* cmp_fnc */
+
+GAVL_CUST_NODE_INT_DEC(CSChangeForReader, /* prefix */
+ CSTRemoteReader, /* root_t */
+ CSChangeForReader, /* item_t */
+ SequenceNumber, /* key_t */
+ csChangeForReader, /* root_node */
+ node, /* item_node */
+ csChange->sn, /* item_key */
+ gavl_cmp_sn); /* cmp_fnc */
extern void
CSTWriterInit(ORTEDomain *d,CSTWriter *cstWriter,ObjectEntryOID *object,
ObjectId oid,CSTWriterParams *params,ORTETypeRegister *typeRegister);
extern void
CSTWriterDelete(ORTEDomain *d,CSTWriter *cstWriter);
-extern void
-CSTWriterAddRemoteReader(ORTEDomain *d,CSTWriter *cstWriter,ObjectEntryOID *object,
- ObjectId oid);
+extern CSTRemoteReader *
+CSTWriterAddRemoteReader(ORTEDomain *d,CSTWriter *cstWriter,ObjectEntryOID *pobject,
+ ObjectId oid,ObjectEntryOID *sobject);
extern void
CSTWriterDestroyRemoteReader(ORTEDomain *d,CSTRemoteReader *cstRemoteReader);
extern void
extern void
CSTWriterAddCSChange(ORTEDomain *d,CSTWriter *cstWriter,CSChange *csChange);
extern void
-CSTWriterDestroyCSChangeForReader(CSTRemoteReader *cstRemoteReader,
- CSChangeForReader *csChangeForReader,Boolean destroyCSChange);
+CSTWriterDestroyCSChangeForReader(CSChangeForReader *csChangeForReader,
+ Boolean destroyCSChange);
extern void
CSTWriterDestroyCSChange(ORTEDomain *d,CSTWriter *cstWriter,CSChange *csChange);
extern Boolean
CSTWriterTryDestroyBestEffortIssue(CSTWriter *cstWriter);
extern void
CSTWriterRefreshAllCSChanges(ORTEDomain *d,CSTRemoteReader *cstRemoteReader);
+extern int
+CSTWriterCSChangeForReaderNewState(CSChangeForReader *csChangeForReader);
+extern void
+CSTWriterMulticast(CSChangeForReader *csChangeForReader);
///////////////////////////////////////////////////////////////////////////////
// RTPSCSTWriterTimer.c
+extern int
+CSTWriterRegistrationTimer(ORTEDomain *d,void *vcstWriter);
extern int
CSTWriterRefreshTimer(ORTEDomain *d,void *vcstWriter);
extern int
///////////////////////////////////////////////////////////////////////////////
// RTPSCSTReader.c
-UL_LIST_CUST_DEC(CSTReaderCSChange,
- CSTReader,CSChange,
- csChanges,nodeList);
-GAVL_CUST_NODE_INT_DEC(CSTReader,
- CSTSubscriptions, CSTReader, GUID_RTPS,
- cstReader, node, guid, gavl_cmp_guid);
-GAVL_CUST_NODE_INT_DEC(CSTRemoteWriter,
- CSTReader, CSTRemoteWriter, GUID_RTPS,
- cstRemoteWriter, node, guid, gavl_cmp_guid);
-GAVL_CUST_NODE_INT_DEC(CSChangeFromWriter,
- CSTRemoteWriter, CSChangeFromWriter, SequenceNumber,
- csChangeFromWriter, node, csChange->sn, gavl_cmp_sn);
+UL_LIST_CUST_DEC(CSTReaderCSChange, /* prefix */
+ CSTReader, /* head_t */
+ CSChange, /* item_t */
+ csChanges, /* head_field */
+ nodeList); /* node_field */
+
+GAVL_CUST_NODE_INT_DEC(CSTReader, /* prefix */
+ CSTSubscriptions, /* root_t */
+ CSTReader, /* item_t */
+ GUID_RTPS, /* key_t */
+ cstReader, /* root_node */
+ node, /* item_node */
+ guid, /* item_key */
+ gavl_cmp_guid); /* cmp_fnc */
+
+GAVL_CUST_NODE_INT_DEC(CSTRemoteWriter, /* prefix */
+ CSTReader, /* root_t */
+ CSTRemoteWriter, /* item_t */
+ GUID_RTPS, /* key_t */
+ cstRemoteWriter, /* root_node */
+ node, /* item_node */
+ guid, /* item_key */
+ gavl_cmp_guid); /* cmp_fnc */
+
+GAVL_CUST_NODE_INT_DEC(CSChangeFromWriter,/* prefix */
+ CSTRemoteWriter, /* root_t */
+ CSChangeFromWriter,/* item_t */
+ SequenceNumber, /* key_t */
+ csChangeFromWriter,/* root_node */
+ node, /* item_node */
+ csChange->sn, /* item_key */
+ gavl_cmp_sn); /* cmp_fnc */
extern void
CSTReaderInit(ORTEDomain *d,CSTReader *cstReader,ObjectEntryOID *object,
ObjectId oid,CSTReaderParams *params,ORTETypeRegister *typeRegister);
CSTReaderPersistenceTimer(ORTEDomain *d,void *vcstReader);
///////////////////////////////////////////////////////////////////////////////
-// ORTEDomainApp.c
-UL_LIST_CUST_DEC(SubscriptionPattern,
- PatternEntry,SubscriptionPatternNode,
- subscription,node);
-
+// ORTEDomain.c
+ORTEDomain *
+ORTEDomainCreate(int domain, ORTEDomainProp *prop,
+ ORTEDomainAppEvents *events,Boolean manager);
+Boolean
+ORTEDomainDestroy(ORTEDomain *d,Boolean manager);
+///////////////////////////////////////////////////////////////////////////////
+// ORTEDomainApp.c
+UL_LIST_CUST_DEC(Pattern, /* prefix */
+ PatternEntry, /* head_t */
+ PatternNode, /* item_t */
+ patterns, /* head_field */
+ node); /* node_field */
+
///////////////////////////////////////////////////////////////////////////////
// ORTETypeRegister.c
extern Boolean
-ORTETypeRegisterFind(ORTEDomain *d,char *typeName);
+ORTETypeRegisterFind(ORTEDomain *d,const char *typeName);
///////////////////////////////////////////////////////////////////////////////
// ORTEPublication.c
-GAVL_CUST_NODE_INT_DEC(PublicationList,
- PSEntry, ObjectEntryOID, GUID_RTPS,
- publications, psNode, guid, gavl_cmp_guid);
+GAVL_CUST_NODE_INT_DEC(PublicationList, /* prefix */
+ PSEntry, /* root_t */
+ ObjectEntryOID, /* item_t */
+ GUID_RTPS, /* key_t */
+ publications, /* root_node */
+ psNode, /* item_node */
+ guid, /* item_key */
+ gavl_cmp_guid); /* cmp_fnc */
+extern int
+ORTEPublicationSendLocked(ORTEPublication *cstWriter,
+ ORTEPublicationSendParam *psp);
+
+///////////////////////////////////////////////////////////////////////////////
+// ORTESubcription.c
extern int
-ORTEPublicationSendLocked(ORTEPublication *cstWriter);
+ORTESubscriptionDestroyLocked(ORTESubscription *cstReader);
///////////////////////////////////////////////////////////////////////////////
// ORTEPublicationTimer.c
///////////////////////////////////////////////////////////////////////////////
// ORTESubscription.c
-GAVL_CUST_NODE_INT_DEC(SubscriptionList,
- PSEntry, ObjectEntryOID, GUID_RTPS,
- subscriptions, psNode, guid, gavl_cmp_guid);
+GAVL_CUST_NODE_INT_DEC(SubscriptionList, /* prefix */
+ PSEntry, /* root_t */
+ ObjectEntryOID, /* item_t */
+ GUID_RTPS, /* key_t */
+ subscriptions, /* root_node */
+ psNode, /* item_node */
+ guid, /* item_key */
+ gavl_cmp_guid); /* cmp_fnc */
-
#ifdef __cplusplus
} /* extern "C"*/
#endif