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