/* see comment at the head of ax_mbx.c - Bdale */ #ifdef XOBBS /* Defines for the ax.25 mailbox facility */ #define true 1 #define false 0 /*message que keys*/ #define SENDKEY 200 #define RCVKEY 201 #define SCTLKEY 202 #define RCTLKEY 203 /*defines that control forwarder states */ #define NOFWD 0 #define SPAWNBBS 1 #define DOCONNECT 2 #define READXMIT 3 #define GETCON 4 #define CLEARCON 5 #define WAITING 6 #define NOCON 0 #define YESCON 1 #define WAIT 2 struct message{ long mtype; char mtext[1024]; }; /* defines for protocol type in mailbox session structure*/ #define AX25 1 #define NTRM 2 struct mboxsess{ /*mailbox session structure*/ int proto; /*is this a net/rom or ax25 session?*/ int pid; /*id of bbs process*/ int bytes; /*number of bytes for bbs to send at one time*/ int gotbytes; /*number of bytes we have in buffer*/ union cbaddr { struct ax25_cb *axbbscb; /*axp associated with this structure*/ struct nr4cb *axnrcb; /* cb associated with the structure*/ } cbadr; struct message rmsgbuf; /*receive message buffer for this structure*/ char call[7]; /*call of user*/ char *mtxtptr; /*buffer pointer for this structure*/ struct mboxsess *next; /*pointer to next session*/ }; #define NULLMBS (struct mboxsess *)0 #define NULLFWD (struct ax25_cb *)0 #define FWDTMP "/tmp/fwdtmp" extern int ax25mbox ; #else /* not XOBBS */ /* Defines for the ax.25 mailbox facility */ #define NUMMBX 10 /* max number of mailbox sessions */ #define MBXLINE 128 /* max length of line */ struct mbx { int state ; /* mailbox state */ #define MBX_CMD 1 /* in command mode */ #define MBX_SUBJ 2 /* waiting for a subject line */ #define MBX_DATA 3 /* collecting the message */ int type ; /* type of connection */ #define MBX_AX25 1 /* ax25 connection */ #define MBX_NETROM 2 /* net/rom transport connection */ char name[10] ; /* Name of remote station */ union { struct ax25_cb *ax25_cb ; /* ax.25 link control block */ struct nr4cb *nr4_cb ; /* net/rom link control block */ } cb ; char *to ; /* To-address in form user or user@host */ char *tofrom ; /* Optional */ /* Space here for others, currently not of */ /* interest to us. */ char stype ; /* BBS send command type (B,P,T, etc.) */ } ; #define NULLMBX (struct mbx *)0 extern struct mbx *mbox[NUMMBX] ; extern int ax25mbox ; #endif /* XOBBS */