/* *========================================================================== * * xyzModem.h * * RedBoot stream handler for xyzModem protocol * *========================================================================== * SPDX-License-Identifier: eCos-2.0 *========================================================================== *#####DESCRIPTIONBEGIN#### * * Author(s): gthomas * Contributors: gthomas * Date: 2000-07-14 * Purpose: * Description: * * This code is part of RedBoot (tm). * *####DESCRIPTIONEND#### * *========================================================================== */ #ifndef _XYZMODEM_H_ #define _XYZMODEM_H_ #define xyzModem_xmodem 1 #define xyzModem_ymodem 2 /* Don't define this until the protocol support is in place */ /*#define xyzModem_zmodem 3 */ #define xyzModem_access -1 #define xyzModem_noZmodem -2 #define xyzModem_timeout -3 #define xyzModem_eof -4 #define xyzModem_cancel -5 #define xyzModem_frame -6 #define xyzModem_cksum -7 #define xyzModem_sequence -8 #define xyzModem_close 1 #define xyzModem_abort 2 #ifdef REDBOOT extern getc_io_funcs_t xyzModem_io; #else #define CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT #define CYGACC_CALL_IF_SET_CONSOLE_COMM(x) #define diag_vprintf vprintf #define diag_printf printf #define diag_vsprintf vsprintf #define CYGACC_CALL_IF_DELAY_US(x) udelay(x) typedef struct { char *filename; int mode; int chan; #ifdef CYGPKG_REDBOOT_NETWORKING struct sockaddr_in *server; #endif } connection_info_t; #endif int xyzModem_stream_open(connection_info_t *info, int *err); void xyzModem_stream_close(int *err); void xyzModem_stream_terminate(bool method, int (*getc)(void)); int xyzModem_stream_read(char *buf, int size, int *err); char *xyzModem_error(int err); #endif /* _XYZMODEM_H_ */