/*->h.ftp */



#define PXMODEM   0
#define PYMODEM   1
#define PYMODEMB  2
#define PZMODEM   3
#define PKERMIT   4
#define PSEALINK  5
#define PASCII    6
#define PCET      7
#define PNONE     8


#define PNOTHING  0
#define PSENT     1
#define PSHORT    2
#define PREADY    3
#define POPEN     4
#define PRECVD    5


extern char * ftpshortname[];
extern char * ftpstatus[];


extern int  ftp_ok;      /* flag used for cancel icon on ftp window */
extern int  ftprotocol;  /* number of current protocol              */
extern int  ftpactive;
extern int  ftp_cont;
extern int  ftpline;

extern int  tranboxopen;


extern int  ftponline(void);
extern void ftpflushinput(void);
extern void ftpflushoutput(void);
extern int  ftpgetbyte(int time);
extern int  ftpinputchars(void);
extern int  ftpoutputchars(void);
extern void ftpcanit(void);
extern int  ftpflow(void);
extern int  ftpoutbyte(int byte);


extern void tranboxicon(void);

extern void setpopftp(void);
extern void decodeftp(int m1,int m2,int m3,int m4);

extern void ftpdoautosend(void);
extern void kermitget(char * getcmd);
extern void kermitserver(void);

extern void ftpreceivep(int protocol);
extern void ftpsendp(int protocol);

extern void ftpreceive(void);
extern void ftpsend(void);

extern void sendfiles(int fp);
extern void receivefiles(int fp);
extern void skermitget(int fp);
extern void skermitserver(int fp);


/*->h.crctab */

extern unsigned short crctab[256];
extern long cr3tab[];

#define UPDC32(b, c) (cr3tab[((int)c ^ b) & 0xff] ^ ((c >> 8) & 0x00FFFFFF))

#define updcrc(cp, crc) ( crctab[( (crc >> 8) & 255 )] ^ (crc << 8) ^ cp)

#define finishcrc(crc)  (updcrc(0,updcrc(0,crc)) & 0xFFFF)

