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 57typedef struct { 58 char *filename; 59 int mode; 60 int chan; 61} connection_info_t; 62 63 64 65int xyzModem_stream_open(connection_info_t *info, int *err); 66void xyzModem_stream_close(int *err); 67void xyzModem_stream_terminate(bool method, int (*getc)(void)); 68int xyzModem_stream_read(char *buf, int size, int *err); 69char *xyzModem_error(int err); 70 71#endif /* _XYZMODEM_H_ */ 72