home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
zpars106.zip
/
ZPARSE.DOC
< prev
next >
Wrap
Text File
|
1996-03-03
|
35KB
|
727 lines
ZPARSE 1.05
USER MANUAL
Aug,1995.
Section 1: Introduction to Zparse
1.1 Description
1.2 Legal stuff
1.3 System Requirements
1.4 Advantages of Zparse
1.5 Contacting the Author
Section 2: Zdiff - the Zparse nodediff compiler
2.1 Use of Zdiff
Section 3: Zparse operation
3.1 Installing Zparse
3.2 Using Zparse
3.3 Points
3.4 Modem Translation
Section 4: Configuration statements.
****** SECTION ONE *******
1.1 Description of Zparse
Zparse is a nodelist compiler, producing the various files
required for type 7 nodelist files, required by many of the
popular mailers in use today. It produces the standard NODEX.DAT,
NODEX.NDX and SYSOP.NDX files (or similar) from a single nodelist, or
from nodelists of multiple networks. Zparse does not create version 6
nodelist files, nor any other format of nodelist compilation.
The features of Zparse are at the very least what sysops would expect
of a fully-fledged nodelist compiler, and include:
o Multiple Network support
o Modem translation logic
o 4D or 'fakenet' point support
o Session Level Passwords
o Fully configurable dial and cost translation
o User-selectable inclusion/exclusion of Zones and Nets
o Multiple AKA addresses
o User-selectable Hubrouting options
o greater optimization of index files
o Incredible speed (See section 1.4)
Throughout this manual, it is assumed that the reader is somewhat
literate in the ways of networking (mail sharing with other nodes and BBS
systems), and possesses a functional knowledge of computer operation, and at
least a rudimentary of the mechanics of mailers.
The development and optimization of Zparse is an ongoing process. New
versions are available for FileRequest under the magic name of ZPBETA from
the following sites, at all hours save Zone 1 ZMH (0900-1000 UTC)
Fidonet 1:340/303(v.Everything)
1:340/302(v.fc)
ibmNET 40:6481/1
1.2 Legal Stuff
S.C.S.Inc. License Agreement for Software Tools
-----------------------------------------------------------------
IF YOU DOWNLOAD OR USE THIS PROGRAM YOU AGREE TO THESE TERMS.
SpyderNet Communications Systems Incorporated grants you a license
to use Zparse (hereafter termed "the Program") during its initial trial
period. The Program is copyrighted and licensed (not sold). We do not
transfer title to the Program to you. You obtain no rights other than
those granted you under this license.
Under this license, you may:
1. use the Program on one or more machines at a time;
2. make copies of the Program for use or backup purposes within
your Enterprise;
3. make copies of the original file you downloaded and distribute
it, provided that you transfer a copy of this license to the
other party. The other party agrees to these terms by its
first use of the Program.
You must reproduce the copyright notice and any other legend of
ownership on each copy or partial copy, of the Program.
You may NOT:
1. sublicence, rent, lease, or assign the Program; and
2. reverse assemble, reverse compile, or otherwise translate the
Program.
We do not warrant that the Program is free from claims by a third
party of copyright, patent, trademark, trade secret, or any other
intellectual property infringement.
Under no circumstances are we liable for any of the following:
1. third-party claims against you for losses or damages;
2. loss of, or damage to, your records or data; or
3. economic consequential damages (including lost profits or
savings) or incidental damages, even if we are informed of
their possibility.
Some jurisdictions do not allow these limitations or exclusions, so
they may not apply to you.
We do not warrant uninterrupted or error free operation of the
Program. We have no obligation to provide service, defect correction, or
any maintenance for the Program. We have no obligation to supply any
Program updates or enhancements to you even if such are or later become
available.
IF YOU DOWNLOAD OR USE THIS PROGRAM YOU AGREE TO THESE TERMS.
THERE ARE NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.
Some jurisdictions do not allow the exclusion of implied warranties,
so the above exclusion may not apply to you.
You may terminate this license at any time. We may terminate this
licence if you fail to comply with any of its terms. In either event, you
must destroy all your copies of the Program.
You are responsible for the payment of any taxes resulting from
this license.
You may not sell, transfer, assign, or subcontract any of your
rights or obligations under this license. Any attempt to do so is void.
Neither of us may bring a legal action more than two years after
the cause of action arose.
In Canada, this license is governed by the laws of the Province of
British Columbia. Otherwise, this license is governed by the laws of the
country in which you acquired the Program.
1.3 System Requirements
Zparse 1.05 is an OS/2 program, and has been tested under a variety
of OS/2 2.xx and OS/2 Warp systems. If your system can run either version
2.0, 2.1 2.11 or 3.0 (Warp) of OS/2, your system should be perfectly fine
for Zparse. It is strongly suggested that at least 5-10 Megabytes of free
hard drive space be available for nodediff processing, and for the
creation of the *.DAT and *.NDX files. Minimum memory requirement is
assumed to be 4Mb.
Zparse will recognize both FAT (File Allocation Table) and HPFS
(High-Performance File System) types of hard-drive file storage. Zparse will
run on either 386 or 486 processors - again, if your system can run OS/2, it
can run Zparse.
1.4 Advantages of Zparse.
The main advantages of using Zparse over any other version 7
nodelist compiler are configurability, and most of all SPEED. Zparse
radically reduces the time required to compile a nodelist. Its time to
compile a full nodelist on a 386dx40, OS/2 3.0, 8Mb Ram, and a 13ms IDE
drive on an HPFS partition is a shade under 50 seconds: 42 to be
precise. Compare this with another common (yet un-named) OS/2 native
nodelist utility that on the same machine and configuration took vastly
longer - 8:49 to produce the same files. Note the following:
Directory of ZPARSE:
7-20-95 7:08p 3329680 0 nodelist.202
7-24-95 6:30p 2455078 0 NODEX.DAT
7-24-95 6:30p 587776 0 NODEX.NDX
7-24-95 6:31p 811008 0 SYSOP.NDX
Size of created files: 3,853,862 bytes
Directory of other utility:
7-20-95 7:08p 3329680 0 nodelist.202
7-24-95 6:26p 2455558 0 nodex.dat
7-24-95 6:26p 863744 0 nodex.ndx
7-24-95 6:26p 1102336 0 sysop.ndx
Size of created files: 4,421,638 bytes
Note that there is a net difference of 567,776 bytes between the
two results. The main difference lies in the two index files - the files
your mailer and BBS software are most likely to use. Result: increased
efficiency.
1.5 Contacting the Author
The author may be contacted through netmail to FidoNet address
1:340/303[v.Everything], or 1:340/302[v.Fc], or through IBMnet address
40:648/1.
Internet email to lwiddif@spydernet.com
Inquiries through postal channels:
S.C.S.Inc.
Attn: Lionel Widdifield
P.O. Box 8406
Victoria B.C. V8W-3S1
Canada
If you have any comments about ZParse, I would like to hear them.
****** SECTION TWO *******
2.1 Using Zdiff
Given that the creation of a nodelist usually is accompanied with
the arrival of a nodediff file a companion program to Zparse has been
included in the Zparse archive for compiling nodediff files.
In order for Zdiff to run, the module Spectre0.DLL must either be
in the current directory from which Zdiff is called, or in a directory
specified a the "LIBPATH=." entry in your CONFIG.SYS.
The use of Zdiff is simple:
zdiff [-v] <nodelist> <nodediff>
Where <nodelist> is the path and filename (without extension) of
the raw (unarchived) nodelist, and <nodediff> is the path and filename
(without extension) of the new (unarchived) nodediff file. At this time,
Zparse does not handle the logic of de-archiving the inbound nodediff
files - it is assumed that a few simple batchfile (*.CMD) or REXX scripts
can achieve the same
results.
If more than one valid nodediff file matching the filename stem
is found by Zdiff, then it shall appy all valid nodediffs to create a new
nodelist.
Should a more detailed output of the Zdiff
process be desired, the
optional -v (-Verbose) switch may be included at the command line.
****** SECTION THREE *******
3.1 Installing Zparse
In order to install Zparse, it is necessary only to de-archive the
files where required. Configuring for use, however, shall take some time,
and shall require a text editor.
Included with Zparse is a sample configuration file, ZPARSE.CFG,
along with ZDIAL.CFG, ZPARSE.PTS, and ZPARSE.PWD. As they are sent, ZDIAL
is a sample of a dial translation table, and will likely require editing
with your favorite text editor to be suitable for your area. ZPARSE.PTS is
a sample points file, and ZPARSE.PWD is a sample file for use of creating
passwords for password-protected sessions.
Included with the archive is a DLL runtime module. This module
(Spectre0.dll) must remain either in the directory from which Zparse is
called, or be present on a path specified in the "LIBPATH=." environment
variable. (Utility freaks may wish to create a separate dll-storage
directory and place it on their path for ease of use.)
3.2 Using Zparse
Zparse has the following command switch alternatives:
Switch Function
-v Display version information
-vc Parse configuration file(s) for errors.
-C<file> Use configuration file <file> where <file>
is a full path and name.
-N<nodelist> Use nodelist file specified in the path
<nodelist>, but without the nodelist extention.
(ie: Zparse -Nd:\nodelist\nodelist)
Zparse invoked without the command switches produces a normal
compile, and shall search the current directory for a configuation file,
ZPARSE.CFG upon loading. If this file is not in the same directory as the
Zparse executables, the program will terminate.
Zparse will exit on a successul compile with an errorlevel=0,
allowing batchfiles and REXX scripts to catch processing errors by
trapping non-zero errorlevel exits.
When Zparse begins running, it will display an information
screen, and then proceed to display a running list of nodes its seeking.
Once it has read information, it shell begin compiling. At this point,
Zparse will begin writing to disk as it works on the indexes the screen
with the lower "oooo" being an activity bar, (similar to LH32(os/2) or
LHA(dos) de-archiving an LZH archive.) Here is an example of how the
screen looks as it nears the end of completion:
Working on: nodelist.202
At: 6:760/0 CRC Recorded:23197, Calc:23197
Parsing Completed
Compiling Indices...
Building Indices
ooooooooooooooo
3.3 Points
Zparse will handle points through standard 4D (z:xxx/yyy.ppp)
addressing. The simplest way to deal with this is to edit the points file
included with Zparse to meet the specifications of your points. It is
assumed that very few persons actually run 'fakenet' points, due to the
fact that most mailer software nowadays handles 4D addressing: however, a
way to gain fakenet addressing for points will be demonstrated. In any
case, these commands cannot appear in the main configuration file, but
must be retained in a seperate file noted by the POINTS verb.
The flavor of the a point inclusion statement runs along the following
lines:
BOSS,1:124/567
POINT,1,First_System,Location,User_Name,1-xxx-yyy-zzzz,9600,v32b,v42b,MO
POINT,32,Next_System,Location,User_Name,1-zzz-yyy-xxxx,2400
Note that all standard flags are supported.
If the "NodesAllowed" verb is present in Zparse.cfg, this
mechanism may also be used to include unlisted nodes in the compiled
nodelist. In this manner, the "Boss" statement will cause the node
z:xxx/yyy to be treated as the hub for the nodes listed afterwards.
Example:
Boss,1:123/567
,890,Name,Location,User,1-xxx-yyy-zzzz,9600,v32b,v42b,H14,CM,XA
,892,Next,Location,User_Name,1-zzz-xxx-yyyyy,2400,Mnp,MO
This would create (if not in the nodelist) an entry for nodes
1:123/890 and 1:123/892. They would be treated as if they were nodes for
which 1:123/567 was the hub of those nodes.
A "fakenet" is required when dealing with older software that
doesn't understand the four-dimensional (Zone:Net/Node.Point) method of
addressing. In this case, a fake 'nodelist' must be created, with a
non-existent net entry, called a 'fakenet.' The points are then treated
as discrete nodes in that non-existent net. Mail handling software must
be set up to deal with the fakenet adequately, and given the problems
that this can pose, it is best to place the fakenet in the same zone as
the boss entry in the nodelist. Thus, assuming a zone one boss:
Zone,1,North_America,Location,Name,9600,v32b,v42b,XA,CM
Host,22222,Your_System,Location,Your_Name,9600,v32b,v42b,XA,CM
POINT,1,First_System,Location,User_Name,1-xxx-yyy-zzzz,9600,v32b,v42b,MO
POINT,32,Next_System,Location,User_Name,1-zzz-yyy-xxxx,2400
....
Create this as a discrete file called, for example, "Fakelist.123",
and then in ZParse.cfg, place an "addlist fakelist" statement. Points will
then be treated as discrete nodes (1:22222/1, 1:22222/32) in the non-
existent net 22222. Be aware, however, that the best way to deal with
points is through 4D addressing.
3.4 Modem Translation
In order to explain exactly what modem translation is, and how to
obtain it, it is probably simplest to explain why it was needed in the first
place.
Way back when in the dark ages of modem technology, when most
systems were running on Apple ][ and Commodore 64 computers, modems came
in about four flavors: 115, 300, 1200, and 2400 bps. With the advent of
higher-speed modems, and different protocols, a number of problems arose,
mostly with regards to the HST protocols produced in USR products (but
not restricted to them) that delivered high-speed connections. Many of
these early HST modems were 9600 HST, or 2400bps.
When, for example, an HST dual-standard (Either HST 14.4kbs or
14.4kbps v32b,v42b) modem was used to call out to another modem, it was
important for the originator to know what modem was on the other end. If
the receiving modem was an older HST, the best procedure was to call out
with HST on. If this was not done, a 2400bps connection would likely
result because the HST would not be able to negotiate a v32b, v42b
connection. If, however, the modem was not an HST device then it would
be best to call out and attempt to connect with v32b,v42b to gain the
full 14.4kbps connection.
With this in mind, a procedure was developed to take the nodelist
flags and use them to determine what adjustments should be made to the
dialing strings in order to manipulate the modem to achieve the best
connection for what was available. The way to do this was to include for
some mailers (specifically binkleyterm) to read an additional byte in the
nodelist indexes. This one byte, the modem translation byte, is
manipulated by the nodelist processor based on the flags of the nodelist
- and then read by the mailer so that it can make user-defined
adjustments.
The way the modem translation is done is to read the flags, and
select options based on the result. Generally speaking, one selects from
one of eight different options (one for each bit of the byte) and the
resultant byte is read by the mailer (usually binkleyterm.) The byte is
read as a sum of the decimal value of the bits - which is best explained
by the illustration below:
[ 0 . 1 . 2 . 3 . 4 . 5 . 6 . 7 ] Bit
| 1 . 2 . 4 . 8 . 16 . 32 . 64 . 128] Value (base2]
If bits 5 and 2 are set, the modem translation result is 32+4=36.
Obviously, bits 1,2 and 3, if set, produce a result of 2+4+8=14.
Here, for example, is a binkleyterm configuration segment,
showing how the modemtrans statement is used to configure an 16.8kbps HST
dual standard for optimal dialout based on the nature of the receiving
modem:
;Modemtrans # Prefix/Suffix
ModemTrans 15 ATDT/&M4B1 ; HST/v32b/{v42|MNP} 1+2+4+8
ModemTrans 11 ATDT/&M4B1 ; HST/v32/{v42|MNP} 1+2+8
ModemTrans 9 ATDT/&M4B1 ; HST/{v42|MNP} 1+8
ModemTrans 1 ATDT/&M4B1 ; HST 1
ModemTrans 14 ATDT/&M4B0 ; v32b/{v42|MNP} 2+4+8
ModemTrans 10 ATDT/&M4B0 ; v32/{v42|MNP} 2+8
ModemTrans 6 ATDT/&M4B0 ; {v32|v32b} 2+4
ModemTrans 2 ATDT/&M4B0 ; v32 2
ModemTrans 8 ATDT/&M4B0 ; {MNP|v42|v42b} 8
ModemTrans 0 ATDT/&M0&N3B0 ; 2400 No {MNP|v42|v42b}
The above can be obtained through Zparse by a series of modem
translation commands, such as:
Modem HST 1
Modem v32 2
modem v32b 2
modem v42b 3
modem v42 3
modem MNP 3
In the above, the presence of any one of "MNP", "V42" or "V42b"
will set the third bit (decimal value = 8) to 1.
With Zparse, the option remains to perform modem translation
either by manipulating the bits of the modem translation byte, or by
setting a decimal value for the byte. When setting decimal values, the
desired decimal number must proceeded with a number/pound (#) symbol, to
denote the decimal-translation option. Note too that the translation is
heirarchal - that is, Zparse will set the modem translation byte to the
highest value in the field, regardless of the order presented. Take the
following example:
modem v34 #34
modem vFC #33
modem v32 #32
Modem H16 #30
modem H14 #30
modem v42b #25
modem v42 #25
modem V32b #20
modem V32 #20
modem ZYX #25 ; V32b/V42b
If an entry contains say ,CM,V32b,v42b,H16,V34,VFC, then Zparse
will take the _first_ flag in the field, and compare it to the MODEM
statements. First off:
V32b seen, set to 20.
v42b seen, set to 25.
H16 seen, set to 30.
V34 seen, byte set to 34.
VFC seen - but is *after* the entry for V34, and therefore
remains unchanged.
Using the modem translation logic in Zparse, (and binkley), a
total of 256 combinations can be achieved. In practice, the number needed
is usually far, far less. Using the "Modemtrans" statement in
Binkleyterm, it is now possible to alter the modem's configuration at the
time of dialing to ensure that the modem is set to make the best possible
connections. It is, of course, beyond the scope of this document to
provide example configurations for every possible modem. (It should be
noted that one of the most useful applications for the modemtrans
statement is in the case of multiple mailers for a multi-node system,
where the modems used by each are of different configurations.)
As an aside - if your modem is a generic 14.4kbps
(9600,v32b,v42b), then you simply can comment out any and all MODEM
statements in the zparse.cfg, as your modem will make the best connect it
can with what it finds on the other end.
****** SECTION FOUR *******
4.1 Zparse Configuration File Statements.
The heart of Zparse is its configuration file. The following is a
list of all the possible statements in the Zparse.cfg, and the syntax for
each. While listed here in uppercase for convenience, all ZParse
configuration statements are case insensitive. A semicolon (;) is used
as a comment character: After a semicolon, Zparse will stop reading that
line, and proceed to the next.
ADDLIST <nodelist stem>
Instructs Zparse to include the nodelist specified by
the path and filename <nodelist stem>. DO NOT INCLUDE FILENAME
EXTENSIONS.
(Examples: for fidonet, the nodelist is called nodelist.xxx.
Including fido would require:
ADDLIST c:\nodelist\NODELIST
whereas with a net called "othernet" with a nodelist called
"nudder.212" the inclusion command would read
ADDLIST c:\othernet\NUDDER)
ADDRESS <Address>
Used to give a full 4D address of the system's addresses and
AKAs. For each different AKA, a single ADDRESS statement is
used. (Example: ADDRESS 1:340/303.0)
ADDZONES <Zone>:<Net> [<Zone>:<Net> or <Zone>:]
Instructs Zparse to include the specified Zone(s) and Net(s) in
processing, used in conjunction with a DEFAULT NOZONES statement
to produce a customized nodelist. (Examples:
ADDZONES 1:340 ;Create a list of net 1:340 only.
ADDZONES 2: 1:340 ;Create a list of zone 2, and net 1:340
ADDZONES 1: 2: ;Create a list of Zones 1, and 2)
ALLSYSOPS
Placing this verb in Zparse.cfg will cause Zparse to create a
file SYSOP.NDX, used by some readers such as TimEd, as well as by
some BBS message editors.
COST <national> <international>
This verb is obsolete, but included for backwards compatibility.
It sets the default cost for national and international calls. It
has been replaced by the DEFAULT COST statement.
(Example: Cost 50 150
Would set national calls at cost=50, international at cost=150.)
COUNTRY <code>
Sets the Country code for your area. This is the prefix set in
your nodelist entry. It is usually either 1- (North America) or
11- (Europe). It is important to note the hyphen, as
this statement is used to strip the long-distance codes from
numbers local to your system.
(Example, for Canada/US: COUNTRY 1-)
DEFAULT NOZONES
Instructs Zparse to not process any Zones or Nets. Used in
conjunction with the ADDZONES command to produce a partial index
of a nodelist.
DEFAULT COST [NATIONAL/INTL] <cost> <fee>
Sets the cost/fee of a call. The first field must be either
"National" or "Intl." (without quotes) The cost field is usually
some approximation of the per-minute cost of the call, and is
used to configure events so that direct mail is delivered at the
time of the least-expensive rates. (In conjunction with local
dial translations to set local calls to Zero costs. See "DIAL"
verb for more. The <FEE> field is an arbitrary accounting number
usually used to deduct <fee> from a user's BBS Credits.
(Example: Default Cost National 50 20, sets 'cost' at 50, and
sets any non-local national call to deduct 20 units from a BBS
call, if the BBS software is set up to perform this task.)
DELZONES <Zone>:<net> [<Zone>:<Net> or <Zone>:]
Instructs Zparse not to include the specified Zones/nets in
processing. (Examples:
DELZONES 6: ;Do not include Zone 6
DELZONES 1:3404 ;Do not include Net 1:3404
DELZONES 2: 3: 1:3404 ;Do not include 1:3404 or Zones 2 and 3.)
DIAL <Prefix>/<Suffix> <Prefix>/<Suffix>
The DIAL verb begins the dialing and cost translation table,
which then continues until an END verb is encountered. The first
entry of the dialing table contains the modifications to be made
to domestic and then international calls. The backslashes are NOT
optional. If no modifications are to be done to either prefix or
suffix, leave the entries blank. For Zone one entries, the
domestic prefix need not be modified, so the table would begin
as: (Example:
;domestic international
DIAL / 011-/ ; )
The above creates a 011- prefix for all international calls. This
is linked to the COUNTRY statement, which sets what prefix is
'domestic'.
The rest of the dialing table follows the general syntax
<pattern> [Prefix]/[Suffix] <Callcost> <Fee>
<pattern> is the portion of the phone number string to be
modified, [Prefix] is the (optional) prefix to be used, [Suffix]
the optional suffix. If The backslash (/) is omitted, then the
entry shall be treated as a definition of cost/fee. <callcost> is
the cost assessed to a call made by the mailer, <fee> the number
to be deducted from BBS user's netmail credits.
(Example:
1-604-360- 360-/ 0 0 ;Local
1-604- 1-604-/ 20 20 ;Regional.
1- 1-/ 50 20 ;Non-regional
1-800 0 0 ;Tollfree)
Please see the included dialing translation table for more of an
idea of the logic used. Also see DEFAULT COST statement for the
setting of default costs and fees for national and international
calls.
END
Terminates the dial translation table. (See: DIAL]
HUBMODE <n>
Configures the nature in which Zparse will handle nodes for which
there is no number (unpublished, private, etc.) Zparse goes to
great lengths to determine a hub for such 'undialable' nodes,
assuming that applicable local hubs will be able to deliver their
mail. <n> is either 0, 1, or 2. They configure the following:
0: Attempt to find hub for "undialable" systems.
1: "Undialable" numbers shall be hub-routed, UNLESS they
are in the same net as specified in an "ADDRESS"
statement. This allows for routing to other
non-hub systems serving to deliver mail, or for
insertion of a phone number through the PHONE
statement.
2: Disables all-remapping of undialables.
(Example: HUBMODE 1)
INCLUDE <Filename>
Instructs Zparse to also use the filename specified by
<filename>, where <filename> is a fully qualified path and name
of a text-file. This file cannot contain anything other than
Zparse-readable configuation verbs or comment delimiters (;).
INCLUDE statements are useful for keeping password files, or
dialing tables in a discrete file for easier editing.
(Example: INCLUDE d:\zparse\password.txt)
INTERNAL N<number>
WARNING: Be careful with this statement. It over-rides the
default Zparse process table size. Currently, the internal
size defaults to 45000. The statement is included so as to enable
compilation of multiple nodelists, or for compilation of larger
nodelists than currently available. IF this number is set to TOO
great a number, it will access available memory - which could
also be virtual memory. Setting a statement like "Internal
N1000000" could (would) allocate wadloads of memory depending on
the nature of the nodelist entries, Therefore, use this command
with some caution. At time of writing, there are but 35,000
nodes in fidonet. Even if this doubles, a buffer setting of
"internal N70000" is sufficient. It is wise not to include this
statement unless certain it is required.
(Example: INTERNAL N55000)
LOGFILE <pathname\filename>
Sets the location and name of the Zparse activity log.
(Example: LOGFILE c:\logs\zparse.log)
MAXBAUD <baud>
Set this to the maximum speed of your modem, as per your nodelist
entry. (Current Fido nodelists still use the archaic 9600bps for
every modem that is above 2400/mnp5.)
(Example: MAXBAUD 9600)
MINCOST <Speed> <Cost>
Sets a minimum cost <cost) for connections of a given connect
speed <Speed.> Thus, (Example: MINCOST 2400 20) would set a cost
of a 2400 bps connection at a minimum of 20, overriding any lower
cost setting commands.
MODEM <flag> <bit> (<bit>,...)
Sets the modem translation byte depending on the flags of the
nodelist entry. (See section 3.4 for an explanation of modem
translation.) The <flag> is the field in the nodelist flags to
search for, the <bit> is the bit that shall be set high if that
flag is present. More than one bit may be set high per entry.
(Example: MODEM HST 1)
MODEM <flag> # <decimal>
Sets the modem translation byte to the decimal value specified in
<decimal> if the nodelist entry contains the field <flag>. Note
that unlike setting the bits, decimal entries are heirarchal:
the result of the modemtrans byte will depend upon the order
listed in the config file with the first entries overiding those
listed after.
MODEM$ <type> <cost> <newtype> <newcost>
Alters a modem's type (see MODEM command) and cost to <newtype>
and <newcost>. Will replace any node that matches both <type> and
<cost> and replace the entry with <newtype> and <newcost> for
that node. This is primarily of use for multi-node systems, with
different modems on each mailer. Local calls (with <cost>=0)
could have the modem type (ie: the modem translation byte)
modified so as to allow connections from a less-efficient modem,
such as, for example, an HST 14.4kbps connect instead of a Vfc
connect: Since the cost is zero.....
[Example: MODEM$ 14 0 10 0)
NODESALLOWED
This allows full-fledged node entries to be created as nodes under
a specific hub, usually in a secondary pointslist. (See section
3.3 for a specific example of how this actually done.)
NOREDIR
Identical to including the configuation statement HUBMODE 2.
Disables re-direction of unpublished/private nodes through hubs.
OVERRIDE <address> <cost> [<Fee> <modemtype>]]
Used to over-ride the cost, or modem translation byte of a
specific node. Here, <address> is the address of the
nodelist entry to be modified. <cost> is the call cost to used by
the mailer. <fee> is the fee to be used by the BBS (for netmail
credits), and <modemtype> sets the modemtype to be used for this
node. (Examples:
OVERRIDE 1:234/444 57
OVERRIDE 1:340/303 0 0 12)
PASSWORD <Address><Password>
This is an alternate way of creating session-level passwords,
included for compatibility. <Address> is a full 4D network
address, and <password> is the password to be applied to that
number.
(Example: PASSWORD 1:23/456 MyPass)
PHONE <Address> <number>
Allows one to change/insert phone number data for a specific
node. <Address> is a full 4D node, where <number> is the full,
untranslated number to be inserted for that node. Zparse will
strip any required prefixes for <number> based on the dialing
translation tables. [Example: 1:234/45 1-234-555-6666]
POINTS <filename>
Specifies a point list format file to be included for processing.
This may only be used for points, or (as outlined in section 3.3)
to include nodes not listed in the nodelist. (Example:
POINTS ZPARSE.PTS)
SET <Address>,<Password>,<Phone>,<speed>,<flags>[,<flag2>,<flag3>,...]
Used to alter nodelist entries, or to establish passwords for use
in session-level password protection. (Password sets may also be
used with the PASSWORD verb.) It is useful for giving phone
numbers to -unlisted- entries, and so on. The commas are NOT
optional, but need not be placed if no data is following.
(Examples:
SET 1:234/567,Mypassword
SET 1:234/56,,1-235-234-4567
SET 1:234/5,,,,VFC,CM)
STRIPDASH
Removes dashes (-) from phone numbers. This is primarily
for those whose modems/mailers may not handle the dash properly.
USERFLAGS
Instructs Zparse to process user flags (usually following
standard nodelist flags) as modem flags. This is useful
in situations where modem flags are not yet 'approved', yet user
flags can be used for better determination of connections. Using
this verb will only instruct Zparse to search for user flags.
Thus, a match could be made against a UVFC flag, providing that a
MODEM statement (for example) specified an action for a UVFC flag
if found.
VERSION7
Included for future compatibility. Commenting this verb out will
have no effect.