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; }
666 #ifdef DtUSE_UTILITIES_NAMESPACE
DtCsMsgHdr hdr
Definition: vlCliServer.h:291
DtU8 blockFlags
Definition: vlCliServer.h:273
DtInt32 processId
Definition: vlCliServer.h:276
DtInt32 client2ServerSize
Definition: vlCliServer.h:222
#define DtCsClientPathSize
Definition: vlCliServer.h:31
virtual ~DtCsMsgWaitingMsg()
Definition: vlCliServer.h:392
This file contains the declaration of DtShmMesgQueueReader.
DtU32 DtIpv4Addr
Definition: vlUtil.h:330
DtSocketMsg(int sockId, DtCsMsg *m)
Definition: vlCliServer.h:356
#define DtCsMaxWarningSize
Definition: vlCliServer.h:32
DtInt32 packetsRcvdFromClient
Definition: vlCliServer.h:282
#define DtCsVersionCurrent
Definition: vlCliServer.h:36
No padding is needed, since this goes via a socket.
Definition: vlCliServer.h:143
DtCsAck ack
Definition: vlCliServer.h:316
Definition: vlCliServer.h:249
Definition: vlCliServer.h:153
int sendFd
Definition: vlCliServer.h:364
DtInt32 clientProcessId
Definition: vlCliServer.h:159
We want this as a separate structure, because we will use Writev() to send one of these plus the pack...
Definition: vlCliServer.h:166
DtU8 serverResourceWait
Definition: vlCliServer.h:272
Definition: vlCliServer.h:351
DtCsAddClient addClient
Definition: vlCliServer.h:310
DtU16 flags()
Definition: vlCliServer.h:407
Definition: vlCliServer.h:267
DtU16 request
Definition: vlCliServer.h:183
DtCsMsgHdr hdr
Definition: vlCliServer.h:168
DtU8 unbundling
Definition: vlCliServer.h:253
DtCsControlReq controlReq
Definition: vlCliServer.h:312
DtU32 arrivalTime
Definition: vlCliServer.h:245
virtual ~DtClientServerMsg()
Definition: vlCliServer.h:336
Definition: vlCliServer.h:330
DtU8 padding
Definition: vlCliServer.h:274
DtU8 kind()
Definition: vlCliServer.h:341
DtInt32 client2ServerSize
Definition: vlCliServer.h:158
No padding is needed, because this is sent via a socket.
Definition: vlCliServer.h:226
DtInt32 client2ServerSize()
Definition: vlCliServer.h:413
DtU16 flags
Definition: vlCliServer.h:270
DtU16 flags
Definition: vlCliServer.h:156
We want this as a separate structure, because we will use Writev() to send one of these plus the pack...
Definition: vlCliServer.h:240
DtU32 value
Definition: vlCliServer.h:204
Definition: vlCliServer.h:199
DtU32 clientId
Definition: vlCliServer.h:205
DtU8 version()
Definition: vlCliServer.h:342
Definition: vlCliServer.h:213
DtU32 port
-1 means unlimited.
Definition: vlCliServer.h:257
DtCsMsgHdr hdr
Definition: vlCliServer.h:242
char * clientPath()
Definition: vlCliServer.h:416
int DtOpenUnixDgram(char *path, DtOpenUnixDgramAction action, char *who)
DtClientServerMsg()
Definition: vlCliServer.h:333
DtInt32 server2ClientSize
Definition: vlCliServer.h:157
DtU16 numControlClients
Definition: vlCliServer.h:255
DtInt32 clientProcessId()
Definition: vlCliServer.h:415
Definition: vlCliServer.h:384
DtCsMsgHdr hdr
Definition: vlCliServer.h:175
virtual ~DtCsAddClientMsg()
Definition: vlCliServer.h:405
DtU32 shmKey
Definition: vlCliServer.h:219
DtCsAddClientMsg(int fd, DtCsMsg *m)
Definition: vlCliServer.h:400
DtCsMsgHdr hdr
Definition: vlCliServer.h:251
DtCsNotice notice
Definition: vlCliServer.h:322
DtInt32 clientQuota
Definition: vlCliServer.h:256
DtInt32 server2ClientSize
Definition: vlCliServer.h:221
DtCsMsgHdr hdr
Definition: vlCliServer.h:155
void setClient2ServerSize(DtU32 s)
Definition: vlCliServer.h:412
DtCsFilter filter
Definition: vlCliServer.h:314
DtU8 serverDropOldest
Definition: vlCliServer.h:271
Definition: vlCliServer.h:662
unsigned char DtU8
An eight bit unsigned integer value.
Definition: vlMachineTypes.h:137
DtU32 length
Definition: vlCliServer.h:170
DtU8 padding
Definition: vlCliServer.h:217
DtU16 request
Definition: vlCliServer.h:176
DtSocketMsg(int sockId)
Definition: vlCliServer.h:354
DtU8 filterType
Definition: vlCliServer.h:202
DtInt32 oldPacketsDropped
Definition: vlCliServer.h:286
DtU32 clientId
Definition: vlCliServer.h:218
DtCsMsgWaitingMsg(int fd, DtCsMsg *m)
Definition: vlCliServer.h:388
DtU32 length
Definition: vlCliServer.h:246
DtOpenUnixDgramAction
!PCFTP
Definition: vlCliServer.h:662
DtU32 clientId
Definition: vlCliServer.h:185
No padding is needed, because this is sent via a socket.
Definition: vlCliServer.h:232
void setServer2ClientSize(DtU32 s)
Definition: vlCliServer.h:409
Definition: vlCliServer.h:132
Definition: vlShmWriter.h:30
Definition: vlCliServer.h:662
DtCsMsgHdr hdr
Definition: vlCliServer.h:298
DtU8 kind
Definition: vlCliServer.h:134
DtInt32 server2ClientSize()
Definition: vlCliServer.h:410
DtCsMsgHdr hdr
Definition: vlCliServer.h:234
This file contains the declaration of DtShmMsgQueueManager.
DtCsMsgHdr hdr
Every message starts with a hdr field, so hdr.kind is a cheater's tag.
Definition: vlCliServer.h:306
DtU16 reason
Definition: vlCliServer.h:292
DtCsClientPacket clientPacket
Definition: vlCliServer.h:311
DtCsMsg msg
Definition: vlCliServer.h:346
DtU32 sourceAddr
Definition: vlCliServer.h:244
This file contains the declaration of DtShmMsgQueueWriter.
DtCsMulticastReq multicastReq
Definition: vlCliServer.h:313
unsigned short DtU16
A 16 bit unsigned integer value.
Definition: vlMachineTypes.h:140
DtCsMsgHdr hdr
Definition: vlCliServer.h:228
DtU16 notice
Definition: vlCliServer.h:299
DtInt32 client2ServerSize
Definition: vlCliServer.h:279
DtCsMsgHdr hdr
Definition: vlCliServer.h:201
DtCsServerPacket serverPacket
Definition: vlCliServer.h:318
DtU8 filterOp
Definition: vlCliServer.h:203
DtInt32 newPacketsDropped
Definition: vlCliServer.h:285
Definition: vlCliServer.h:180
int DtPacketServerIsAlive(int port)
int send(int s, char *buf, int bufLen, int flags)
Definition: vlCliServer.h:296
DtCsMsgHdr hdr
Definition: vlCliServer.h:269
size_t msgSize()
Definition: vlCliServer.h:343
size_t size
Definition: vlCliServer.h:347
DtCsMsgHdr hdr
Definition: vlCliServer.h:215
long int DtInt32
A 32 bit integer value.
Definition: vlMachineTypes.h:156
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
DtInt32 server2ClientSize
Definition: vlCliServer.h:280
provides basic Operating Independent Methods useful to a federate
DtCsMsgHdr hdr
Definition: vlCliServer.h:182
Definition: vlCliServer.h:303
virtual ~DtSocketMsg()
Definition: vlCliServer.h:359
DtU16 padding1
Definition: vlCliServer.h:243
DtU32 semKey
Definition: vlCliServer.h:220
DtCsWarning warning
Definition: vlCliServer.h:321
DtCsStateReturn stateReturn
Definition: vlCliServer.h:319
DtInt32 packetsSentToClient
Definition: vlCliServer.h:283
DtCsMsgWaiting msgWaiting
Definition: vlCliServer.h:308
DtCsCliQuota cliQuota
Definition: vlCliServer.h:317
DtU32 clientId
Definition: vlCliServer.h:177
DtCsCStateReturn cStateReturn
Definition: vlCliServer.h:320
Definition: vlCliServer.h:396
Definition: vlCliServer.h:289
DtU32 clientId
Definition: vlCliServer.h:277
DtU16 numPacketClients
Definition: vlCliServer.h:254
#define DT_DLL_VLUTIL
Definition: vlMachineTypes.h:109
DtU16 padding
Definition: vlCliServer.h:169
DtCsMsgHdr hdr
Definition: vlCliServer.h:145
DtU32 addr
Definition: vlCliServer.h:184
DtU8 version
Definition: vlCliServer.h:135
Definition: vlCliServer.h:173