1 /* Ward Christensen / CP/M parameters - Don't change these! */ 2 /* XMODEM parameters */ 3 #define BLOCK_SIZE 128 /* size of transmit blocks */ 4 #define XLINE_SIZE 132 /* size of full xmodem line*/ 5 #define OFFSET 3 6 7 typedef unsigned char byte; 8 9 typedef struct xminfo { 10 int filefd; 11 int portfd; 12 char *fname; 13 byte linebuf[XLINE_SIZE]; 14 int blocknum; 15 } XM; 16 17 int xmodem_sendfile(char *filename, int outfd); 18 byte xmodem_getbyte(XM *xfer); 19 void xmodem_sendbyte(XM *xfer, byte outbyte); 20 void xmodem_sendline(XM *xfer); 21 int xmodem_checksum(XM *xfer); 22 int file_readline(XM *xfer); 23 int xmodem_getack(XM *xfer, byte outbyte); 24 void xmodem_timeout(void); 25