S.F.T. XMODEM Library  1.0
S.F.T. XMODEM library

Copyright (c) 2012 by S.F.T. Inc. - All rights reserved

The source files include DOXYGEN SUPPORT to properly document the library Please excuse the additional comments necessary to make this work. Instead, build the doxygen output and view the documentation, as well as the code itself WITHOUT all of the doxygen markup comments.

This library was designed to work with POSIX-compliant operating systems such as Linux, FreeBSD, and OSX, and also on Arduino microcontrollers. The intent was to provide an identical code base for both ends of the XMODEM transfer, compilable as either C or C++ code for maximum flexibility.

Normally you will only need to use one of these two functions:

XSend() - send a file via XMODEM
XReceive() - receive a file via XMODEM

The rest of the documentation was provided to help you debug any problems, or even to write your own library (as appropriate).

LICENSE

This software is licensed under either the LGPLv2 or a BSD-like license. For more information, see
http://opensource.org/licenses/BSD-2-Clause
http://www.gnu.org/licenses/lgpl-2.1.html
and the above copyright notice.

In short, you may use this software anyway you like, provided that you do not hold S.F.T. Inc. responsible for consequential or inconsequential damages resulting from use, modification, abuse, or anything else done with this software, and you include the appropriate license (either LGPLv2 or a BSD-like license) and comply with the requirements of said license.
So, if you use a BSD-like license, you can copy the license template at the abovementioned URL and sub in the copyright notice as shown above. Or, you may use an LGPLv2 license, and then provide source files with a re-distributed or derived work (including a complete re-write with this library as a template). A link back to the original source, of course, would be appreciated but is not required.