4 * Copyright 2004 Develer S.r.l. (http://www.develer.com/)
5 * Copyright 1999, 2001 Bernardo Innocenti <bernie@develer.com>
6 * This file is part of DevLib - See README.devlib for information.
8 * \brief X-Modem serial transmission protocol (interface)
11 * \author Bernardo Innocenti <bernie@develer.com>
12 * \author Francesco Sacchi <batt@develer.com>
17 *#* Revision 1.7 2007/06/14 14:42:28 batt
18 *#* Move kfile to kern/ directory; remove duplicate file.h.
20 *#* Revision 1.6 2007/06/07 09:10:44 batt
23 *#* Revision 1.5 2006/07/19 12:56:28 bernie
24 *#* Convert to new Doxygen style.
26 *#* Revision 1.4 2005/11/04 16:20:02 bernie
27 *#* Fix reference to README.devlib in header.
29 *#* Revision 1.3 2004/08/25 14:12:09 rasky
30 *#* Aggiornato il comment block dei log RCS
32 *#* Revision 1.2 2004/08/15 05:31:46 bernie
33 *#* Add an #error to spread some FUD about the quality of this module;
34 *#* Add a few TODOs from Rasky's review;
35 *#* Update to the new drv/ser.c API;
36 *#* Move FlushSerial() to drv/ser.c and generalize.
38 *#* Revision 1.1 2004/08/11 19:54:22 bernie
39 *#* Import XModem protocol into DevLib.
42 #ifndef MWARE_XMODEM_H
43 #define MWARE_XMODEM_H
44 #include <cfg/compiler.h>
45 #include <kern/kfile.h>
48 * Called to know if we want to abort data tranfer.
49 * Redefine to whatever you need.
52 #ifndef XMODEM_CHECK_ABORT
53 #define XMODEM_CHECK_ABORT (false)
59 * Called to printf progress messages.
60 * Default to kprintf debug, redefine to whatever you need.
63 #ifndef XMODEM_PROGRESS
64 #define XMODEM_PROGRESS(msg, ...) kprintf(msg, ## __VA_ARGS__)
71 bool xmodem_recv(struct Serial *port, KFile *fd);
72 bool xmodem_send(struct Serial *port, KFile *fd);
74 #endif /* MWARE_XMODEM_H */