22 #ifdef DtUSE_UTILITIES_NAMESPACE
23 namespace DtUSE_UTILITIES_NAMESPACE
31 #define DtCsClientPathSize 160
32 #define DtCsMaxWarningSize 160
34 #define DtCsVersionApril95 2
35 #define DtCsVersionSeptember95 3
36 #define DtCsVersionCurrent DtCsVersionSeptember95
37 #define DtMinimumSendQSizeSupportedByVers2Server 32
39 #define DtCsClientTypePacket 0
40 #define DtCsClientTypeControl 1
42 #define DtCsUseDefaultSize -1
44 #define DtCsFlagsRead 0x0001
45 #define DtCsFlagsWrite 0x0002
46 #define DtCsFlagsReadWrite (DtCsFlagsRead | DtCsFlagsWrite)
48 #define DtCsFlagsServerChooseDropMode 0x0004
49 #define DtCsFlagsServerDropOldest 0x0008
50 #define DtCsFlagsClientDropOldest 0x0010
51 #define DtCsFlagsDropOldest (DtCsFlagsClientDropOldest | \
52 DtCsFlagsServerDropOldest)
54 #define DtCsFlagsReadResourceWait 0x0020
55 #define DtCsFlagsWriteResourceWait 0x0040
56 #define DtCsFlagsResourceWait (DtCsFlagsReadResourceWait | \
57 DtCsFlagsWriteResourceWait)
59 #define DtCsFlagsDontNotify 0x0080
60 #define DtCsFlagsControlOnly 0x0100
70 #define DtCsMsgWaitingKind 0
74 #define DtCsAddClientKind 1
75 #define DtCsClientPacketKind 2
76 #define DtCsControlReqKind 4
77 #define DtCsFilterKind 5
78 #define DtCsMulticastReqKind 13
84 #define DtCsCrExternal 0
85 #define DtCsCrInternal 1
86 #define DtCsCrTestClients 2
89 #define DtCsCrCState 5
91 #define DtCsCrDisconnect 7
92 #define DtCsCrUnbundle 8
93 #define DtCsCrNoUnbundle 9
99 #define DtCsMSubscribe 0
100 #define DtCsMUnsubscribe 1
110 #define DtCsAckKind 6
111 #define DtCsCliQuotaKind 7
115 #define DtCsServerPacketKind 8
116 #define DtCsStateReturnKind 9
117 #define DtCsCStateReturnKind 10
118 #define DtCsWarningKind 11
119 #define DtCsNoticeKind 12
125 #define DtCsNExternal 0
126 #define DtCsNInternal 1
127 #define DtCsNExtCliQuota 2
129 #define DtCsNClosing 4
188 #define DtCsFilterTypeExercise 0
189 #define DtCsFilterTypeVersion 1
190 #define DtCsFilterTypePduKind 2
191 #define DtCsFilterTypeIpAddr 3
193 #define DtCsFilterOpSetOperator 0
194 #define DtCsFilterOpAddValue 1
196 #define DtCsOperatorEQ 0
197 #define DtCsOperatorNEQ 1
262 #define DtCsCStateServerBlockRead 0x01
263 #define DtCsCStateServerBlockWrite 0x02
264 #define DtCsCStateClientBlockRead 0x04
265 #define DtCsCStateClientBlockWrite 0x08
338 virtual int send() = 0;
339 virtual void print();
375 virtual ~DtShmMsg() {}
425 : DtShmMsg(w, m) { theBytes = d; }
429 virtual ~DtCsClientPacketMsg() {}
433 void setData(
char *d) { theBytes = d; };
434 char *data() {
return theBytes; }
436 DtU32 length() {
return msg.clientPacket.length; }
437 void setLength(
DtU32 s) { msg.clientPacket.length = s; };
448 DtCsControlReqMsg(
int fd,
DtU16 request,
DtU32 clientId);
450 virtual ~DtCsControlReqMsg() {}
452 void setRequest(
DtU16 r) { msg.controlReq.request = r; }
453 DtU16 request() {
return msg.controlReq.request; }
454 DtU32 clientId() {
return msg.controlReq.clientId; }
455 void setClientId(
DtU32 id) {msg.controlReq.clientId = id; }
466 virtual ~DtCsMulticastReqMsg() {}
468 void setRequest(
DtU16 r) { msg.multicastReq.request = r; }
469 DtU16 request() {
return msg.multicastReq.request; }
470 DtU32 clientId() {
return msg.multicastReq.clientId; }
471 void setClientId(
DtU32 id) {msg.multicastReq.clientId = id; }
483 virtual ~DtCsFilterMsg() {}
485 DtU8 filterType() {
return msg.filter.filterType; }
487 DtU8 filterOp() {
return msg.filter.filterOp; }
488 void setFilterOp (
DtU8 op) { msg.filter.filterOp = op; }
490 DtU32 value() {
return msg.filter.value; }
491 void setValue (
DtU32 val) { msg.filter.value = val; }
492 DtU32 clientId() {
return msg.filter.clientId; }
493 void setClientId(
DtU32 id) {msg.filter.clientId = id; }
506 virtual ~DtCsAckMsg() {}
508 DtU8 internal() {
return msg.ack.internal; }
509 DtU32 clientId() {
return msg.ack.clientId; }
510 DtU32 shmKey() {
return msg.ack.shmKey; }
511 DtU32 semKey() {
return msg.ack.semKey; }
512 DtInt32 server2ClientSize() {
return msg.ack.server2ClientSize; }
513 DtInt32 client2ServerSize() {
return msg.ack.client2ServerSize; }
523 DtCsCliQuotaMsg(
int fd);
525 virtual ~DtCsCliQuotaMsg() {}
533 : DtShmMsg(w, m) { theBytes = d; }
536 arrivalTime,
DtU32 length,
char *d);
538 virtual ~DtCsServerPacketMsg() {}
542 void setData(
char *d) { theBytes = d; };
543 char *data() {
return theBytes; }
545 void setLength(
DtU32 s) { msg.serverPacket.length = s; };
546 DtU32 length() {
return msg.serverPacket.length; }
548 void setSourceAddr(
DtU32 s) { msg.serverPacket.sourceAddr = s; }
549 DtU32 sourceAddr() {
return msg.serverPacket.sourceAddr; }
551 void setArrivalTime(
DtU32 a) { msg.serverPacket.arrivalTime = a; }
552 DtU32 arrivalTime() {
return msg.serverPacket.arrivalTime; }
566 numPacketClients,
DtU16 numControlClients,
DtInt32 clientQuota,
569 virtual ~DtCsStateReturnMsg() {}
573 DtU8 internal() {
return msg.stateReturn.internal; }
574 DtU8 unbundling() {
return msg.stateReturn.unbundling; }
575 DtU16 numPacketClients() {
return msg.stateReturn.numPacketClients; }
576 DtU16 numControlClients() {
return msg.stateReturn.numControlClients; }
577 DtInt32 clientQuota() {
return msg.stateReturn.clientQuota; }
578 DtU32 port() {
return msg.stateReturn.port; }
588 DtU8 serverDropOldest,
DtU8 serverResourceWait,
DtU8 blockFlags,
594 virtual ~DtCsCStateReturnMsg() {}
598 DtU16 flags() {
return msg.cStateReturn.flags; }
599 DtU8 serverDropOldest() {
return msg.cStateReturn.serverDropOldest; }
600 DtU8 serverResourceWait() {
return
601 msg.cStateReturn.serverResourceWait; }
602 DtU8 blockFlags() {
return msg.cStateReturn.blockFlags; }
604 DtInt32 processId() {
return msg.cStateReturn.processId; }
605 DtU32 clientId() {
return msg.cStateReturn.clientId; }
606 DtInt32 client2ServerSize() {
return msg.cStateReturn.client2ServerSize;}
607 DtInt32 server2ClientSize() {
return msg.cStateReturn.server2ClientSize;}
608 DtInt32 packetsRcvdFromClient() {
return
609 msg.cStateReturn.packetsRcvdFromClient; }
610 DtInt32 packetsSendToClient() {
return
611 msg.cStateReturn.packetsSentToClient; }
612 DtInt32 newPacketsDropped() {
return
613 msg.cStateReturn.newPacketsDropped; }
614 DtInt32 oldPacketsDropped() {
return
615 msg.cStateReturn.oldPacketsDropped; }
626 virtual ~DtCsWarningMsg() {}
630 DtU16 reason() {
return msg.warning.reason; }
631 void setReason (
DtU16 r) { msg.warning.reason = r; }
632 char *warningMsg() {
return msg.warning.warningMsg; };
633 void setWarningMsg (
char *m)
634 { strncpy(msg.warning.warningMsg, m,
sizeof(msg.warning.warningMsg)); }
647 virtual ~DtCsNoticeMsg() {}
649 int notice() {
return msg.notice.notice; }
650 void setNotice(
DtU16 n) { msg.notice.notice = n; }
657 void DtPacketServerRequestPath(
unsigned n,
char* requestPath,
int vers=
DtCsVersionCurrent);
666 #ifdef DtUSE_UTILITIES_NAMESPACE