dm: Add a demonstration/example driver
[platform/kernel/u-boot.git] / include / xyzModem.h
1 /*
2  *==========================================================================
3  *
4  *      xyzModem.h
5  *
6  *      RedBoot stream handler for xyzModem protocol
7  *
8  *==========================================================================
9  * SPDX-License-Identifier:     eCos-2.0
10  *==========================================================================
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  */
25
26 #ifndef _XYZMODEM_H_
27 #define _XYZMODEM_H_
28
29 #define xyzModem_xmodem 1
30 #define xyzModem_ymodem 2
31 /* Don't define this until the protocol support is in place */
32 /*#define xyzModem_zmodem 3 */
33
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
47 #ifdef REDBOOT
48 extern getc_io_funcs_t xyzModem_io;
49 #else
50 #define CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT
51 #define CYGACC_CALL_IF_SET_CONSOLE_COMM(x)
52
53 #define diag_vprintf vprintf
54 #define diag_printf printf
55 #define diag_vsprintf vsprintf
56
57 #define CYGACC_CALL_IF_DELAY_US(x) udelay(x)
58
59 typedef struct {
60     char *filename;
61     int   mode;
62     int   chan;
63 #ifdef CYGPKG_REDBOOT_NETWORKING
64     struct sockaddr_in *server;
65 #endif
66 } connection_info_t;
67
68 #endif
69
70
71 int   xyzModem_stream_open(connection_info_t *info, int *err);
72 void  xyzModem_stream_close(int *err);
73 void  xyzModem_stream_terminate(bool method, int (*getc)(void));
74 int   xyzModem_stream_read(char *buf, int size, int *err);
75 char *xyzModem_error(int err);
76
77 #endif /* _XYZMODEM_H_ */