[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
efax (simple fax program) v 0.3 available
[ Moderator: I posted this to comp.os.linux.announce and it
*seems* to have been posted instead of being mailed out. If
you get two copies please ignore one. Thanks... ]
I have uploaded efax version 0.3 beta to sunsite.unc.edu. This
is the second release of a simple program that lets you send and
receive faxes using a Class 2 fax modem. It is available at
~/pub/Linux/Incoming/efax03.tar.z. The changes from the previous
version are described in the README file that is appended below.
This is the README file for the 0.3 beta release of efax. efax
is a program to send and receive faxes using a Class 2 fax modem.
efax is a relatively small (700-line) ANSI C/POSIX program that
provides the data transport function for fax applications. A
simple shell script is included in this distribution to provide a
a way to create, send, receive, and print faxes.
Unlike FlexFax and NetFax, efax is not a network-based
client-server system. As one user put it, ``EFAX is a nice
simple program for single user systems.''
In addition to efax you need Ghostscript (I used version 2.5.2),
to create the fax image files and the PBMPlus utilities to
convert the received fax to a format that you can print.
The program was written & tested under Linux 0.99pl10, gcc 2.4.3
and libc 4.4.1. It also compiles under SunOS 4.1.1 with gcc
2.3.3, and should work with minor changes on any modern UNIX
system with a termios(3) serial device driver interface.
efax is distributed as a gzip'ed tar file, efax03.tar.z. It may
be obtained by anonymous FTP from sunsite.unc.edu in
/pub/Linux/Incoming or /pub/Linux/apps/comm.
Changes from version 0.2 to 0.3
- an argument of "-" to the -d option uses stdin/stdout as the
fax device. This allows efax to receive faxes with mgetty.
- the modem is no longer reset at the start of the session (using
ATZ). This avoids hanging up on calls that have already been
answered (e.g. by mgetty).
- the log file is now written to stderr. This allows stdout to
be used for the modem.
- DTR is now left high after it has been toggled to bring the
modem to command mode (if the &D2 setting is in effect). This
is required by Multitech modems.
- the +FMFR?;+FMDL?;+FREV? command was removed from the fax(1)
script since they (or the semicolon separator) are not
implemented by some modems.
- efax reports an error after a +FHNG: (n>0) error response from
- added an a[nswer] command to the fax(1) script to allow for
unattended reception of faxes
- minor changes (#ifdef'ed sun) to compile under SunOS
- increased top and bottom margins to 1 inch for text to fax
conversion and added test for empty last page
- a T.4 end-of-page (RTC) flag is now appended to received fax
images since some modems do not generate it.
The efax distribution should contain the following files:
README - this file
COPYING - the GNU public license
efax.c - the source code
efax.1 - a man page for efax(1)
fax - a (Bourne) shell script to create, send, receive and
print faxes. Requires Ghostscript and PBMPlus
fax.1 - man page for fax(1)
You'll need an ANSI C compiler, such as gcc, to compile the code.
With gcc, do:
gcc -O efax.c -o efax
Modify the variables at the beginning of the `fax' shell script
according to the comments. Copy the executable, script, and man
pages to appropriate directories (probably /usr/bin and
/usr/man/man1). [On SunOS you may also need to get getopt.h
Please send bug reports or suggestions (including copies of the
session log, type of modem and operating system) to edc@xxxxxxxxxx