52 #include "rnr/rnrconfig.h" 68 #define BS_ECODE_GEN 1 69 #define BS_ECODE_BAD_RECV 2
70 #define BS_ECODE_BAD_SEND 3
71 #define BS_ECODE_BAD_RESYNC 4
72 #define BS_ECODE_MSG_BAD_HDR 5
73 #define BS_ECODE_MSG_FRAG 6
74 #define BS_ECODE_MSG_TOO_BIG 7
75 #define BS_ECODE_BUF_TOO_SMALL 8
76 #define BS_ECODE_BAD_MSG 9
77 #define BS_ECODE_BAD_VAL 10
78 #define BS_ECODE_MSG_BAD_TID 11
79 #define BS_ECODE_BAD_VCONN_HND 12
80 #define BS_ECODE_NO_VCONN 13
81 #define BS_ECODE_UNKNOWN_REQ 14
82 #define BS_ECODE_NO_DEV 15
83 #define BS_ECODE_NO_MOD 16
84 #define BS_ECODE_BAD_MOD 17
85 #define BS_ECODE_NO_RSRC 18
86 #define BS_ECODE_BUSY 19
87 #define BS_ECODE_TIMEDOUT 20
88 #define BS_ECODE_NO_EXEC 21
89 #define BS_ECODE_SERVER_CONN_FAIL 22
90 #define BS_ECODE_SERVER_CONN_DENY 23
91 #define BS_ECODE_SERVER_BAD_CLIENT 24
92 #define BS_ECODE_SYS 25
93 #define BS_ECODE_INTERNAL 26
95 #define BS_ECODE_BADEC 27 97 #define BS_ECODE_NUMOF 28 108 #define BSPROXY_URI_SCHEME "botsense" 109 #define BSPROXY_URI_HOSTNAME_DFT "localhost"
120 #define BSPROXY_LISTEN_PORT_DFT 9195 121 #define BSPROXY_REG_CLIENT_MAX 16
122 #define BSPROXY_VCONN_CLIENT_MAX 16
123 #define BSPROXY_MSG_BODY_MAX 2048
138 #define BSPROXY_VCONN_MASK 0xff 139 #define BSPROXY_VCONN_UNDEF 255
140 #define BSPROXY_VCONN_SERVER 254
141 #define BSPROXY_VCONN_MOD_MIN 0
142 #define BSPROXY_VCONN_MOD_MAX 253
143 #define BSPROXY_VCONN_MOD_NUMOF 254
144 #define BSPROXY_VCONN_NUMOF (BSPROXY_VCONN_MOD_NUMOF+1)
146 #define BSPROXY_VCONN_MIN (BSPROXY_VCONN_MOD_MIN) 148 #define BSPROXY_VCONN_MAX (BSPROXY_VCONN_MOD_NUMOF) 167 #define BSPROXY_TID_MIN 0 168 #define BSPROXY_TID_MAX 255
169 #define BSPROXY_TID_NUMOF 256
170 #define BSPROXY_TID_MASK 0xff
185 #define BSPROXY_MSGID_NUMOF 0x10000 186 #define BSPROXY_MSGID_MASK 0xffff
208 #define BSPROXY_MSGUID_VCONN_SHIFT 16 209 #define BSPROXY_MSGUID_VCONN_MASK \
210 (BSPROXY_VCONN_MASK << BSPROXY_MSGUID_VCONN_SHIFT)
211 #define BSPROXY_MSGUID_MSGID_MASK (BSPROXY_MSGID_MASK)
218 #define BSPROXY_MAKE_MSGUID(hndVConn, msgid) \ 220 (((hndVConn) << BSPROXY_MSGUID_VCONN_SHIFT) & BSPROXY_MSGUID_VCONN_MASK) \ 221 | ((msgid) & BSPROXY_MSGUID_MSGID_MASK) ) 227 #define BSPROXY_MAKE_SERVER_MSGUID(msgid) \ 228 BSPROXY_MAKE_MSGUID(BSPROXY_VCONN_SERVER, msgid) 234 #define BSPROXY_GET_MSGUID_HND(msguid) \ 236 (((msguid) >> BSPROXY_MSGUID_VCONN_SHFIT) & BSPROXY_MSGUID_VCONN_MASK) ) 242 #define BSPROXY_GET_MSGUID_MSGID(msguid) \ 243 (BsMsgUid_T)( ((msguid) & BSPROXY_MSGUID_MSGID_MASK) ) 258 #define BSPROXY_MSG_HDR_LEN 8 259 #define BSPROXY_MSG_MAX_LEN (BSPROXY_MSG_HDR_LEN+BSPROXY_MSG_BODY_MAX)
261 #define BSPROXY_MSG_MAGIC 0xaaaa 272 #define BSPROXY_BUF_BODY(buf) \ 273 (buf)+BSPROXY_MSG_HDR_LEN, sizeof(buf)-(size_t)BSPROXY_MSG_HDR_LEN 293 #endif // _BOTSENSE_H uint_t BsMsgId_T
client message id type [0-64k].
uint_t BsMsgUid_T
client message unique id
uint_t BsTid_T
client transaction id type [0-255].
ushort_t m_hdrBodyLen
message body length
ushort_t m_hdrMsgId
message id (vConnection unique)
ushort_t m_hdrMagic
"unique" magic pattern
BotSense Proxy Message Header Structure.
byte_t m_hdrTid
transaction id
byte_t m_hdrVConn
virtual connection handle (server unique)
int BsVConnHnd_T
virtual connection handle type