Skip to content

spk121/libzmodem

Repository files navigation

================================================================

			      LIBZMODEM
	     A library that sends and receives via ZModem

Hi.  Mike Gran here.  This project is a library that I can link to a
program that will send and receive files from stdout/stdin using the
ZModem protocol.

This project is BETA.  It compiles to a library that can be
used to provide ZModem transfer.  The functionality is solid, and
it has the features I desire for it, but, the code is poorly organized.

The build system creates a library named libzmodem.a

The calling API for the library is described in the src/zmodem.h
header file.

Two sample applications are make using the library: mrz is a ZModem
receiver, and msz is a ZModem sender.

It derives from the lrzsz project, which is code for executables that
send and receive files via XModem, YModem, or ZModem.  Specifically,
this is Mike Gran's fork of jnavila's fork of Uwe Ohse's fork of Chuck
Forsberg's rzsz.

The home for libzmodem's code is https://github.com/spk121/libzmodem

If, for some reason, you want to contact Mike, try
<[email protected]>.

================================================================

				 TODO

2018/02/19

Dozens of vestigal options need to be eliminated.

There needs to be a better strategy to communicate failures.  All
failures should be error codes, not log information.

It needs to be threadsafe.

================================================================

			       HISTORY

jnavila's fork fixed up some problems with Hyperterm.

It lives at https://github.com/jnavila/lrzsz

---------------------------------------

uwe's original README begins below.  Beyond here, the "me" is uwe.

----------------------------------------

lrzsz is a X/Y/ZModem package built from the public-domain version of
Chuck Forsberg´s rzsz package. This package contains NO code from
later releases of rzsz which would preclude it from being released
under the GPL.  It has been heavily modified by me and others.

Please note that credit should be given to Chuck Forsberg (rzsz) and
Stephen Satchell/Satchell Evaluations (crc routines) for this
package. Any later modifications were minor and merely introduced to
increase performance, reliability or compatability.

There is a mailing list for lrzsz: <[email protected]>.  To
subscribe send a mail to <[email protected]>.

I prefer to get bug reports sent using the `lrzszbug' shell script
which you can find in the `src' subdirectory (this script is not
installed together with the programs because i don't expect many bug
reports). Nethertheless you can still send bug reports to
<[email protected]> as normal electronic mails. Bugs received at
this address may be forwarded to the mailing list.

Please read:
- INSTALL for installation instructions
- NEWS for a list of major changes between the releases
- ChangeLog for the list of minor changes.
- AUTHORS and THANKS to see whom to thank for this package.
- README.cvs for informations about CVS access to the lrzsz sources.
- README.tests for information about how to do a self test
- README.systems for a list of systems lrzsz has been compiled
  and passed a simple self test under.

  [Note from Mike Gran: I pulled out lots of code, so README.systems
  is invalid.]


In case you want to report a successful build:
	make success

  [Note from Mike Gran: I (mike) removed the 'make success' target,
  because I don't think it works anymore.]

or
	make fastcheck && \
	sh systype | mail [email protected]
"sh systype" alone shows what data this script sends.

  [Note from Mike Gran: I (mike) removed the systype script,
  which could be approimated by calling 'uname -a'.]


Uwe Ohse