1 /* SPDX-License-Identifier: eCos-2.0 */ 2 /* 3 *========================================================================== 4 * 5 * xyzModem.h 6 * 7 * RedBoot stream handler for xyzModem protocol 8 * 9 *========================================================================== 10 *#####DESCRIPTIONBEGIN#### 11 * 12 * Author(s): gthomas 13 * Contributors: gthomas 14 * Date: 2000-07-14 15 * Purpose: 16 * Description: 17 * 18 * This code is part of RedBoot (tm). 19 * 20 *####DESCRIPTIONEND#### 21 * 22 *========================================================================== 23 */ 24 25 #ifndef _XYZMODEM_H_ 26 #define _XYZMODEM_H_ 27 28 #define xyzModem_xmodem 1 29 #define xyzModem_ymodem 2 30 /* Don't define this until the protocol support is in place */ 31 /*#define xyzModem_zmodem 3 */ 32 33 #define xyzModem_access -1 34 #define xyzModem_noZmodem -2 35 #define xyzModem_timeout -3 36 #define xyzModem_eof -4 37 #define xyzModem_cancel -5 38 #define xyzModem_frame -6 39 #define xyzModem_cksum -7 40 #define xyzModem_sequence -8 41 42 #define xyzModem_close 1 43 #define xyzModem_abort 2 44 45 46 #define CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT 47 #define CYGACC_CALL_IF_SET_CONSOLE_COMM(x) 48 49 #define diag_vprintf vprintf 50 #define diag_printf printf 51 #define diag_vsprintf vsprintf 52 53 #define CYGACC_CALL_IF_DELAY_US(x) udelay(x) 54 55 typedef struct { 56 char *filename; 57 int mode; 58 int chan; 59 } connection_info_t; 60 61 62 63 int xyzModem_stream_open(connection_info_t *info, int *err); 64 void xyzModem_stream_close(int *err); 65 void xyzModem_stream_terminate(bool method, int (*getc)(void)); 66 int xyzModem_stream_read(char *buf, int size, int *err); 67 char *xyzModem_error(int err); 68 69 #endif /* _XYZMODEM_H_ */ 70