home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
com
/
bbs
/
parselst
/
parselst.doc
next >
Wrap
Text File
|
1988-11-26
|
36KB
|
842 lines
+---+-------------------------------
| o |
| | Zone,1,Intl_FidoNet_Co,Phoeni
| o | ,1,FidoNews,FidoNews_Editor,D
ParseLst Version 1.30 | | ,2,Euro_Gate,Portland_OR,Rand
| o | ,3,OZ_Gate,Portland_OR,Randy_
A Nodelist Processing | | ,10,Int'l_FNet_Assn,St_Louis_
Program by Bob Hartman | o | ,11,IFNA_Finance,Honolulu_HI,
| | ,12,IFNA_Legal,Parsippany_NJ,
Documentation Written | o | ,16,IFNA_Mem._Data,Clevland_O
by Alan Applegate | | ,17,IFNA_Mem._Info,Clevland_O
| o | ,20,Fido_Tech_Stand,Portland_
| | ,100,General_Help,Clifton_NJ,
| o | ,102,BinkleyTERM_Help,Chattan
| | ,113,OPUS_Info,Chico_CA,Doug_
| o | ,114,Quick_BBS_Help,Floral_Pa
| | ,116,Dutchie_Help,CapeGirarde
| o | ,117,Fido_Help,San_Jose_CA,Jo
| | ,200,Nat'l_Echo_Coor,Concord_
| o | ,201,EchoList_Coord,Toms_Rive
| |
| /\ /\/\/\/\/\ /\/\/\ /\ /\/
\/ \/ \/ \ / \/
\/
ParseLst - Page 1
TABLE OF CONTENTS
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
Notice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Configuration File . . . . . . . . . . . . . . . . . . . . . . 4
Node . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Country . . . . . . . . . . . . . . . . . . . . . . . . . 4
NEW! Complete, Gated . . . . . . . . . . . . . . . . . . . . . 5
UseZone . . . . . . . . . . . . . . . . . . . . . . . . . 5
NEW! Version5, Version6, TBBSList, QuickBBSList, BinkList . . 5
Nodelist, NoNodelist . . . . . . . . . . . . . . . . . . 6
UserList, InterList, NoUserList . . . . . . . . . . . . . 6
FidoTxt, FidoPrn, NoFidoList . . . . . . . . . . . . . . 6
Report, NoReport . . . . . . . . . . . . . . . . . . . . 6
Comments, NoComments . . . . . . . . . . . . . . . . . . 7
Dash, NoDash . . . . . . . . . . . . . . . . . . . . . . 7
Route, NoRoute . . . . . . . . . . . . . . . . . . . . . 7
MaxBaud . . . . . . . . . . . . . . . . . . . . . . . . . 7
MyList, PvtList . . . . . . . . . . . . . . . . . . . . . 7
Igate, Ogate, Gate, Hub . . . . . . . . . . . . . . . . . 8
Password . . . . . . . . . . . . . . . . . . . . . . . . 8
Phone . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Baud . . . . . . . . . . . . . . . . . . . . . . . . . . 9
CM . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Dial . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Cost . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Include . . . . . . . . . . . . . . . . . . . . . . . . . 13
Nodelist Generation for Your System . . . . . . . . . . . . . 13
Command Line Parameters . . . . . . . . . . . . . . . . . . . 14
Product Support . . . . . . . . . . . . . . . . . . . . . . . 14
ParseLst - Page 2
INTRODUCTION
ParseLst is a program for processing a FidoNet nodelist.
ParseLst uses a control file to process the information contained
in a raw, "St. Louis" nodelist, and turn the information into a
form usable by several FidoNet compatible BBS and mailer
packages, including BinkleyTerm, Opus-CBCS, TBBS and QuickBBS.
ParseLst is capable of producing so-called "new Opus style"
(Version 6) nodelist files for use with BinkleyTerm 1.21 and
above, and Opus-CBCS 1.30 and above.
ParseLst provides complete one-step processing of a FidoNet
nodelist into a form usable by a given BBS or mailer package.
This functionality includes updating the nodelist based on
information provided by NODEDIFF update files, distributed weekly
within FidoNet.
ParseLst is capable of operating with an XlatList-style control
file, and supports most of the functions available with XlatList.
NOTICE
ParseLst is not supplied with any sort of guarantee. You use
ParseLst at your own risk.
The following names are either trademarks or the work of the
individuals and/or companies shown:
FidoNet - Tom Jennings and Fido Software
Opus-CBCS - Wynn Wagner
RouteGen, XlatList, SEAdog - Thom Henderson and System
Enhancement Associates, Inc.
TBBS - Phil Becker, eSoft, Inc.
QuickBBS - Adam Hudson
ParseLst - Page 3
OPERATION
ParseLst requires a configuration file, PARSELST.CFG, to be
available to the program at run-time. This file has in it the
various control parameters required to customize the output of
ParseLst to your specifications.
When invoked, ParseLst will search the current directory for
NODEDIFF.nnn files whose julian date is one week later than the
latest numbered NODELIST.nnn file. The "nnn" is three digits
that correspond to the julian date when the NODELIST or NODEDIFF
file was produced. If such a NODEDIFF exists, ParseLst will
apply the changes to the NODELIST, and create a new NODELIST.nnn
file with the same number as the NODEDIFF used for the update.
ParseLst will produce various output as directed by the
configuration file. Although ParseLst can produce the familiar
NODELIST.BBS file of other nodelist processors, the user will
usually desire finished, ready-to-use nodelist files. ParseLst
can produce these compiled nodelist files:
Opus Version 6 NODELIST.DAT, NODELIST.IDX
Opus Version 5 NODELIST.SYS, NODELIST.IDX
TBBS INDEX.DOG, NETLIST.DOG, NODELIST.DOG
QuickBBS QNL_DAT.BBS, QNL_IDX.BBS
ParseLst can also produce special supplemental nodelist data
files to be used with BinkleyTerm when the master nodelist in use
does not contain complete information (as is required when using
the TBBS nodelist files with BinkleyTerm).
ParseLst is different from some other nodelist processors, in
that it will NEVER output an "unpublished" node. Instead,
ParseLst substitutes the information for the unpublished node's
host (phone number, baud rate, flags, etc.). If the unpublished
number is for an independent, the node is omitted from the final
list - no mail can be sent to an independent node without the
proper phone number. This way, the mail will always go out (even
crash mail on systems that support the nodelist flags) without
problems.
ParseLst - Page 4
CONFIGURATION FILE
In this section, we describe the configuration file options
available for ParseLst.
In many local nets within FidoNet, XlatList control files are
"shared" among Sysops. Since the control files can be rather
complicated and lengthy, it might be wise to check with other
Sysops in your area to see if they can supply you with a working
XlatList control file. Since ParseLst can use the same file with
minimal changes, all you'll need to do is customize the control
file for your application, rename it PARSELST.CFG, and run the
program.
The options are explained here for reference. NOTE: ParseLst
DOES NOT support the following parameters:
Addr
Index
Sindex
NoIndex
CleanUp
Ozone
PubList
Points
Note also that the names of the various parameters are shown as
they are for visual clarity. In practice, the configuration file
is NOT case sensitive. Items in square brackets ([]) are optional.
Node [<zone>:]<net>/<node>
Example: Node 1:3000/45
This informs ParseLst where you're located. This is a full
network address. In the example above, "1" is the zone, "3000"
is the net, and "45" is the node. If the zone number is left
out, the resulting nodelist will not have zones present.
Instead, the appearances of the ZONE keyword will be converted to
the REGION keyword.
Country <country>
Example: Country 1
This tells ParseLst what country you're in. In the various
dialing and cost tables, this entry defines what would qualify as
an "international" call. For the United States, "1" is the
correct entry, and is the default value.
ParseLst - Page 5
CONFIGURATION FILE (Continued)
Complete <-- Default
Gated
This tells ParseLst how much zone information to include in its
output files. 'Complete' will place node information from ALL
zones in the raw nodelist into any ParseLst output. 'Gated' will
place node information from YOUR ZONE ONLY in the raw nodelist
into any ParseLst output.
UseZone
This tells ParseLst to keep the ZONE keyword as it appears in the
raw nodelist in the proper place inside the NODELIST.BBS file, if
generated.
If NOT used, the ZONE keyword will be replaced with the keyword
REGION in the resulting NODELIST.BBS file.
If the 'NoNodelist' statement is used in PARSELST.CFG, this
statement will have no effect.
Version5
Version6
TBBSList
QuickBBSList
BinkList
These options tell ParseLst to directly produce compiled nodelist
output.
'Version5' will produce NODELIST.IDX and NODELIST.SYS files.
These are compatible with Fido Version 11w, Opus 1.03a, and
BinkleyTerm 1.30 and earlier.
'Version6' will produce NODELIST.IDX and NODELIST.DAT files.
These are compatible with Opus 1.30 and later, and BinkleyTerm
1.21 and later.
'TBBSList' will produce INDEX.DOG, NETLIST.DOG and NODELIST.DOG
as used by TBBS.
'QuickBBSList' will produce QNL_IDX.BBS and QNL_DAT.BBS as used
by QuickBBS 2.01 and later.
'BinkList' will produce NODELIST.IDX and NODELIST.EXT, special
supplemental nodelist data files for use with BinkleyTerm, when
the main nodelist in use does not support complete information.
For example, when using a TBBS style nodelist for use with
BinkleyTerm 1.50 or later, you must use BOTH the 'BinkList' and
'TBBSList' options.
ParseLst - Page 6
CONFIGURATION FILE (Continued)
Note that one or more of these options can be used simultaneously
to produce output of multiple types. The format of NODELIST.IDX
is the same in all cases, and can used simultaneously. The
default is not to generate any of these files.
Nodelist <-- Default
NoNodelist
This tells ParseLst whether or not to output a NODELIST.BBS file
as the result of nodelist processing. If you're using the
options explained above for processing to a compiled nodelist
format you probably will not need the NODELIST.BBS file at all.
UserList
InterList
NoUserList <-- Default
These options inform ParseLst to create (or not to create)
various listings of Sysops in the raw nodelist.
'UserList' will generate a file called FIDOUSER.LST that contains
the names and node addresses of the Sysops in your zone.
'InterList' will generate a file called FIDOUSER.LST that
contains the names and node addresses of ALL the Sysops in ALL
zones.
'NoUserList' will generate no such listing at all.
The default value is 'NoUserList.' Please note that QSORT, a
program by Ben Baker, needs to be available to ParseLst in order
to complete the processing of FIDOUSER.LST if you have one of the
options enabled.
FidoTxt
FidoPrn
NoFidoList <-- Default
This tells ParseLst whether or not to produce a human readable
nodelist report. 'FidoTxt' produces an 80-column version of the
report, NODELIST.TXT. 'FidoPrn' produces a 132-column version of
the report NODELIST.PRN. 'NoFidoList' is the default value, and
tells ParseLst not to produce any such report.
Report <-- Default
NoReport
This tells ParseLst whether or not to display a report outlining
the number of nets, nodes and other information that the program
has processed. Output can be redirected at the ParseLst command
line to a printer or file.
ParseLst - Page 7
CONFIGURATION FILE (Continued)
Comments
NoComments <-- Default
This tells ParseLst whether or not to display the comments in the
raw nodelist (comments frequently contain timely information from
the Zone Coordinator). Output can be redirected at the ParseLst
command line to a printer or file.
Dash <-- Default
NoDash
This tells ParseLst whether or not to retain the hyphens found in
nodelist telephone number entries. Leaving them out saves some
space in the output file(s) that ParseLst may produce. Some
modems also have limitations on the length of the dial string
which may necessitate the use of the 'NoDash' option.
Route
NoRoute <-- Default
This tells ParseLst whether or not to output a data file for use
by System Enhancement Associates' RouteGen program. The name of
the data file will be NODELIST.FON if this option is enabled.
MaxBaud <baud>
Example: MaxBaud 2400
This tells ParseLst the maximum baud rate you're capable of
supporting. Baud rates in the nodelist that are higher than this
value are changed to it in ParseLst's output.
MyList <filename>
PvtList <filename>
Example: PvtList mylist.lst
These options tell ParseLst the names of raw nodelist files that
are to be processed with the primary nodelist. The designated
nodelists must be in the same format as the primary list
(following FidoNet specifications). You may use multiple
'MyList' and 'PvtList' entries in the configuration file if
desired. The two options work the same way, except:
When 'MyList' is used, information about the list is included in
the reports generated by ParseLst.
When 'PvtList' is used, information about the list is NOT
included in the reports generated by ParseLst.
ParseLst - Page 8
CONFIGURATION FILE (Continued)
ParseLst will not search for a "latest" listing if these options
are used, therefore, include a file extension when using either
of these options.
Igate [<zone>:]<net>/<node>
Ogate [<zone>:]<net>/<node>
Gate [<zone>:]<net>/<node>
Hub [<zone>:]<net>/<node>
These options are for use in conjunction with SEAdog. They
effect the output of NODELIST.BBS and NODELIST.FON, if generated.
They have no effect unless the 'Gated' keyword is used, as is
required when generating a nodelist for use by SEAdog.
Password [<zone>:]<net>/<node> <password>
Example: Password 1:3000/45 mypass
Used in conjunction with the 'Version5,' 'Version6,'
'QuickBBSList' and 'BinkList' options, this allows the insertion
of a password in the nodelist entry for a given node. The
password is used by Opus-CBCS and BinkleyTerm to password protect
a network session. This option has no effect on the NODELIST.BBS
file, if one is being produced by ParseLst.
You must specify a node address and the password to be associated
with that node.
The remote system must also have implemented the password
feature, and the passwords must match in order for the session to
be successful.
Refer to the documentation for your respective mailer or BBS for
more information.
Phone [<zone>:]<net>/<node> <number>
Example: Phone 1:3000/45 1-303-555-9876
This tells ParseLst to substitute the phone number given in lieu
of the one in the nodelist, for the node address given. You must
give the replacement telephone number in its full form to allow
other ParseLst configuration options to work correctly.
In the example above, regardless of the phone number listed for
3000/45 in the nodelist, 1-303-555-9876 will be the phone number
included for this node in any ParseLst output files.
This is handy for use with "unlisted" private nodes (when you
know their phone number).
ParseLst - Page 9
CONFIGURATION FILE (Continued)
Baud [<zone>:]<net>/<node> <baud_rate>
Example: Baud 1:3000/45 2400
This tell ParseLst to substitute the baud rate given in lieu of
the one in the nodelist, for the node address given.
In the example above, regardless of the baud rate listed for
3000/45 in the nodelist, 2400 will be the baud rate included for
this node in any ParseLst output files.
CM [<zone>:]<net>/<node>
Example: CM 2:500/1
This tells ParseLst to mark a node as #CM (continuous-mail
capable, or "crashable"), even though it may not be listed as
such in the raw nodelist.
This statement only applies when the 'Version6,' 'BinkList' or
'QuickBBSList' statements are used.
This option is primarily intended for temporary use where a node
may not be listed correctly in the raw nodelist. Use it
carefully...trying to send mail during non-mail hours to systems
that may not be able to accept it is inviting trouble.
Dial [<domestic>][<international>]
Example: Dial 10777- 011-
1-303-989- 989- ; Local Dialing Area
1-303- 1- ; In-State, Non-Local
1-913- /-010 ; Special Case
End
The 'Dial' statement begins a dial table, which is ended by an
'End' statement.
The 'Dial' statement itself can take two parameters, the first of
which is what is to be prepended to domestic telephone numbers,
the second what is to be prepended to international telephone
numbers. These parameters are defaults, and are used when none
of the dial table entries match a given telephone number.
Subsequent entries after the 'Dial' statement (but before the
'End' statement) are used to change telephone number entries in
the nodelist during processing. The parameter on the left is the
entry in the nodelist to match and replace, the one on the right
is the parameter to change the matched to.
ParseLst - Page 10
CONFIGURATION FILE (Continued)
The table entries (as well as the 'Dial' statement parameters)
take the form:
<prefix>
<prefix/suffix>
/<suffix>
/
Prefix entries deal with the beginning of the phone number,
suffix entries refer to the end of the phone number.
If a given phone number does not match any item in the dial
table, then the default items in the DIAL statement are applied.
In the example above, "10777-" would be added to the beginning of
any domestic telephone number that does not match a dial table
entry; "011-" would be added to international numbers that do not
match an entry. Note that since no forward slash was used (/),
it is assumed that the entry will be a prefix, and is added to
the beginning of the number.
In the dial table, the left argument is used to find a match, the
right argument REPLACES that match. In other words, the first
argument means "match this and strip it from matching entries."
The second argument means "add this to matching entries." Any
combination of prefix, suffix, or both can be used.
Above, the first dial table entry (labeled "Local Dialing Area")
looks for any telephone numbers that begin with "1-303-989-" and
changes the entry to begin with just "989-" instead. In the
third entry, telephone numbers that begin with "1-913-" will have
that prefix stripped, and the telephone number will have "-010"
appended to the end.
Some examples:
1-213-555-1234
This number does not match any dial table entries, and
would be changed to 10777-1-213-555-1234. The default
(on the 'Dial' line) says to add "10777-" to any
domestic telephone number that doesn't match a dial
table entry. An entry like this might be used as it is
here, to add a carrier access code to long distance
numbers.
Had this number been international number, "011-" would
have been added to the beginning by default.
ParseLst - Page 11
CONFIGURATION FILE (Continued)
1-303-989-0000
This number would be changed to 989-0000. The first
portion of this phone number, 1-303-989-, matches a
dial table entry. The entry says to change matching
prefixes to the second parameter, in this case, simply
989-. An entry like this is typically used for other
local nodes, since you don't need to dial "1" or the
area code for local numbers. You'd need an entry like
this for EACH prefix in your local calling area. Note
that the dial table entries are processed in order.
This telephone number also matches the second dial
table entry in the example list, but since it already
matched a previous entry, subsequent matches are
ignored.
1-303-245-0000
This number would be changed to 1-245-0000. The first
portion of this phone number, 1-303-, matches a dial
table entry. The entry says to change the prefix shown
to simply 1-. Typically, an entry like this would
follow the local calling area entries described above.
1-913-555-9876
This number would be changed to 555-9876-010. The
prefix of this number matches a dial table entry. The
entry says to replace the prefix with the given suffix
(the "/" character indicates a suffix). This
particular entry has no practical use, but it
demonstrates that the first portion of a dial table
entry means to "strip" that from matching entries, and
replace it with the information shown in the last
portion of the dial table entry. Any combination of
prefix, suffix or both can be used.
Cost [<domestic>][<international>]
Example: Cost 25 325
1-203- 17 ;Connecticut
1-204- 100 ;Manitoba Canada
1-214- 17 ;Texas
1-303-230- 0 ;Local, Lakewood
1-303-279- 0 ;Local, Golden
1-303-340- 0 ;Local, Aurora
1-303- 80 ;Colorado, Non-Local
1-602- 20 ;Arizona
33-56- 133 ;Bordeaux, France
852- 238 ;Hong Kong
354- 238 ;Iceland
End
ParseLst - Page 12
CONFIGURATION FILE (Continued)
This statement marks the beginning of a cost table, which is
ended with the 'End' statement. The cost table is used to set
the cost of dialing out to various areas that might be found in
the nodelist.
The 'Cost' statement itself can take up to two arguments, the
first being a default domestic cost, and the second being a
default international cost. These are used if no matches are
found within the cost table for a given nodelist entry.
The entries between the 'Cost' statement and the 'End' statement
make up the cost table, and define the amount in the lowest
denomination of money in your area (in the United States and
Canada, this would be cents, for example).
Like the dial table, the first entry is used to find matches in
the nodelist. The second entry is assigned as the cost for
matching entries. The cost table entries are used in the order
that they appear in the table. Once a match is found, no further
matches are attempted.
Typically, the dial table lists domestic prefixes first,
including a section devoted to your local calling area. The
latter portion is devoted to international prefixes, if
applicable. The sample table above is for a node in Denver,
Colorado. The sample, as well as your own cost table, will
probably be much, much bigger.
Some examples:
1-213-555-1234
This entry, a domestic call, does not match any of the
cost table entries. The cost assigned to this entry is
25, the default domestic cost.
33-60-122331
This entry, an international call, does not match any
of the cost table entries. The cost assigned to this
entry is 325, the default international cost.
1-303-228-1111
This entry is in the same state as the node using the
cost table, but it is not one of the entries shown as
being listed in the local calling area. It is assigned
a cost of 80.
ParseLst - Page 13
CONFIGURATION FILE (Continued)
1-303-279-0000
This number matches one of the entries listed as being
local, and is assigned a 0 cost.
Include <filename>
Example: Include altcmnds.txt
This tells ParseLst to stop reading commands from the current
file, and start reading them from the beginning of the named
files. Once the end of the file is reached, ParseLst will begin
reading commands from the initial file again, starting at the
command following the 'Include' statement that caused it to
branch.
NODELIST GENERATION FOR YOUR SYSTEM
The following table illustrates the statements that should be
used to generate nodelist data files for listed systems. Note
that in most cases, ParseLst can create nodelist data files for
more than one system simultaneously.
System Statements to Use
------------------ ---------------------------------------------
BinkleyTerm 1.30- NoNodelist Version5 Complete
BinkleyTerm 1.30+ NoNodelist Version6 Complete UseZone
Fido 11w NoNodelist Version5 Complete
Fido 12 Complete UseZone
Opus 1.0x NoNodelist Version5 Complete
Opus 1.1x NoNodelist Version6 Complete UseZone
QuickBBS NoNodelist QuickBBSList Complete UseZone
SEAdog NoNodelist TBBSList Gated
TBBS NoNodelist TBBSList Gated
TBBS w/BinkleyTerm NoNodelist TBBSList BinkList Complete UseZone
NOTE! The 'Gated' keyword may be used by ANY system to create a
smaller finished nodelist that features only those nodes in your
zone (and some administrative nodes in other zones).
ParseLst - Page 14
COMMAND LINE PARAMETERS
ParseLst offers a selection of command line options. Note that
the items in angle brackets below, <baud> excepted, represent a
complete drive, path and filename designation.
-e
Let EditNL do the updating of the nodelist. EditNL
must be available in the current directory.
-n<nodelist>
Use <nodelist> as the nodelist to be processed.
-c<config>
Use <config> as the ParseLst configuration file.
-m<mylist>
Use <mylist> as an additional nodelist. This works the
same as the 'MyList' configuration file statement.
-p<pvtlist>
Use <pvtlist> as an additional private nodelist. This
works the same as the 'PvtList' configuration file
statement.
-b<baud>
Use <baud> in place of the rate shown with the 'Baud'
configuration file statement.
PRODUCT SUPPORT
Since ParseLst is "freely available," direct product support, per
se, is not available. If you have problems or questions with
ParseLst, you are welcome to send an inquiry to:
Alan Applegate, FidoNet 1:104/36
The Short Line Opus, Denver, Colorado, USA
(303)-969-9510
You may also call directly (pre-registration via NetMail
required; send name, mailing address, telephone and desired
password). A product support message area has been created to
field questions regarding ParseLst.
Inquiries will be answered on a time-available basis only.
Flames are never dignified with a response.
Thanks for using ParseLst! Enjoy!