blob: 0eddbbc78fd7f2d3aa82c35552460e8e49d1ccc1
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_ */ |
78 |