ARCA.DOC

19.2 KB e781627534f03222…
   ▐▒▒▒▒▒▒ ▐▒▒▒▒▒▒ ▐▒▒▒▒▒▒ ▐▒▒▒▒▒▒ ** 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)__