home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 3 Comm
/
03-Comm.zip
/
fax067.zip
/
fsend.doc
< prev
next >
Wrap
Text File
|
1997-04-21
|
50KB
|
1,101 lines
Fsend Version x.yy
Reference Manual
Created 1992 - 1997 by Dr. Harald Pollack & Bernhard Seidl
-------------------------------------------------------------------------------
ABBREVIATIONS USED IN THIS DOCUMENTATION
-------------------------------------------------------------------------------
DTE . . . . . . . . . . Data Terminal Equipment, your PC
DCE . . . . . . . . . . Data Communication Equipment, your MODEM
CCITT/ITU T.4 . . . . . International standard for coding fax data.
CCITT/ITU T.30 . . . . International standard for transmitting fax over
a public switched telephone network.
ANSI/EIA/TIA-578-1990 . Asynchronous Facsimile DCE Control Standard
Service Class I (the common used class 1).
ANSI/TIA/EIA-592-1993 . Asynchronous Facsimile DCE Control Standard
Service Class II (the real class 2.0).
-------------------------------------------------------------------------------
WARRANTY
-------------------------------------------------------------------------------
There is no warranty on this program. You can use it for your own risk.
The program should work the best way it can. If you detect some
malefunction or bugs, please report it with the correspondent FSEND.DEB
log file to the autor. Without the log file it is almost inpossible to
find and fix a bug. Common bugs will be corrected if they are of vital
interrest to the program. Wishes for some extentions (but not printing
and viewing) and hints for making things better are welcome.
-------------------------------------------------------------------------------
UPGRADING TO A NEW VERSION
-------------------------------------------------------------------------------
New versions of Fsend are always packed in LZH type archives. It is
recommended to replace all EXE and DLL files and not to use parts of
older version (especially DLL files). New versions of Fsend often use
new or modified configuration entries and commandline options. Please
read all available documentation carefully before using a new version.
-------------------------------------------------------------------------------
THE CONFIGURATION FILE
-------------------------------------------------------------------------------
The configuration file keeps all information required. FSEND.CFG needs
to be modified to suit your system. Please have a look at the sample
configuration file included in the Fsend package. In the following
section all keywords and parameters are listed and described.
NOLOGONBAD
If Fsend is used in conjunction with third party environment (e.g.
FaxWorks*, see also FAXLOG and FAXIDX keywords) and this keyword
is used, no log entry will be generated if there occured an error
while receiving or no fax session was established. Also see '-#'
command line parameter.
[TASK <n>]
Starts a section within the configuration file which only effects
the selected task. To end a section you can either use another
[TASK <n>] keyword which would start another section or use the
keyword [CONNON], described below.
[COMMON]
All keywords after this statement belong to all tasks.
CONFIGEND
Fsend will stop working off the configuration file and everything
following this keyword will be ignored.
KEYFILE <file name>
The name of a key file which will be used in future versions for
registration details.
LOGBINKLEYSTYLE
Using this keyword Fsend will generate BinkleyTerm like log entries.
USROBOTICS
Special keyword to indicate that a USRobotics modem is used. Must
be set to allow some workarounds for nonstandardized actions!
OLDDTR
Fsend uses the methode of 'DTR-drop' (switching modemline DTR off
and on) to reset the modem and to force a on-hook condition. This
switching might be done in two ways (different calls to DosDevIOCtl).
NOHEADERLINE
Default a header line is created on the top of each fax page
containing date, time and some other informations . To disable
the creation of that line you have to use 'NOHEADERLINE' keyword.
NOFOOTERLINE
Default a footer line is created on the bottom of each fax page
containing the name of recepient (also see '-d' command line parameter)
and the dialed fax number. To disable the creation of that line you
have to use 'NOFOOTERLINE' keyword.
NOGARBAGE
Some older fax modems echo the fax data sent to DCE back to DTE. To
suppress the logging of all this 'garbage', use this keyword.
NOEOM
This keyword disables the standardized behavior of Fsend.
Fax machines, some class 2 and 2.0 fax modem and a minority of class 1
fax receive software will treat this ITU-T.30 command in a correct
manner, but the majority of fax modem and software can not handle this
command and may malefunction or even hang. Alternativly, the '-noeom'
command line parameter can be used.
TEXTCOLOR <colorvalue>
Select color of characters on Fsend status screen:
0 . . . BLACK
1 . . . BLUE
2 . . . GREEN
3 . . . CYAN
4 . . . RED
5 . . . MAGENTA
6 . . . BROWN
7 . . . LIGHTGRAY
8 . . . DARKGRAY
9 . . . LIGHTBLUE
10 . . LIGHTGREEN
11 . . LIGHTCYAN
12 . . LIGHTRED
13 . . LIGHTMAGENTA
14 . . YELLOW
15 . . WHITE
TEXTBACKGROUNDCOLOR <colorvalue>
Select color of background on Fsend status screen.
FRAMECOLOR <colorvalue>
Select color of the frame on Fsend status screen.
TEXTEXTENSION <file extension>
Fsend uses the extension of a file to determine the method for
conversation. Default Fsend assumes a file has Tiff format. But
there are some exceptions. Bitmap files will be treated correctly
if '.BMP' extension is used. Plane ASCII text files also will be
treated correctly if '.TXT' extention is used. To determine more
extentions for text files 'TEXTEXTENSION' can be used.
SENDBUFFER <buffer size>
Default a buffer of 1024 bytes is used to transmit portions of fax
data from DTE to DCE. This buffer is used only partially. In worst
case half of the buffer is filled with data. To optimize transmitting,
default 8 buffers are used. The buffer size can be determined through
'SENDBUFFER' keyword. 64 to 4096 bytes are valid buffer sizes.
Note: The number of buffers is adjusted automatically to have a
minimum of 4 buffer or 8192 bytes overall size.
Attention: The default values (8 x 1024 bytes) yields in best
performance and less need of resources. Increasing the size may
result misbehavior, especially if a rather slow bit rate are used
at fax negotiation! Buffer size may be decreased if your PC has
excellent IO-performance (less IO waitstates from mainboard design)
which yields in less needs for system resources. Do not change the
buffersize, if using class 1!
RESET <modem command>
The first action after start up of Fsend is to set the baud rate you
have determined using 'DATABAUDRATE' keyword. The modem command
defined with 'RESET' will be sent to DCE after setting the baud rate.
Attention: At least 'AT' is required for that the modem to detect the
change of baud rate! But it is recommended to use a modem command
which resets the modem (e.g. 'ATZ').
DIAL <dial command>
Default, 'ATD' is used. If an other dial command is required (e.g.
'ATD0W') 'DIAL' keyword can be used.
INIT <modem command>
Default no init commands are used by Fsend. Read the sample
configuration file for fax service class depending additional
required or useful commands. Do not use any resetting command
like 'ATZ' or 'AT&F'!
FAXCLASS <1 or 2 or 2.0>
Select a fax class, your modem is able to handle. Fsend supports
fax calss 1, class 2 and class 2.0.
Note: Only class 1 and class 2.0 are standardized! There is no
general valid standard for class 2.
CLEANUP <modem command>
Recommanded is at least 'AT', but you can use any modem command.
LOCALPHONE <phone number>
Your voice phone number. For informational purposes only.
The phone number will be shown in cover page.
LOCALNAME <your name>
Will also only be used for informational purposes on cover page.
LOCALID <fax number>
This value is used to generate the TSI frame. Only use '+', ' ' and
'0' - '9' characters (as defined in ITU-T.30). All other alphanumerical
information is not standardized (and therefor discarded).
Attention: This parameter is mandatory, Fsend is stopped if not
defined!
STATIONID <your company or elsewhat>
This information is only transmitted, if faxmodem is able to handle
NSF (NonStandardFacility) frames. Usualy, class 1 modems can do it.
FAXPATH <path>
This entry is MANDATORY!
Defines the path to a directory where fax files are situated and
ready to send (e.g. 'X:\FAX\'). Also see '-#' command line parameter.
FAXPATH is also used to form a fully quallyfied path to FAXLOG and
FAXIDX.
Additional parameters as used for FREC (like SUB and PWD) are ignored.
FAXLOG <file name>
Filename to FAX.LOG and only neccessary, if other than
'FAX.LOG'. Received faxes from FREC will be joined to FAX.LOG.
Each well received fax (hangup code 0) is flagged as 'Rcvd'. If fax is
received in (partial) error or even no session was established at all,
entry in FAXLOG is flagged as 'BadRcv'. See also keyword NOLOGONBAD.
Also see '-#' and '-FaxLog' command line parameter.
FAXIDX <file name>
Filename to FAX.IDX and only neccessary, if other than
'FAX.IDX'. Also see '-#' command line parameter.
FAXDEBUG <[+]file name>
This is the name of the log and debug log file of Fsend. Nearly all
activities are stored in this file. If a '+' precedes the path,
append mode is used: one log is chained to the next. Select NUL as
filename to disable logging.
The logfile contains a lot of informations in case of errors or
situations where help is needed. Bugreports to the author are only
sensful if this logfile is part of the report.
FAXBAUDRATE <DTE-DCE bit rate>
Most modem require a fixed speed of 19200 bps for phase C data
transmission in class 2. Also class 1 defines a standard DCE-DTE
bitrate of 19200 bps. Only class 2.0 is capable of handling bitrates
higher than 19200 bps.
DATABAUDRATE <DTE-DCE bitrate>
Bitrate for initialisation of modem. Some older modem, especially those
which are not capable of high speed data communication, do require a
baudrate of 2400 bps.
DIALWAIT <seconds>
Time to wait between two dial tries.
DIALRETRY <count>
Number of dial tries. Default is '0'. That means after an unsuccessful
call, fsend will terminate. If 'DIALRETRY' is defined, Fsend will try
to establish a connection for the determined number of times until
terminating.
COVERPAGE <YES or NO>
If set to YES a cover page containing several informations (e.g. your
name, voice and fax phone number, name and fax number of the receiver,
a short comment and so on) will be created as first fax page. Also see
'-d' and '-m' command line parameters.
COVERGRAPHIC <Bitmap file name>
The named bitmap is placed in front of the cover page. Only black and
white bitmaps (bitcount is 1 and planes is 1) can be used. Bitmaps
smaller than a faxpage (1728 pixels) are centered, larger bitmpas are
right truncated. If a covergraphic is defined, Fsend automatically
uses fine resolution for the coverpage. The resolution of following
pages depends on the filetyp and the usage of NOEOM (or '-NoEOM'):
Pages produced from plain text are of normal resolution (204 x 98 dpi),
bitmaps from a BMP are of fine resolution (204 x 196 dpi) and fax pages
based on TIF are from a resolution as neer as the original (normally
fine resolution). If 'NOEOM' is enabled, all pages follow the
resolution of the coverpage.
COMPORT <serial port>
This keyword is mandatory. Even if Fsend is called using a port handle
(from Frec) this keyword must exist! The name of the device is used to
create a unique identifier for internal use!
INITFIFO
If a hardware fifo (UART 16550) is detected by COM-device driver, the
fifo is initiallized to Rx=8 and Tx=16.
CAPABILITIES <vr,br,wd,ln,df,ec,bf,st[,jp]>
Default is 1,3,0,2,0,0,0,0,0 which means: high resolution, maximal
9600 bps in V.29 modulation, 8 inches paperwidth, endless paperlength,
1-D Huffman coded data, no ECM, no BFT and 0 ms wait between scanlines.
With these values, successful transmission to each receiving station is
possible. If the receiver is not capable of any of these values, Fsend
will adjust to such values, the receiver can (and must) handle.
vr (vertical resolution):
00 . . . normal 204x98 dpi (R8 x 3.85/mm),
01 . . . fine 204x196 dpi (R8 x 7.7/mm),
02 . . . high 204x392 dpi (R8 x 15.4/mm),
04 . . . extra 408x392 dpi (R16 x 15.4/mm),
08 . . . 200x100 dpi,
10 . . . 200x200 dpi,
20 . . . 200x400 dpi,
40 . . . 300x300 dpi,
80 . . . 400x400 dpi (not defined in T.32)
All values for 'vr' are in hexadecimal notation!
Not all resolutions are supported!
br (bit rate):
0 . . . 2400 bps
1 . . . 4800 bps
2 . . . 7200 bps
3 . . . 9600 bps
4 . . . 12000 bps
5 . . . 14400 bps
wd (page width):
R8 R16 200 300 400
d/mm d/mm dpi dpi dpi
0 . . . 1728 3456 1728 2592 3456 (A4 width)
1 . . . 2048 4096 2048 (B4 width)
2 . . . 2432 4864 2432 (A3 width)
3 . . . 1216 2432 (A5 width)
4 . . . 864 1728 (A6 width)
Not all resolutions are supported!
ln (page length):
0 . . . A4 length, 297 mm (not supported)
1 . . . B4 length, 364 mm (not supported)
2 . . . Unlimited length
df (compression scheme):
0 . . . 1-D Modified Huffman (ITU T.4),
1 . . . 2-D Modified read (ITU T.4),
2 . . . 2-D Uncompressed mode (ITU T.4), (not supported)
3 . . . 2-D Modified modified read (ITU T.6)
ec (error correction):
0 . . . do not use ECM
1 . . . Enable Annex A/T.30, ECM (only supported in class 1)
2 . . . Enable Annex C/T.30, half duplex (not supported)
3 . . . Enable Annex C/T.30, full duplex (not supported)
bf (binary file):
00 . . Disable file transfer modes,
01 . . Select enable BFT (ITU T.434), (not supported)
02 . . Select document transfer mode, (not supported)
04 . . Select edifact mode, (not supported)
08 . . Select basic transfer mode, (not supported)
10 . . Select character mode Annex D/T.4, (not supported)
20 . . Selcet mixed mode Annex E/T.4, (not supported)
40 . . Select processable mode (ITU T.505) (not supported)
All values for 'bf' are in hexadecimal notation !!!
st (time/scanline):
vr = 0 vr > 0
0 . . . 0 ms 0 ms
1 . . . 5 ms 5 ms
2 . . . 10 ms 5 ms
3 . . . 10 ms 10 ms
4 . . . 20 ms 10 ms
5 . . . 20 ms 20 ms
6 . . . 40 ms 20 ms
7 . . . 40 ms 40 ms
jp (JPEG coding):
00 . . Disable JPEG coding,
01 . . Enable JPEG coding (ITU T.81), (not supported)
02 . . Full color mode, (not supported)
04 . . Enable preferred Huffman tables, (not supported)
08 . . 12 bits/pel/component, (not supported)
10 . . No subsampling (1:1:1), (not supported)
20 . . Custom illuminant, (not supported)
40 . . Custom gamut range (not supported)
All values for 'jp' are in hexadecimal notation !!!
NOECMDUMMY
This keyword suppresses the generation of a (first) dummy HDLC frame.
This dummy frame is sent to receiver if (a least) the first HDLC frame
is twice rejected. The reason why that is so still is unknown, but it
seems, that some fax modem does not send a frame limiting character
(HDLC-flag) in front of first frame.
Obviously, not all fax machine accept such a dummy frame, so you must
disable it with this keyword.
NEXTPAGE <text>
If the footer line feature is not disabled, Fsend will create an
information at the bottom of each line saying if there is an other
page following the current one or if it was the last. The default
text says "NEXT PAGE FOLLOWS" but it might be exchanged by any other
text using 'NEXTPAGE'.
LASTPAGE <text>
Same as 'NEXTPAGE' but this text will be created if the current page
was the last one. The default text says "END OF FAX PROCEDURE".
DEBUGIDLEPRIORITY <value> or DEBUGREGULARPRIORITY <value>
These keywords, which are mutual exclusive, define the priority (0-31)
for the task (thread) which writes the data to FAXDEBUG file. Default
is IDLEPRIORITY 30. Change this setting only, if you are absolutly sure
knowing what you do! Lower priority may yield in a endless blocking
debug_thread! No data will be written to FAXDEBUG and FSEND may become
'uncloseable'. On very slow or high stressed machines, you can
try REGULARPRIORITY 0, if IDLEPRIORITY blocks writing to FAXDEBUG.
LOADIDLEPRIORITY <value> or LOADREGULARPRIORITY <value>
These keywords, which are mutual exclusive, define the priority (0-31)
for the task (thread) which reads in text or bitmaps and converts it
to a fax pixel image while fax date is transmitted. Default is
IDLEPRIORITY 31. Lower priority may slow down reading, yielding in
no correct faxtransmission! LOADPRIORITY must be higher than
DEBUGPRIORITY. On slow or high stressed machines, try
REGULARPRIORITY 1. You can disable this priority switching by using
the '-fastload' commandline switch (which is in fact the same as
REGULARPRIORITY 0).
LINESPACE <n>
Same as ~LINE= in a text file but global. The generation of HEADER and
FOOTER is not affected of this parameter. Default is '0' which means
leading is 20% of font height.
LOADFONT <x:\path\faxfont.FFF>
You can load a prebuild (with FONTEDIT.EXE, supplied with the package)
fax font for using in conversion of text files. Each 'handbuild' font
has a font name (defined by you when saving the fontdata in FONTEDIT)
which is a key to this font. This is a well tested, but quick and dirty
feature of FSEND. Use it right or forget it. An other possibility, to
construct fonts, is FAXVIEW, see also FAXVIEW.DOC!
TEXTFONT <fontname>
Default the font '16x16_standard', which is hardcoded in FSEND, is
used to generate pixelimage from text files. With this keyword, you
can define an alternate, but formerly preloaded with LOADFONT, fax
font. This font is used if no '~FONT=<fontname>' directive is placed
in a text file and in the informational part of COVERPAGE.
Note: fontname is the NAME of the font (as you define when saving
font data in FONTEDIT) and is NOT the name of the fontfile used in
LOADFONT!
Inline directives, which MUST start at the beginning of a new line,
for text files:
~FONT=<fontname>
Select a preloaded (LOADFONT) fax font. Use here the NAME
of the font you have given when saving fontdata in FONTEDIT
and not the name of the fontfile! At the start of each new
text file, 'fontname' is resetted to TEXTFONT.
~IMAGE=<filename.BMP>
Defines a black and white bitmap to be inserted at that
position into the pixel image of the text file. Bitmaps
smaller than the fax page, will be centered. Larger bitmaps
will be right truncated. Fax pages from text files will be
generated in normal resolution (204 x 98 dpi). Therefor,
the bitmap (which is normaly in a symetrically resolution)
is vertically reduced in resolution (not shrinked). Two
consecutiv pixel lines are 'ored' together to form the new
pixelline. In further versions of Fsend, resolution of text
pages may be defineable.
~LEFT=<mm>
Default 8 mm border on left side of page is used. You can
define any other suitable value. Once altered, left margin
is constant for the whole fax text document and is affected
only by a new ~LEFT statement.
~RIGHT=<mm>
Default 8 mm border on right side of page is used. You can
define any other suitable value. Once altered, right margin
is constant for the whole fax text document and is affected
only by a new ~RIGHT statement.
~LINE=<mm>
The default value of '0' yields in a interline spacing of
aproximately 20 % of fonthight. You can chose any value
between 0 and 270. The special value -1 disables interline
spacing and is so preferable when blockgraphic should be
converted. See also LINESPACE above.
INFOFONT <font name>
Default the font '8x8_standard', which is hardcoded in FSEND, is used
to generate pixelimage for HEADER, FOOTER, NEXTPAGE and LASTPAGE.
With this keyword, you can define an alternate, but formerly preloaded
with LOADFONT, faxfont.
Attention: The hardcoded font has some special characters in it, if
building a new font, DO NOT alter this characters from 8x8_standard.
Note: font name is the name of the font (as you define when saving
fontdata in FONTEDIT) and is not the name of the fontfile used in
LOADFONT!
LOGLEVEL <n>
Writing to log file (also see 'FAXDEBUG' keyword) depends on this
value (0 to 5):
0 . . do NOT write to FAXDEBUG (is equal to 'FAXDEBUG NUL')
1 . . ERROR only
2 . . ERROR + SEND + RECEIVE only
3 . . ERROR + SEND + RECEIVE + ACTION only
4 . . ERROR + SEND + RECEIVE + ACTION + WAIT FOR only
5 . . ERROR + SEND + RECEIVE + ACTION + WAIT FOR + INFO (default)
DEBUG
Enables a lot of stuff for debugging. Do not use, because LOG will
increase enormous.
FRECCFG <configfile> [commandline switches for FREC]
The full name and path to Frec configuration file. If defined, Fsend
may be used as a frontend to act as pollserver and faxreceiver. In
fact the same as Frec in conjunction with Fsend.
If (optional) commandline switches are defined, the call to FREC is
performed like:
FREC -c<configfile> -k<outcompression> -p<comhandle> [-task<n>]
-sWAIT_OK <commandline switches for FREC>
If TaskNo is defined, it is also submitted.
It is no longer supported, to choose between FREC.EXE and FREC.DLL!
From now on, FSEND searches for FREC.DLL in LIBPATH and if not found,
FREC.EXE is called.
NOATD
Switch to suppress 'ATD' in class 1 if an EOM situation occures and
modem is not able to handle ATD in class 1 correct. Try also 'NOEOM'
keyword to workaround modem misbehaviour.
MINPAGELENGTH
Can be used, to determine the minimal length of fax page. Default is
3 cm, because a lot of fax machines and fax modem will reject shorter
pages (by RTN). Note: The maximum valid value is 30 cm.
INBOUND <path to inbound>
If DESTNAME and DESTADDR are also defined, a netmail (????????.PKT)
is created each time a fax is transmitted.
DESTNAME <string>
If this, INBOUND and DESTADDR is defined in FSEND.CFG, a netmail
is created and addressed to.
DESTADDR <FidoNet style address>
Must be defined to create announcing netmail.
SRCNAME <string>
Used to form the 'From:' part of the announcing netmail.
Default is: "FSEND".
SRCADDR <FidoNet style address>
Normally this is the address of local system. Defaults to DESTADDR.
SUBJECTSENDFAX <string or %>
Used in creation of announcing netmail on transmitting fax. If '%' is
the first (or only) character, the filename from which the fax is sent
will be placed in subject part of netmail.
Default is: "Announcement of outgoing FAX".
FLAGDIR <path>
Path, were a semaphor file is created if used in conjunction with
the -FaxLog feature and a redial is neccessary.
EXITSEM <semaphor name>
Semaphor file to force mailer (BinkleyTerm or Cantaloup) to exit with
error level. Should be either BTEXIT (for Binkley) or CLEXIT (for
Cantaloup).
In combination with TASK and ExitErrorLevel a semaphor file is created.
EXITERRORLEVEL <level>
Errorlevel for mailer when forced to exit by semaphor.
Additional information:
All file and path specifiers in configuration file are checked against
%<environment>%. If a valid environment entry is found, %<env>% is
replaced by the content of the variable, e.g.:
SET LOG=D:\LOGFILES
BinkLog %LOG%\BINKLEY%TASK%.LOG
FaxDebug %LOG%\FREC%TASK%.LOG
A special 'replacement' is done in all file name entries in configuration
file when '%TASK%' is detected. %TASK% (must be uppercase) is replaced
by the defined task number.
If a debug file is defined and this debug file can not be accessed, than
a 'default' in the root of the current drive (\FSEND.DEB) is used instead.
It is strongly recommended to use a debug file! In case of misbehaviour
99% of faults can be localized quickly and (from the author :-).
-------------------------------------------------------------------------------
COMMAND LINE PARAMETERS AND SYNTAX
-------------------------------------------------------------------------------
The format of the commandline is as follows:
FSEND <switch> <switch> ...
Each argument must immediatly follow the switch (no blanks). Some switches
allow entries which have blanks, eg. to form names or comments.
-ForceV33
If receiver signals bit rates higher than 9600 bps always use V.33
(class 1 only).
-ForceV17
If receiver signals bitrates higher than 4800 (and even if V.17 is
not signaled) use V.17 (class 1 only).
-SendPWD<numerical_password>
Is used to create a PWD (PassWorD) frame for an outgoing fax. This
must be used if destination has password protection for incoming fax.
Attention: Only '0' - '9', '#' and '*' are valid characters! All other
characters are invalid and strictly discarded by Fsend. String length
is limited to 20 characters. '-SendPWD' can be used in Class 1 and 2.0
(if supported by the modem) only!
-SendSUB<numerical_subaddress>
Is used to create a SUB (SUBaddress) frame for an outgoing fax. This
can be used, to send to a special address in receiver's domain (if
supported by receiver).
Attention: Only '0' - '9', '#' and '*' are valid characters. All other
characters are invalid and strictly discarded by Fsend. String length
is limited to 20 characters. '-SendSUB' can be used in Class 1 and 2.0
(if supported by the modem) only!
See also '-g' commandline switch to define phonenumber.
-FaxLog
This parameter enables a special mode of operation. For proper
operation of this feature 'FAXLOG', 'FAXIDX' and 'FAXPATH' have
to be defined correctly. Fsend will send a fax that is created
by other applications fax printer driver.
If Fsend is called with '-task<n> -c<file name> -FaxLog' parameters
it will extract all required information from FAXLOG and
start sending the fax if the given date and time entry is empty or
either equal or less actual date and time.
Note: Also see new errorlevel values!
To create a fax throug other applications fax printer driver you
have to act as follows:
An application (or simply 'COPY CON LPTx', where x is the printer
port assigned to special printer driver) must print to
fax printer driver. If the data send to the printer driver is not
plain ASCII text you have to create a 'FAX.CGS' file which contains
all information required to create the fax. If the data send to the
printer driver is plain ASCII, this data also can be placed at the
very beginning of the text file. Following lines are required:
>>TO=<name of receiver>,*,<fax no of receiver>
>>AT=<time to send>,<date to send>
The first line will make the fax printer driver creating the fax. A
FAXLOG entry like '<idx no>,,,1,Spool ,,1,0,99,,<name of
receiver>,,<fax no of receiver>,,,,,,,,,' will be created.
The second line is optional. If used the fax will not be sent until
date and time arrived. Using both lines the printer driver will
create a log entry like '<idx no>,23-Jan-97,14:32,1,Spool ,,1,0,99,,
<name of receiver>,,<fax no of receiver>,,,,,,,,,'.
The date must be strictly entered in the format DD-MON-JJ, where
MON is the english abbreviation for the month with first character
uppercase. Day of month must contain leading zero if below 10!
Optionally, a third line containing a short 'comment' (for cover
sheet) can be added:
>>INFO=<comment>,*,*,*
Maybe, in further versions, a simple textmode utility will be
supplied, to create (and maintain) FAXLOG file for the
above use ...
-Quiet
Fsend is switched to an absolutly quiet mode of operation. Only
log file is written and very short messages to stderr at the begin
and end of operation. You can redirect output of stderr to a file
by using '2>>error.log' which yields in:
+ 14 Mar 11:50:41 FSEND Begin, v1.23b
14 Mar 11:50:46 FSEND HangUp <hangup_code>
- 14 Mar 11:50:46 FSEND End. [<errorlevel>]
-Task<n>
Where <n> specifies the task number to be used. See also [TASK <n>]
and [COMMON] keywords in configuration file. If this parameter is
not used the common task will be used.
-c<config file>
Default Fsend assumes the configuration file is named FSEND.CFG and
located in the current directory. The '-c' command line parameter
can be used to define an other path and file name.
Configuration file can also be supplied via environment:
SET FAX=x:\path\fsend.cfg
or
SET FAXCFG=x:\path\fsend.cfg
-o<file name> [<page indicator>]
Input file for fax transmission. You can send black and white
bitmaps from type .BMP or .TIF or text files (see 'TEXTEXTENSION'
keyword). More that one '-o' parameter is allowed in a single
command line. Wildcards (*, ?) also are allowed. A blank separated
'page indicator', following the file name is possible. For more
information on that see '-o@' command line parameter.
Note: The 'page indicator' must be one number (only digits,
no blanks) and should have not more than 20 digits.
-o@<file name>
As an enhancement to the '-o' option, you can define a pointer
file, which contains all the file names instead. Each line must
contain only one file name. Wildcards are allowed. In accordance
to 'selective poll' a 'page indicator' may also be used:
Content of such a pointer file:
X:\PATH\NEWLIST.TXT
Y:\OTHERPATH\FILELIST.TXT 1
Z:\NEWPATH\ECHOLIST.TXT 2
Which means, NEWLIST will be sent to everybode whereas FILELIST only
will be sent if remote station is supplying '1' in SEP frame and
ECHOLIST only will be sent if '2' is supplied in SEP frame. If the
remote station does not use any SEP frame, than ALL three files will
be sent.
-g<phone number>
Enter the number of the fax you want to send to. The number is
transmitted as it is to the modems dial command. So special dial
modifiers may be included here.
Alternativly to the '-PollSUB' a 'subaddres' in receivers domain may
also here specified by appending a "'" and the (numerical) subaddress:
"-g0043 1 701 99" or "-g47110815" or "-g0456789'123" are valid
dial commands. Last one shows subaddressing to 123. Read also
the definition of FAXPATH in FREC.DOC.
-#<idx no>
This is a special commandline option to easyly send fax files
created by other applications. Simpley enter the index number of the
fax file to be sent (e.g. for FX000123.FAX you have the enter
'-#123'). If you want to send the fax file which is created last,
enter '-#?' and the idx number will be generated using information
in FAX.IDX file. If 'NOLOGONBAD' is not defined, an entry in
FAX.LOG is done.
-d<name> or
-TO:<name>
You can define here the name of the receiver of the fax file, e.g.
'-dMr. John Smith'. Do not use any special characters the operating
system interprets for own use, or use the '"' character to embed, like
'"-dMr. & Mrs. Hoover"'.
-r<name> or
-FROM:<name>
You can define here a 'LocalName' which will overwrite the name
supplied in CFG. See '-d' for some restrictions.
-m<comment>
Like in '-d' option, you can enter a SHORT message to the receiver,
which is print in the coverpage. Sample: '-mLast news from our
meeting'. This option implies, that '-o' can be omitted. Short
fax messages without generation of a text file are possible, only
a coverpage (must be defined in configuration file) is sent.
-NoCover
A simple 'shortcut' to suppress generation of coverpage if defined
in configuration file.
-NoEOM
Commandline switch to suppress EOMs in multidocument fax. See NOEOM
keyword in configuration file.
-x
Each fax page is stored in a bitmap (FXDTnnnn.BMP) in the same form
as it is transmitted. The 'nnnn' is a number from 0001 to the page
count. This parameter is useful for verifying the generation of
cover page and text files.
-h or -?
A short help screen is shown. This printout can not be redirected into
a file, because VIO functions are used!
-v<faxviewer>
An external fax viewer (please refer FAXVIEW.DOC for more information)
can be used to display an outgoing fax in realtime on the screen.
There are TWO possible modes to use:
1) <faxviewer> is the name of a compatible viewer (obviously
FAXVIEW.EXE), which will be started (by DosStartSession) and closed
by FSEND (by WM_QUIT).
2) <faxviewer> is the name of a pipe (eg. '\PIPE\LINE1'). In this case
the viewer (FAXVIEW.EXE) must be already loaded (see FAXVIEW.DOC)
and is only actived by FSEND (by pipe).
-BITS or -LARGE or -STANDARD or -PREVIEW
Scaling option for optional external fax viewer.
Note: Do not use 'scaled' option in FAXVIEW.EXE.
-p<com port handle>
If this parameter is used, FSEND assumes it is called by any other
application or other front end.
Note: The port handle is not the same as the port number (e.g. COM1)!
All initialisation must be done by calling front end.
-------------------------------------------------------------------------------
Assumptions of WORKING CONDITIONS:
-------------------------------------------------------------------------------
There are some dedicated working conditions for FSEND, depending on what
job it shall do. FSEND recognizes these condition by interpreting its
commandline switches:
-P<porthandle> -FDIS/-FDTC -G<phoneno> -FaxLog CONDITION Use
---------------------------------------------------------------------
NO NO NO NO (1) FE
NO NO NO YES (2) S
NO NO YES NO (3) S
NO NO YES YES (4) !
NO YES NO NO (5) !
NO YES NO YES (5) !
NO YES YES NO (5) !
NO YES YES YES (4) !
YES NO NO NO (6) PS
YES NO NO YES (7) S
YES NO YES NO (8) S
YES NO YES YES (4) !
YES YES or -B NO NO (9) PS,S,NoInit
YES YES NO YES (10) !
YES YES YES NO (10) !
YES YES YES YES (4) !
FE ..... Frontend
PS ..... PollServer
S ...... FaxSender
NoInit . CFGs 'Init' not used
! ...... irregular condition
1) Standalone frontend. FSEND can act as a sender/pollserver or receiver
(by calling FREC). At least one file (-o) must be specified or coverpage
must be enabled AND a message (-m) must be supplied. If no filename or no
coverpage is enabled, FSEND stops with error, else FSEND waits for a caller
2) Standalone fax sender. All information for this job is excerpted from
FAXLOG. if no fax with status 'Spool' or no phonenumber in FAXLOG, FSEND
stops with error, else FSEND starts to send.
3) Standalone fax sender. At least one file (-o) must be specified or
coverpage must be enabled AND a message (-m) must be supplied. If no
filename or no coverpage is enabled, FSEND stops with error, else FSEND
starts to send by calling the supplied phonenumber.
4) Irregular combination. Phonenumber is TWICE defined (by -g and in
FAXLOG). FSEND stops with error.
5) Irregular combination. -FDIS or -FDTC is defined, but no porthandle
is supplied by -p. FSEND stops with error.
6) Fax pollserver called with a porthandle from any other application
which has allready opened the com port (and initialized). At least one
file (-o) must be defined or coverpage must be enabled AND a message (-m)
must be supplied. If no filename or no coverpage is enabled, FSEND stops
with error, else FSEND waits for a caller.
7) Fax sender called with porthandle from any other application which has
allready opened the com port (and initialized). All information for this
job is excerpted from FAXLOG. If no fax with status 'Spool' or no
phonenumber in FAXLOG, FSEND stops with error, else FSEND starts to send.
8) Fax sender called with porthandle from any other application which has
allready opened the com port (and initialized). At least one file (-o)
must be specified or coverpage must be enabled AND a message (-m) must be
supplied. If no filename or no coverpage is enabled, FSEND stops with
error, else FSEND starts to send by calling the supplied phonenumber.
9) Fax pollserver called with a porthandle from any other application
which has allready opened the com port (and initialized) and has allready
an active fax connection in or prior to PHASE B. At least one file (-o)
must be specified or coverpage must be enabled AND a message (-m) must be
supplied. If no filename or no coverpage is enabled, FSEND stops with
error, else FSEND immediatly enters PHASE B of a transmitting station,
assuming the supplied values for DIS or DTC. If not used in Class 1, -b
commandline switch may be supplied instead of DIS/DTC. Due to the fact,
that there is no difference for FSEND if satisfying a poll or simply does
a send job, this condition can also be used by any other application to
make a normal send (other application must allready have dialed/answered
and have a fax connect).
This is the normal situation, when FREC detects a caller who want to poll
a fax and routes the call to FSEND to satisfy poll.
10) Irregular combination. DIS or DTC supplied (in fact an active
connection) and phonenumber (from commandline or FAXLOG) is also
supplied.
-------------------------------------------------------------------------------
ERROR LEVELS USED BY FSEND:
-------------------------------------------------------------------------------
0 . . . all sendjobs (in accordance to standard) done.
1 . . . wrong commandline switch
2 . . . phonenumber AND called with FDTC/FDIS OR no files to send
3 . . . no or wrong configuration file
4 . . . Nothing to do in FAX.LOG (no 'Spool' entries)
5 . . . Too less information in or no FAX.LOG
6 . . . Spool active, but delayed
10 . . Invalid comport or used from other application
11 . . No Connect after dial (can be BUSY, NO CARRIER, NO ANSWER etc.)
12 . . Error (user ESC) after dial
20 . . DATA connect in frontend mode, session still active
100 . . DebugThreadError
101 . . BitmapThreadError
102 . . CompressionThreadError
103 . . ComInThreadError
104 . . TimeThreadError
200 . . send maybe correct, but nonstandard termination
251 . . Error after connection
253 . . ModemError
254 . . ComPortError
255 . . Serious problem, can be anything, use '2>error.log' to localize
-------------------------------------------------------------------------------
HISTORY
-------------------------------------------------------------------------------
Version 1.34:
Large parts of code (esp threadhandling, memoryallocation, exception-
handling and CFG/CMD-handling) was redesigned. All parts of code, which are
also in FREC and ANSW were put to FAXPROC, which is from now on a dynamic
link library (FAXPROC.DLL). Linking of C-runtime is never more statically,
instead, C-runtime is linked dynamically (at loadtime) for FSEND, FAXPROC
and IMGPROC. So, the overall amount of codesize was reduced. Some keywords
in CFG were also altered:
INBOUNDSEND --> INBOUND (sorry for twice altering)
SUBJECTSEND --> SUBJECTSENDFAX
NEW:
InitFifo (see above)
Not longer supported:
FRECDLL (see FRECCFG)
Finally, the COM port open methode is now checked in FAXPROC. Only if COM
is opend in READWRITE and SHARE_DENYREADWRITE, work is continued! I hope
some problems (when called from a mailer, which uses a patched MAXCOMM to
open COM in SHARE_DENYNONE mode) are solved now. Also SIO.SYS in
'share mode' should never more work!
Maybe some users will disagree, but 'sharing' a communication port is NOT
usefull on a multitasking environment! Each application MUST have unique
access to its own resources.
Version 1.33:
Only internal test version and not distributed.
Version 1.32:
Serious bug in XON/XOFF handling caused an infinit loop (and 100% CPU used).
In combining TIF procedures in IMGPROC.DLL, check for validy of
PhotometricInterpretation was lost. Is fixed also now.
Version 1.31:
FSENDs commandline switches are partly changed to have same
meaning as in FREC:
old new
'-i' => '-o'
'-f' => '-l' (undocumented)
'-w' => '-p'
'-FROM' => '-r'
'-r' => sending of raw data file is not more supported!
Like FREC, FSEND can from now on also 'show' a picture of the outgoing
faxpage by using FAXVIEW.
Due to enhancements in FREC, FAXPATH must be (once) defined and is
used to form fully qualified drive, path and filename for FAXIDX and
FAXLOG. Both FAXLOG and FAXIDX have defaults (FAX.LOG and FAX.IDX)
and should only be (re)defined if other than default. As FREC can
accept more than one FAXPATH, FSEND will use (if same CFG for both
is supplied) only the FIRST found entry!
Version 1.30:
some new keywords (read above) and parts of T.32 are implemented.
Also higher resolutions like in T.30 defined will be supported
(untested)!
Version 1.29:
from now on, FSEND and FREC can use one and the same configuration
file. Certain keywords were updated, like:
INBOUND -> INBOUNDSEND and INBOUNDREC
SUBJECT -> SUBJECTSEND and SUBJECTREC
It is recommanded, to distinguish between Frec and Fsend portions
of configuration file by '[TASK <n>]' keyword.
Version 1.28:
a serious and hard to find BUG in FSEND was eliminated. This BUG was
only active if SOURCE was 2-D Read (G4) TIF AND faxtransmission was
2-D Read AND first transmitted page was THIS 2-D Read TIF.
Many THANKS to Massimo Fantin from Italy, who has 'needled' me to
find this bug (some code for IMGPROC was still also in FSEND and was
only called if source AND transmission was in 2-D)
TIFPROC.DLL now is named IMGPROC.DLL, because in WARP 4.0 MMOS2 is a
new DLL named TIFPROC.DLL!
Version 1.27
is build with MINOR changes from version 1.25a. TIFPROC.DLL is
reduced because LZW (Lempel, Ziv & Welch) compression is under
patent regulation in some countries. So TIFPROC is no longer able
to handle Compression=5 (normally known as LZW). TIFPROC is 'under
study' and will be changed/upgraded when LZ-compression will work
in unrestricted manner!
Versions 1.25 and 1.26
were ALL REJECTED! To much problems arised with TIFPROC.DLL!
Version 1.26
is released, because 1.25 was WRONG (do NOT use it) ....
-------------------------------------------------------------------------------
FINALY:
-------------------------------------------------------------------------------
Please also read carefully the sample configuration file.
FSEND and FREC are updated either if there is a serious bug or if some
new or requested features were added. The documentation is updated, if
there is time in the authors 36 hour day :-).
Please fell free to contact the autor:
FidoNet 2:310/14.59
Internet Harald.Pollack@OMV.CO.AT
Many thanks to Bernhard Seidl and Gerold Pummer for excessive tests
of various (beta) versions of Fsend.
And last, but not least, my greatest thanks to WOLFGANG HOFFMANN,
who was in fact the one who believes in this program and who gave me
all the necessary standards to do things in the right way.
<end of doc>