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