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 #include <linux/delay.h> 29 30 #define xyzModem_xmodem 1 31 #define xyzModem_ymodem 2 32 /* Don't define this until the protocol support is in place */ 33 /*#define xyzModem_zmodem 3 */ 34 35 #define xyzModem_access -1 36 #define xyzModem_noZmodem -2 37 #define xyzModem_timeout -3 38 #define xyzModem_eof -4 39 #define xyzModem_cancel -5 40 #define xyzModem_frame -6 41 #define xyzModem_cksum -7 42 #define xyzModem_sequence -8 43 44 #define xyzModem_close 1 45 #define xyzModem_abort 2 46 47 48 #define CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT 49 #define CYGACC_CALL_IF_SET_CONSOLE_COMM(x) 50 51 #define diag_vprintf vprintf 52 #define diag_printf printf 53 #define diag_vsprintf vsprintf 54 55 #define CYGACC_CALL_IF_DELAY_US(x) udelay(x) 56 57 typedef struct { 58 char *filename; 59 int mode; 60 int chan; 61 } connection_info_t; 62 63 64 65 int xyzModem_stream_open(connection_info_t *info, int *err); 66 void xyzModem_stream_close(int *err); 67 void xyzModem_stream_terminate(bool method, int (*getc)(void)); 68 int xyzModem_stream_read(char *buf, int size, int *err); 69 char *xyzModem_error(int err); 70 71 #endif /* _XYZMODEM_H_ */ 72