1 /********************************************************** 2 * protocol definitions 3 * $Id: mailer.h,v 1.12 2005/05/16 11:17:30 mitry Exp $ 4 **********************************************************/ 5 #ifndef __MAILER_H__ 6 #define __MAILER_H__ 7 #include "qcconst.h" 8 9 #define P_NONE 0x0000 /* 0 0000 0000 */ 10 #define P_NCP 0x0001 /* 0 0000 0001 */ 11 #ifdef WITH_BINKP 12 #define P_BINKP 0x0001 /* 0 0000 0001 */ 13 #endif 14 #define P_ZMODEM 0x0002 /* 0 0000 0010 */ 15 #define P_ZEDZAP 0x0004 /* 0 0000 0100 */ 16 #define P_DIRZAP 0x0008 /* 0 0000 1000 */ 17 #define P_HYDRA 0x0010 /* 0 0001 0000 */ 18 #define P_JANUS 0x0020 /* 0 0010 0000 */ 19 #ifdef HYDRA8K16K 20 #define P_HYDRA4 0x0040 /* 0 0100 0000 */ 21 #define P_HYDRA8 0x0080 /* 0 1000 0000 */ 22 #define P_HYDRA16 0x0100 /* 1 0000 0000 */ 23 #endif 24 #define P_MASK 0x01FF /* 1 1111 1111 */ 25 26 27 #define S_OK 0 28 #define S_NODIAL 1 29 #define S_REDIAL 2 30 #define S_BUSY 3 31 #define S_FAILURE 4 32 #define S_MASK 7 33 #define S_HOLDR 8 34 #define S_HOLDX 16 35 #define S_HOLDA 32 36 #define S_ADDTRY 64 37 #define S_ANYHOLD (S_HOLDR|S_HOLDX|S_HOLDA) 38 39 #define FOP_OK 0 40 #define FOP_CONT 1 41 #define FOP_SKIP 2 42 #define FOP_ERROR 3 43 #define FOP_SUSPEND 4 44 45 #define SESSION_AUTO 0 46 #define SESSION_EMSI 1 47 #define SESSION_BINKP 2 48 49 /* session mode flags */ 50 #define SM_INBOUND 0 51 #define SM_OUTBOUND 1 52 53 /* force_call flags */ 54 #define FC_NORMAL 0 55 #define FC_IMMED 1 56 #define FC_ANY 2 57 58 /* FREQs flags */ 59 #define FR_NOTHANDLED (-1) 60 #define FR_NOTAVAILABLE 0 61 #define FR_AVAILABLE 1 62 63 #define RX_SKIP 1 64 #define RX_SUSPEND 2 65 66 #define HUP_NONE 0 67 #define HUP_LINE 1 68 #define HUP_OPERATOR 2 69 #define HUP_SESLIMIT 3 70 #define HUP_CPS 4 71 72 #define M_STAT \ 73 ( tty_gothup == HUP_NONE ? "ok" : \ 74 ( tty_gothup == HUP_LINE ? "carrier lost" : \ 75 ( tty_gothup == HUP_OPERATOR ? "hangup" : \ 76 ( tty_gothup == HUP_SESLIMIT ? "session limit" : \ 77 ( tty_gothup == HUP_CPS ? "low cps" : "unknown" ))))) 78 79 #define TIM_CHAT 90 80 81 #define MSG_NEVER "Never" 82 83 84 /* ls_z*.c */ 85 int zmodem_receive(char *, int); 86 int zmodem_send(slist_t *, slist_t *); 87 int zmodem_sendfile(char *, char *, unsigned long *, unsigned long *); 88 int zmodem_sendinit(int); 89 int zmodem_senddone(void); 90 91 92 /* emsi.c */ 93 void emsi_makedat(ftnaddr_t *, unsigned long, unsigned long, 94 int, char *, falist_t *, int); 95 int emsi_init(int); 96 int emsi_send(void); 97 int emsi_recv(int, ninfo_t *); 98 99 100 /* protfm.c */ 101 int rxopen(char *, time_t, off_t, FILE **); 102 int rxclose(FILE **, int); 103 FILE *txopen(char *, char *); 104 int txclose(FILE **, int); 105 void log_rinfo(ninfo_t *); 106 void check_cps(void); 107 108 extern FILE *txfd; 109 extern FILE *rxfd; 110 extern volatile long txpos; 111 extern volatile long rxpos; 112 extern word txblklen; 113 extern word rxblklen; 114 extern byte *txbuf; 115 extern byte *rxbuf; 116 extern unsigned effbaud; 117 extern byte *rxbufptr; 118 extern int txstate; 119 extern int rxstate; 120 extern byte *rxbufmax; 121 extern long txstart; 122 extern word txmaxblklen; 123 extern word timeout; 124 extern byte txlastc; 125 /* for chat */ 126 void chatinit(int); 127 void c_devrecv(unsigned char *, unsigned); 128 void getevt(void); 129 130 131 /* session.c */ 132 extern int (*receive_callback)(char *); 133 int receivecb(char *); 134 void makeflist(flist_t **, ftnaddr_t *, int); 135 void flkill(flist_t **, int); 136 void flexecute(flist_t *); 137 void addflist(flist_t **, char *, char *, char, off_t, FILE *, int); 138 void simulate_send(ftnaddr_t *); 139 int session(int, int, ftnaddr_t *, int); 140 141 142 /* freq.c */ 143 int freq_ifextrp(slist_t *); 144 int freq_recv(char *); 145 int is_freq_available(void); /* Can we handle FREQs now/ever */ 146 147 148 /* call.c */ 149 int do_call(ftnaddr_t *, char *, char *); 150 int force_call(ftnaddr_t *, int, int); 151 152 153 /* perl.c */ 154 #ifdef WITH_PERL 155 #define IFPerl(x) x 156 extern unsigned short perl_flg; 157 int perl_init(const char *, int); 158 void perl_done(int); 159 void perl_on_reload(int); 160 void perl_on_std(int); 161 void perl_on_log(char *); 162 int perl_on_call(const ftnaddr_t *, const char *, const char *); 163 int perl_on_session(char *); 164 void perl_end_session(long, int); 165 int perl_on_recv(void); 166 char *perl_end_recv(int); 167 char *perl_on_send(const char *); 168 void perl_end_send(int); 169 #else 170 #define IFPerl(x) 171 #endif 172 173 #endif 174