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