blob: 4b667f7ba7dc7f99e7755365af9e02d47d70d524 [file] [log] [blame]
Wolfgang Denkcf48eb92006-04-16 10:51:58 +02001/*
2 *==========================================================================
3 *
4 * xyzModem.h
5 *
6 * RedBoot stream handler for xyzModem protocol
7 *
8 *==========================================================================
Wolfgang Denke85427f2013-07-08 12:11:35 +02009 * SPDX-License-Identifier: eCos-2.0
Wolfgang Denkcf48eb92006-04-16 10:51:58 +020010 *==========================================================================
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 */
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020025
26#ifndef _XYZMODEM_H_
27#define _XYZMODEM_H_
28
29#define xyzModem_xmodem 1
30#define xyzModem_ymodem 2
Wolfgang Denkcf48eb92006-04-16 10:51:58 +020031/* Don't define this until the protocol support is in place */
32/*#define xyzModem_zmodem 3 */
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020033
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
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020047#define CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT
48#define CYGACC_CALL_IF_SET_CONSOLE_COMM(x)
49
50#define diag_vprintf vprintf
51#define diag_printf printf
52#define diag_vsprintf vsprintf
53
54#define CYGACC_CALL_IF_DELAY_US(x) udelay(x)
55
56typedef struct {
57 char *filename;
58 int mode;
59 int chan;
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020060} connection_info_t;
61
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020062
63
Wolfgang Denkcf48eb92006-04-16 10:51:58 +020064int xyzModem_stream_open(connection_info_t *info, int *err);
65void xyzModem_stream_close(int *err);
66void xyzModem_stream_terminate(bool method, int (*getc)(void));
67int xyzModem_stream_read(char *buf, int size, int *err);
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020068char *xyzModem_error(int err);
69
Wolfgang Denkcf48eb92006-04-16 10:51:58 +020070#endif /* _XYZMODEM_H_ */