xref: /openbmc/u-boot/include/xyzModem.h (revision 3ba98ed8)
1 /* SPDX-License-Identifier: eCos-2.0 */
2 /*
3  *==========================================================================
4  *
5  *      xyzModem.h
6  *
7  *      RedBoot stream handler for xyzModem protocol
8  *
9  *==========================================================================
10  *#####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  */
24 
25 #ifndef _XYZMODEM_H_
26 #define _XYZMODEM_H_
27 
28 #define xyzModem_xmodem 1
29 #define xyzModem_ymodem 2
30 /* Don't define this until the protocol support is in place */
31 /*#define xyzModem_zmodem 3 */
32 
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 
46 #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 
55 typedef struct {
56     char *filename;
57     int   mode;
58     int   chan;
59 } connection_info_t;
60 
61 
62 
63 int   xyzModem_stream_open(connection_info_t *info, int *err);
64 void  xyzModem_stream_close(int *err);
65 void  xyzModem_stream_terminate(bool method, int (*getc)(void));
66 int   xyzModem_stream_read(char *buf, int size, int *err);
67 char *xyzModem_error(int err);
68 
69 #endif /* _XYZMODEM_H_ */
70