thor: Add API for thor status notifications
[platform/kernel/u-boot.git] / include / xyzModem.h
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 #include <linux/delay.h>
29
30 #define xyzModem_xmodem 1
31 #define xyzModem_ymodem 2
32 /* Don't define this until the protocol support is in place */
33 /*#define xyzModem_zmodem 3 */
34
35 #define xyzModem_access   -1
36 #define xyzModem_noZmodem -2
37 #define xyzModem_timeout  -3
38 #define xyzModem_eof      -4
39 #define xyzModem_cancel   -5
40 #define xyzModem_frame    -6
41 #define xyzModem_cksum    -7
42 #define xyzModem_sequence -8
43
44 #define xyzModem_close 1
45 #define xyzModem_abort 2
46
47
48 #define CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT
49 #define CYGACC_CALL_IF_SET_CONSOLE_COMM(x)
50
51 #define diag_vprintf vprintf
52 #define diag_printf printf
53 #define diag_vsprintf vsprintf
54
55 #define CYGACC_CALL_IF_DELAY_US(x) udelay(x)
56
57 typedef struct {
58     char *filename;
59     int   mode;
60     int   chan;
61 } connection_info_t;
62
63
64
65 int   xyzModem_stream_open(connection_info_t *info, int *err);
66 void  xyzModem_stream_close(int *err);
67 void  xyzModem_stream_terminate(bool method, int (*getc)(void));
68 int   xyzModem_stream_read(char *buf, int size, int *err);
69 char *xyzModem_error(int err);
70
71 #endif /* _XYZMODEM_H_ */