blob: 6fae63496105c2c58bd020437d63dc4f9e0d4ee4 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001/* SPDX-License-Identifier: eCos-2.0 */
Wolfgang Denkcf48eb92006-04-16 10:51:58 +02002/*
3 *==========================================================================
4 *
5 * xyzModem.h
6 *
7 * RedBoot stream handler for xyzModem protocol
8 *
9 *==========================================================================
Wolfgang Denkcf48eb92006-04-16 10:51:58 +020010 *#####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 */
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020024
25#ifndef _XYZMODEM_H_
26#define _XYZMODEM_H_
27
28#define xyzModem_xmodem 1
29#define xyzModem_ymodem 2
Wolfgang Denkcf48eb92006-04-16 10:51:58 +020030/* Don't define this until the protocol support is in place */
31/*#define xyzModem_zmodem 3 */
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020032
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
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020046#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
55typedef struct {
56 char *filename;
57 int mode;
58 int chan;
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020059} connection_info_t;
60
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020061
62
Wolfgang Denkcf48eb92006-04-16 10:51:58 +020063int xyzModem_stream_open(connection_info_t *info, int *err);
64void xyzModem_stream_close(int *err);
65void xyzModem_stream_terminate(bool method, int (*getc)(void));
66int xyzModem_stream_read(char *buf, int size, int *err);
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020067char *xyzModem_error(int err);
68
Wolfgang Denkcf48eb92006-04-16 10:51:58 +020069#endif /* _XYZMODEM_H_ */