botsense  3.2.0
RoadNarrows Client-Server Proxied Services Framework
BotSense.h File Reference

BotSense package top-level, unifying header declarations. More...

#include "rnr/rnrconfig.h"

Go to the source code of this file.

Classes

struct  BsProxyMsgHdr_T
 BotSense Proxy Message Header Structure. More...
 

Macros

#define BS_OK   0
 not an error, success
 
#define BS_ECODE_GEN   1
 general, unspecified error
 
#define BS_ECODE_BAD_RECV   2
 bad receive
 
#define BS_ECODE_BAD_SEND   3
 bad send
 
#define BS_ECODE_BAD_RESYNC   4
 bad resync with server/client
 
#define BS_ECODE_MSG_BAD_HDR   5
 bad message header
 
#define BS_ECODE_MSG_FRAG   6
 message fragment
 
#define BS_ECODE_MSG_TOO_BIG   7
 message too big
 
#define BS_ECODE_BUF_TOO_SMALL   8
 buffer too small
 
#define BS_ECODE_BAD_MSG   9
 bad message
 
#define BS_ECODE_BAD_VAL   10
 bad value
 
#define BS_ECODE_MSG_BAD_TID   11
 cannot match transaction id
 
#define BS_ECODE_BAD_VCONN_HND   12
 bad virtual connection handle
 
#define BS_ECODE_NO_VCONN   13
 virtual connection not found
 
#define BS_ECODE_UNKNOWN_REQ   14
 unknown request
 
#define BS_ECODE_NO_DEV   15
 no proxied device
 
#define BS_ECODE_NO_MOD   16
 no interface module
 
#define BS_ECODE_BAD_MOD   17
 bad interface module
 
#define BS_ECODE_NO_RSRC   18
 no resource available
 
#define BS_ECODE_BUSY   19
 resource busy
 
#define BS_ECODE_TIMEDOUT   20
 operation timed out
 
#define BS_ECODE_NO_EXEC   21
 cannot execute
 
#define BS_ECODE_SERVER_CONN_FAIL   22
 cannot connect to server
 
#define BS_ECODE_SERVER_CONN_DENY   23
 server denied connection
 
#define BS_ECODE_SERVER_BAD_CLIENT   24
 server detected bad client
 
#define BS_ECODE_SYS   25
 system (errno) error
 
#define BS_ECODE_INTERNAL   26
 internal error (bug)
 
#define BS_ECODE_BADEC   27
 bad error code
 
#define BS_ECODE_NUMOF   28
 number of error codes
 
#define BSPROXY_URI_SCHEME   "botsense"
 URI scheme.
 
#define BSPROXY_URI_HOSTNAME_DFT   "localhost"
 URI hostname default.
 
#define BSPROXY_LISTEN_PORT_DFT   9195
 default bsProxy passive socket
 
#define BSPROXY_REG_CLIENT_MAX   16
 max number of simultaneous clients
 
#define BSPROXY_VCONN_CLIENT_MAX   16
 max number of virtual conn/client
 
#define BSPROXY_MSG_BODY_MAX   2048
 maximum msg body length (sans header)
 
#define BSPROXY_VCONN_MASK   0xff
 virtual connection handle mask
 
#define BSPROXY_VCONN_UNDEF   255
 undefined virtual connection handle
 
#define BSPROXY_VCONN_SERVER   254
 handle for server-terminated msgs
 
#define BSPROXY_VCONN_MOD_MIN   0
 minimum module-specific handle value
 
#define BSPROXY_VCONN_MOD_MAX   253
 maximum module-specific handle value
 
#define BSPROXY_VCONN_MOD_NUMOF   254
 number of module-specific handles
 
#define BSPROXY_VCONN_NUMOF   (BSPROXY_VCONN_MOD_NUMOF+1)
 total number of module handles
 
#define BSPROXY_VCONN_MIN   (BSPROXY_VCONN_MOD_MIN)
 minimum handle value
 
#define BSPROXY_VCONN_MAX   (BSPROXY_VCONN_MOD_NUMOF)
 maximum handle value
 
#define BSPROXY_TID_MIN   0
 minimum transaction id
 
#define BSPROXY_TID_MAX   255
 maximum transaction id
 
#define BSPROXY_TID_NUMOF   256
 number of unique tid's
 
#define BSPROXY_TID_MASK   0xff
 transaction id mask
 
#define BSPROXY_MSGID_NUMOF   0x10000
 number of vconn unique message ids
 
#define BSPROXY_MSGID_MASK   0xffff
 message id mask
 
#define BSPROXY_MSGUID_VCONN_SHIFT   16
 v.conn bit shift
 
#define BSPROXY_MSGUID_VCONN_MASK   (BSPROXY_VCONN_MASK << BSPROXY_MSGUID_VCONN_SHIFT)
 v.connection mask
 
#define BSPROXY_MSGUID_MSGID_MASK   (BSPROXY_MSGID_MASK)
 app message id mask
 
#define BSPROXY_MAKE_MSGUID(hndVConn, msgid)
 Make a MSGUID. More...
 
#define BSPROXY_MAKE_SERVER_MSGUID(msgid)   BSPROXY_MAKE_MSGUID(BSPROXY_VCONN_SERVER, msgid)
 Make a server-specific MSGUID. More...
 
#define BSPROXY_GET_MSGUID_HND(msguid)
 Get the virtual connection handle from the MSGUID. More...
 
#define BSPROXY_GET_MSGUID_MSGID(msguid)   (BsMsgUid_T)( ((msguid) & BSPROXY_MSGUID_MSGID_MASK) )
 Get the message id from the MSGUID. More...
 
#define BSPROXY_MSG_HDR_LEN   8
 message header length (bytes)
 
#define BSPROXY_MSG_MAX_LEN   (BSPROXY_MSG_HDR_LEN+BSPROXY_MSG_BODY_MAX)
 total message maximum length
 
#define BSPROXY_MSG_MAGIC   0xaaaa
 message magic pattern
 
#define BSPROXY_BUF_BODY(buf)   (buf)+BSPROXY_MSG_HDR_LEN, sizeof(buf)-(size_t)BSPROXY_MSG_HDR_LEN
 Convenience macro to produce a buffer (offset, size) 2-tuple. More...
 

Typedefs

typedef int BsVConnHnd_T
 virtual connection handle type
 
typedef uint_t BsTid_T
 client transaction id type [0-255].
 
typedef uint_t BsMsgId_T
 client message id type [0-64k].
 
typedef uint_t BsMsgUid_T
 client message unique id
 

Detailed Description

BotSense package top-level, unifying header declarations.

LastChangedDate
2011-11-09 08:46:08 -0700 (Wed, 09 Nov 2011)
Rev
1506
Note
This file must be swig-able to generate a python extension module.
Author
Robin Knight (robin.nosp@m..kni.nosp@m.ght@r.nosp@m.oadn.nosp@m.arrow.nosp@m.s.co.nosp@m.m)

Definition in file BotSense.h.