▐▒▒▒▒▒▒ ▐▒▒▒▒▒▒ ▐▒▒▒▒▒▒ ▐▒▒▒▒▒▒ ** S I M U L A T O R version 2.01
▐▒▒ ▐▒▒ ▐▒▒ ▐▒▒ ▐▒▒ ▐▒▒ ▐▒▒ ──────────────────────────────────
▐▒▒▒▒▒▒ ▐▒▒▒▒▒▒ ▐▒▒ ▐▒▒▒▒▒▒ Copyrighted (C) 1989 by
▐▒▒ ▐▒▒ ▐▒▒ ▐▒ ▐▒▒ ▐▒▒ ▐▒▒ TRI-SYSTEMS co.
▐▒▒ ▐▒▒ ▐▒▒ ▐▒▒ ▐▒▒▒▒▒▒ ▐▒▒ ▐▒▒ Written by Johan Zwiekhorst
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
Usage: ARCA [Drive:][Path]ArchiveName[.ARC] [Drive:][Path]FileName[.Ext] [/D]
/D will delete files after adding to archive
filenames may contain * and ? wildcards
(**Original ARCA copyrighted (C) 1986 by Wayne Chin and Vernon Buerg)
(****************************************************************************
* REVISION HISTORY *
* ~~~~~~~~~~~~~~~~ *
* 2.01 - Patch to allow TABs in the configuration file - I just forgot! *
* 2.00 - Completely rewritten (Turbo Pascal 5.00); the ARCA*Simulator now *
* uses a configuration file ARCA.CFG for dertermining which archiver *
* program should be used for each fidonet node in order to create *
* compressed mail bundles. Any archiver program can be supported. *
*---------------------------------------------------------------------------*
* 1.20 - It is now required that the ARCA*Simulator be in the same directory*
* as PKARC. The name PKPAK is now recognized, too. *
* Bug fix: there was a problem when the commandline for the *
* ARCA*Simulator was more than 116 characters long. *
* 1.10 - /D switch now requires a version of PKARC which can handle the *
* (m)ove to archive command. *
* 1.01 - Bug fix: /D switch with filespec=*.* caused the archive to be *
* deleted, too. *
* 1.00 - Base version *
****************************************************************************)
╒════════════╕
│ 1. GENERAL │
╘════════════╛
This FREEWARE program is intended to replace the original ARCA.COM program by
Wayne Chin and Vernon Buerg in order to use _any_ archiver program for
compressing mail bundles: the purpose of this is, to allow the use of better
and faster compression techniques than those provided by the original ARCA.
Note, that this version of the ARCA*Simulator uses a configuration file
(ARCA.CFG) in order to determine which archiver should be used for compressing
mail for each fidonet node you exchange mail with.
The ARCA*Simulator lets you specify a default archiver to be used for all
nodes not mentioned in the configuration file.
I suggest that you rename the original ARCA to OARCA.COM and specify that one
to be used as the default archiver.
Sysops who wish to have the ability to extract ANY kind of mailarchive they
might receive, could perhaps examine my GUS program.
GUS (General Unpack Shell) can extract ARC, PAK, DWC, ZOO and ZIP archives.
It is obtainable as GUS01.ZIP on many BBSs. Note that the '01' designates a
release number, and increases with every new release.
The ARCA*Simulator will occupy close to 20K of memory when it is running.
Note, that the ARCA*Simulator will call another program to do the actual
compression of the mail, which will make the total amount of memory occupied
larger than the amount mentioned before.
Consult the archiver program's documentation in order to find out how much
memory it requires to run.
Please see to it that you have enough memory left when the ARCA*Simulator is
run, or you may not be able to compress your mail.
In the latter case, the mail packet files will remain untouched on your drive.
If an error occurs during the compression of your mail, the ARCA*Simulator
will halt with an errorlevel of 1 or greater (it will use the errorlevel
returned by the archiver program) and mail packets will NEVER be deleted.
(At least not by the ARCA*Simulator.)
If no error occurred, the ARCA*Simulator will return with an errorlevel of
zero and mail packets will be deleted if the /D switch was specified.
------------------------------------------------------------------------------
Usage:
~~~~~~
ARCA [Drive:][Path]ArchiveName[.ARC] [Drive:][Path]FileName[.Ext] [/D]
/D will delete files after adding to archive
filenames may contain * and ? wildcards
Note, that the optional delete switch (/D) may also be used first on the
commandline, in order to be compatible with echomail processors which require
the archiver to have the command first on the commandline.
Note also, that it is possible to use more than one filename to be archived on
the same commandline, and that wildcards are allowed.
Wildcards are not allowed in the archive name, however.
USAGE FOR oMMM:
~~~~~~~~~~~~~~~
For oMMM versions below 1.10, you don't have to do anything, it will use the
ARCA*Simulator correctly. Just rename ARCA.COM to OARCA.COM.
For oMMM versions 1.10 and higher, you will have to specify that ARCA should
be used for archiving and _not_ PKARC or ZOO. Rename ARCA.COM to OARCA.COM
also.
USAGE FOR QEcho (QuickBBS):
~~~~~~~~~~~~~~~~~~~~~~~~~~~
In your QEcho.Ctl file, you should specify
ArcCommand ARCA
or ArcCommand ARCA /D
The latter is not necessary, however, since QEcho will kill the mail packets
itself if the archiver didn't do it.
You probably didn't use the original ARCA.COM, so you will have to specify
«PKARC -oct -a» for the default archiver (see later).
USAGE FOR OTHER MAIL PROCESSORS:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Consult the documentation for your mail processor. Most processors use a
configuration or control file in which you can specify which archiver to use.
You may refer to the example for the QEcho mail processor for QuickBBS above.
╒═══════════════════════╕
│ 2. CONFIGURATION FILE │
╘═══════════════════════╛
The configuration file for the ARCA*Simulator is called ARCA.CFG and _must_ be
located in the SAME directory as the ARCA*Simulator itself.
The configuration file contains four kinds of information:
comments, keyword definitions, an identification and directives.
The order in which they appear is irrelevant, except that directives MUST
appear LAST in the configuration file!
Also important: each entry must occupy a line by itself.
You can study the configuration file supplied with this program for an example
of how to compose that file.
Perhaps the easiest way is to just modify that file so that it suits your
needs, instead of constructing a new one.
The supplied configuration file contains keyword definitions for all popular
archiver programs.
1) comments
~~~~~~~~~~~
Anything after a ';' sign is considered a comment and thus ignored.
2) keyword definitions
~~~~~~~~~~~~~~~~~~~~~~
A keyword definition is composed as follows:
#def «keyword»
#prg «archiver_filespec»
[#apc]
[#ext «req'd_extension»]
#add «add_command»
#mov «move_command»
#end
So, a keyword definition begins with a '#def' entry and ends with an '#end'
entry. The «keyword» is a unique word of maximum 8 LETTERS. The keyword will
be used to designate one specific archiver program. The keyword definition
will hence have to contain all information necessary to run the archiver
program in question.
The keyword "DEFAULT" is reserved for indicating which archiver should be used
by default. So, a keyword definition for "DEFAULT" _must_ be present.
Blanks are ignored, so the indentation of the lines between '#def' and '#end'
was done for legibility and has no other meaning.
The order of the lines between '#def' and '#end' may be chosen arbitrary,
since that is not important.
Note, however, that the '#prg', '#add' and '#mov' entries MUST be present,
while the '#apc' and '#ext' entries are optional.
That's what the square brackets '[' and ']' are for: they serve to indicate
that the enclosed entries are optional and should themselves not be typed.
The same goes for the '«' and '»' characters: they indicate a description
which must be replaced by an actual parameter, and should themselves not be
typed, too.
The '#prg' entry defines the full path and filename of the archiver program
designated by the keyword.
The '#add' entry defines the command to be used for adding files to an archive
file. If no command is necessary, this entry may be left blank, but the line
MUST be present.
The '#mov' entry does the same as '#add', except that it defines the command
for moving (add and then delete) files to an archive file.
The '#apc' means "append command" and designates that the commands for the
archiver program must be appended to all the rest, so that they appear last on
the command line. To my knowledge, the original ARCA program is the only one
that requires this (for it's delete option).
Last, there is the '#ext' entry which is used to let the ARCA*Simulator know
this archiver requires a fixed extension in the archive filename, so that it
will rename the archive filename prior to invoking the archiver program, and
renaming it back afterwards. The DWC archiver program by Dean W. Cooper, for
instance, requires a fixed extension of ".DWC" for identifying an archive.
Behind the '#ext' entry, you just have to specify the three letters of the
extension required.
There must be a keyword definition for every archiver program you wish to use.
Examples for the following archiver programs:
a] DWC, by Dean W. Cooper;
b] PKPAK, by PKWARE Inc.;
c] ARCA (renamed OARCA.COM), by Wayne Chin and Vernon D. Buerg.
#def DWC
#prg D:\Utils\DWC.EXE ; that's where to find it...
#ext DWC ; requires archives to have ext. DWC
#add az ; with size option
#mov mz
#end
#def PKPAK
#prg D:\Utils\PKPAK.EXE
#add -a
#mov -m
#end
#def DEFAULT ; this archiver will be used by default
#prg D:\Utils\OARCA.COM
#apc ; commands should be last on cmdline
#add ; nothing means add files
#mov /D ; delete option
#end
3. identification
~~~~~~~~~~~~~~~~~
The ARCA*Simulator needs to know which node address YOU have in order to be
able to figure out the destination of a mail archive file.
You identify yourself by means of the '#id:' entry. It is used as
follows:
#id: «node_address»
where «node_address» has the form «net_number»/«node_number».
Points have to specify their PRIVATE node address. Zone numbers should NOT be
specified, since they are not contained within the mail archive name.
Example:
#id: 513/50
The identification entry may appear anywhere in the configuration file.
Yes, I know I could have gotten this information also from one of the control
files for your favorite mail processor or the mailer you're using.
But it would have taken up more code to get that information from all possible
configuration or control files for all mailers and all mail processors, than
is does this way.
Besides, making sure the identification is in the ARCA*Simulator's
configuration file is the only way of having it work with ALL mailers and ALL
mail processors.
4. directives
~~~~~~~~~~~~~
Directives serve to indicate what archiver should be used for which node
addresses and are composed as follows:
%«keyword» «node_list»
Note the '%' sign in front of the keyword!
The «node_list» entry is composed of one or more node addresses, which may
appear in abbreviated form.
So «node_list» has the form:
«net»/«node» [«node» «node» ...] [«net»/«node» [«node» «node» ...] ...]
Example:
%PKPAK 513/10 11 12 28/2 111/12 14
This means: use the archiver designated by the "PKPAK" keyword to
compress mail for the nodes 513/10, 513/11, 513/12, 28/2, 111/12 en 111/14.
╒═══════════════════╕
│ 3. ERROR MESSAGES │
╘═══════════════════╛
The ARCA*Simulator may produce a number of error messages while it's working.
I will list all messages below, with an explanation what's wrong.
[A] Command line errors
~~~~~~~~~~~~~~~~~~~~~~~
CMD ERROR: unknown switch on commandline
- only the '/D' switch is allowed.
CMD ERROR: bad archive name (is this mail?)
- sorry folks, but starting from version 2.00, the
ARCA*Simulator can only be used for mail.
(I can't imagine what else you would want to use it for!)
CMD ERROR: no filename(s) specified
- at least one file to compress must be specified.
[B] Configuration file errors
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CFG ERROR: no configuration file "ARCA.CFG" present
- the configuration file is mandatory, so construct one
if you don't have one.
CFG ERROR: missing DEFAULT definition
- the keyword DEFAULT was not defined, and the
ARCA*Simulator needs it to be able to use a default
archiver program.
CFG ERROR: too many keywords in line 999
- at this time, the ARCA*Simulator expects that you would
use no more than 20 different archiver programs, so
there wouldn't be a need for more than 20 keywords.
If you got this error, you tried to specify more than
20 keywords and thus more than 20 different archivers.
CFG ERROR: invalid syntax in line 999
- the ARCA*Simulator couldn't figure out this line: it
contains no #words nor %words, or you have specified
more words than needed in a directive or in a keyword
definition.
CFG ERROR: unknown #word in line 999
- the program encountered a word behind a '#' sign which
it doesn't know. Probably a typing error.
999 will be replaced by the actual line number in the
configuration file which contains the error.
CFG ERROR: missing #id: entry in line 999
- there was no identification entry in the configuration
file before the directives were reached.
It is mandatory, so specify it.
The given line number points to the first directive in
the configuration file.
CFG ERROR: #end without #def in line 999
- the program encountered a '#end' word without a previous
#def.
CFG ERROR: unexpected entry in line 999
- encountered an unexpected entry within a #def construction,
such as a directive.
CFG ERROR: missing #prg, #add or #mov entry in line 999
- the three entries are NOT optional and should always
be defined for each keyword. You have forgotten to
specify one or more of the three.
The line number points to the '#end' line.
CFG ERROR: duplicate entry in line 999
- you have defined more than one '#def', '#prg', '#add',
'#mov', '#apc' or '#ext' entry within the same keyword
definition, or you have defined more than one '#id:' entry.
Multiple '%keyword' directives with the same keyword are
allowed.
CFG ERROR: invalid keyword in line 999
- you have defined a keyword of more than 8 characters or
which contains characters other than letters.
CFG ERROR: invalid extension in line 999
- you have specified an extension of more than three
characters after an '#ext' entry within the given line,
or the given extension does not meet DOS criteria.
CFG ERROR: undefined keyword in line 999
- in a directive, you have used a keyword which was not
defined before.
CFG ERROR: invalid node address in line 999
- the ARCA*Simulator encountered an incorrect number within a
node address: several possibles errors might cause this
message.
1) Either the net number or the node number contains
characters other than figures.
2) Either number is outside the valid range of [0..32767].
3) A separator character other than blank or slash '/' was
encountered.
4) The net number was omitted when it should have been
specified.
5) It is not possible to identify net or node numbers.
[C] Shell errors - errors while trying to execute an archiver program
~~~~~~~~~~~~~~~~
SHELL ERROR: insufficient memory for executing «archiver»
- you don't have enough memory left to execute another
program while the ARCA*Simulator is in memory.
You probably will have to dispose of some resident
utilities. I know, I have a tendency of overloading
my computer's memory with all kinds of resident 'trash',
too.
SHELL ERROR: cannot locate «archiver»
- the ARCA*Simulator can't find the specified archiver
program it should shell out to. «archiver» will be
replaced by the actual path and filename of the program it
was trying to execute.
SHELL ERROR: DOS problem - cannot execute «archiver»
- the archiver program could not be executed due to a DOS
error report like memory problems, out of files to open,
invalid environment, ...
SHELL ERROR: an errorlevel>0 was returned by «archiver»
- the archiver program returned an errorlevel greater than
zero. That probably means that the compression failed
for some reason. You'd better find out why.
╒════════════════╕
│ 4. LEGAL STUFF │
╘════════════════╛
This software is copyrighted (C) 1989 by TRI-SYSTEMS co., hereafter
called the Owner. All Rights Reserved.
The software was written by Johan Zwiekhorst, hereafter called the
Author.
The No-Nonsense License Statement
=================================
This software and everything enclosed with it are protected by both
Belgian copyright law and international treaty provisions.
FREEWARE software may be used, copied and distributed freely for
NONCOMMERCIAL use only IF:
▀▀▀▀▀▀▀▀▀▀▀▀▀
NO FEE IS CHARGED FOR USE, COPYING OR DISTRIBUTION.
IT IS NOT MODIFIED IN ANY WAY.
It may be distributed ONLY in it's original, unmodified archived
package file. ~~~~~~~~~~
Note that use of FREEWARE software is prohibited in a governmental or
commercial situation. In these cases, this software must be purchased
and a Commercial License Statement will then be provided for.
Warranty
========
This software is provided AS IS without any warranty, expressed or
implied, including but not limited to fitness for a particular
purpose.
IN NO EVENT SHALL THE AUTHOR/OWNER OF THIS PRODUCT BE LIABLE FOR ANY
DIRECT OR CONSEQUENTIAL LOSS OR DAMAGES WHICH MAY HAVE ARISEN FROM
THE USE OF THIS PRODUCT.
If your local law does not permit any of the statements made above,
or if you do not agree with any of them yourself, THEN YOU ARE NOT
LICENSED TO USE THIS PROGRAM!
Contact
=======
The Author can be reached via fidonet electronic mail at node address
2:513/50.
The Owner can be contacted at the following address:
TRI-SYSTEMS co.
Leuterweg 19
3640 MAASMECHELEN (Belgium)
Phone +32-11-758080 during office hours, GMT.
Note that this address will be invalid after June 1989.
In order to find out the new address, you can do one of three things:
1) contact the Author at fidonet 2:513/50
2) try the phone number or contact the Phone Company for a new number
3) read the license statement of FREEWARE released during June 1989.
╒═══════════════════════════════════╕
│ 5. WHAT YOU SHOULD HAVE RECEIVED: │
╘═══════════════════════════════════╛
You should have received this software in a so-called archive file, in which
one or more files are stored in a compressed format.
The archive file you have received should have the name
ARCA04.ZIP
This ZIPfile should contain the following files:
ARCA.CRC ------------------------ text file containing CRC values
for ARCA.DOC, ARCA.EXE and ARCA.CFG
ARCA.CFG ( 902 bytes) - an example configuration file
ARCA.DOC (19701 bytes) - this file
ARCA.EXE (12477 bytes) - the ARCA*Simulator program
_______________________________________________________________________(eof)__