home *** CD-ROM | disk | FTP | other *** search
-
- ΓòÉΓòÉΓòÉ 1. Readme First ΓòÉΓòÉΓòÉ
-
-
- FastLst Readme First
-
- Development of V7/V7+ programs
-
- How to develop programs that use the Version 7 nodelist:
-
- If you are interested in developing programs that access the V7
- nodelist, you can find all the necessary information in the
- BinkleyTerm 2.60 sources (BSRC_260.ZIP) or you can use the OS/2
- DLL provided by Jim Dailey (V7NL.ZIP); both files are
- requestable from 2:332/504@fidonet.
-
- For a criterion to avoid problems in concurrent access to the
- V7/V7+ files while FastLst is building/renaming them, please see
- "V7+ Semaphore" in the V7Plus.Doc file.
-
-
- Version 7 Plus format
-
-
- For information about the new extensions to Version 7, please
- see "Version 7 Plus" or the V7Plus.Doc text file.
-
-
- ΓòÉΓòÉΓòÉ 1.1. Files in the archive ΓòÉΓòÉΓòÉ
-
-
- Files in the original archive:
-
- File_Id.Diz The standard description
-
- Fastlst.Exe The executable
- FastLst.Ico An Icon for FastLst
- FastLst.Inf The Inf documentation
-
- Readme.1st This file
- Whatsnew.Txt Fixes and additions
- Fast_Min.Cfg The sample minimal configuration file
- Fast_Ful.Cfg The sample full configuration file
- Compress.Cfg The sample compression definition file
- FastLst.Doc The Ascii documentation
-
- License.Doc The License
- Register.Doc The Registration Docs
- Register.For The Registration Form
- BmtMicro.For The BMT Micro registration form
- PsL.Crd The PsL Credit Card registration form supplement
-
- V7Plus.Doc The Version 7+ standard
- v7p_src.zip The Version 7+ example source code
-
- OS/2 Only
-
- FastLst2.Ico An Icon for FastLst/2, by Andrea Vavassori
-
-
- Dos Only
-
- Dos4Gw.Exe Dos Extender
- Dos4Gw.Doc Dos Extender Documentation
-
-
- The OS/2 Inf manual is provided with other versions too,
- since there are INF viewers under Dos. For example, the very
- nice viewer by Damir Ujcic: VIEW01.ZIP, available for F/R from
- 2:332/504@fidonet: it contains a text mode viewer in both OS/2
- and Dos versions.
-
-
- ΓòÉΓòÉΓòÉ 1.2. Whatsnew ΓòÉΓòÉΓòÉ
-
- Whatsnew
-
- If you are using an older version of the program, please read
- WhatsNew.Txt before using this version.
-
-
- ΓòÉΓòÉΓòÉ 1.3. How to contact the author ΓòÉΓòÉΓòÉ
-
-
- How to contact the author
-
- If you have suggestions, bug reports, observations about the
- docs, please feel free to contact me at the following
- addresses:
-
- Alberto Pasquale of 2:332/504@fidonet
-
- bug@apworks.com Bug Reports
- feedback@apworks.com General Feedback (no answer required)
- info@apworks.com Request for information
- sales@apworks.com Commercial stuff
- support@apworks.com Technical Support
-
- 2:332/504@fidonet +39-59-246112 X75 V120 X2 V34+ VFC V32T H16
- 2:332/524@fidonet +39-59-246113 X75 CCB
- Fax: +39-59-246113
-
- Alberto Pasquale, Viale Verdi 106, 41100 Modena, Italy
-
- IMPORTANT: if you call crash and require an answer, please state
- whether you want it routed (might not be reliable) or ON HOLD
- (in which case an answer should be available in 48h maximum,
- apart from the holiday periods).
-
-
- ΓòÉΓòÉΓòÉ 1.4. Support ECHO ΓòÉΓòÉΓòÉ
-
-
- Support ECHO
-
- I am originating an international support echo for all my
- programs. If you are interested, please ask your echo feeder to
- find a suitable link for the APWORKS area. In addition, I
- regularly read the international OS2BBS echo.
-
-
- ΓòÉΓòÉΓòÉ 1.5. TIC distribution ΓòÉΓòÉΓòÉ
-
-
- TIC distribution
-
- All my BBS related programs are distributed via a TIC file area.
- If you want to join, please ask your file feeder to find a
- suitable link for the APBBS (OS/2), APBBSDOS (Dos),
- APBBSWIN (W32) areas.
-
- Public Beta versions are distributed without restrictions in
- APBBSBETA.
-
- There are also APTOOLS for 3rd party tools related to APWORKS
- programs and APWORKSG for German documentation by Roland
- Schiradin.
-
-
- ΓòÉΓòÉΓòÉ 1.6. APWorks Programs and Support Areas ΓòÉΓòÉΓòÉ
-
-
- Where to look for
- APWorks Programs and Support Areas
-
- In North America the APWORKS support echo should be easily
- available, since it is on the Zone 1 backbone.
-
-
- The following systems carry the ApWorks echo and file areas:
-
-
- Author's
- APWORKS
- Alberto Pasquale, Modena, Italy
- info@apworks.com
- 2:332/504@fidonet +39-59-246112 X75 V120 X2 V34+ VFC V32T H16
- 2:332/524@fidonet +39-59-246113 X75 CCB
- File requests could be declined between 23:00 and 06:00 GMT.
- Request APFILES for a (short) list of APWORKS files only.
-
-
- Europe
-
- ApWorks_Germany
- Roland Schiradin, Eltville, Germany
- schiradi@tap.de
- 2:2454/169@fidonet
-
- Cyberia/2
- Harald Kamm, Bamberg, Germany
- 2:2490/3045@fidonet
-
- Air Applewood
- Vince Coen, Roydon, Harlow, Essex, United Kingdom
- 2:257/609@fidonet
-
- Solace
- Henrik O A Barkman, Stromsund Jamtland, Sweden
- 2:205/454@fidonet
-
-
- North America
-
- COMM Port OS/2
- Bob Juge, Sugar Land, TX, USA
- bob@juge.com
- 1:106/2000@fidonet
-
- Common Sense
- Mike Burgett, Newark, CA, USA
- burgett@cmnsens.zoom.com
- 1:215/705@fidonet
-
- Eclectic Lab 1
- Mary-Anne Wise, New Westminster, BC, Canada
- 1:153/831@fidonet
-
- Filebone: MaxFDN
- Available via Planet Connect, PageSat, Filebone,
- paonline ftphub and the Filegate Project.
-
-
- Australia
-
- Tardis BBS
- Malcolm Miles, North Balwyn, VIC, Australia
- 3:633/260@fidonet
-
-
- ΓòÉΓòÉΓòÉ 1.6.1. File Areas on the Internet ΓòÉΓòÉΓòÉ
-
- File Areas on the Internet
-
- The following site contains all ApWorks products and is maintained by the
- author himself.
-
- http://apworks.com
- ftp://ftp.apworks.com
-
-
- The following site contains programs that can be registered at BmtMicro:
-
- ftp://ftp.bmtmicro.com/bmtmicro
-
-
- The following sites receive ApWorks files via TIC:
-
- ftp://ftp.juge.com
-
- ftp://cmnsens.zoom.com/pub/apworks/bbs
- /bbsdos
- /bbswin
- /tools
- /beta
-
-
- The following site receives ApWorks files via email:
-
- ftp://ftp.oeonline.com/pub/Maximus
-
-
- ΓòÉΓòÉΓòÉ 1.7. Latest Versions ΓòÉΓòÉΓòÉ
-
-
- How to Request the
- Latest Version of APWORKS Programs
-
-
- The following magics are honoured by APWORKS and some of the
- support sites:
-
- Magic Name Description
-
- APFILES ApFiles.Lst List of Programs by Alberto Pasquale
-
- FASTLST2 FLST2???.RAR OS/2 The ultimate v7+ Nodelist processor.
- Fully automated processing and
- maintenance, no need for clumsy batch
- files. Can report to Squish or *.MSG
- areas, multitasking friendly, many
- options.
-
- FASTLSTW FLSTW???.RAR Win32
-
- FASTLSTD FLSTD???.RAR DOS32
-
- FASTLSTG German Docs by Roland Schiradin
- Available on 2:2454/169
-
- NEF2 NEF???.RAR OS/2 TIC file distribution and
- announcement for Binkley-style
- outbound and *.MSG or Squish message
- base, file-Areafix included with
- FileBone support, full multitasking
- aware (BSY, file sharing etc.),
- exceptionally flexible Multi-Aka
- support.
-
- NEFW NEFW???.RAR NT
-
- NEFD NEFD???.RAR DOS32
-
- NEFG NEFG???.* German Docs by Roland Schiradin
-
- FLM2 FLM???.RAR OS/2 File List Manager for Maximus,
- very flexible way of compiling
- many different lists at a time.
- Internal file base support
- (no need for FBP).
-
- FLMW FLMW???.RAR NT
-
- FLMD FLMD???.RAR DOS32
-
- FLMG FLMG???.* German Docs by Roland Schiradin
-
- NMFW2 NMFW???.RAR OS/2 Multi-Robot: netmail forward to
- Sysop's point, Maximus user and file
- management via netmail messages,
- areafix for squish, point routing to
- their boss if no phone number for
- them in the nodelist, etc.
-
- NMFWW NMFWW???.RAR NT
-
- NMFWD NMFWD???.RAR DOS32
-
- QFB2 QFB???.RAR OS/2 Substitute for FBP.EXE
- Generates a separate file-request
- index with no duplicates.
- FreeWare
-
- QFBW QFBW???.RAR NT
-
- QFBD QFBD???.RAR DOS32
-
- QFBG German Docs by Roland Schiradin
- Available on 2:2454/169
-
- SQPRV2 SQPV???.RAR OS/2 Local area (private/public) forward
- to points for Squish. The (Co)SysOp
- points can receive the whole area.
-
- SQPRVD SQPVD???.RAR DOS
-
- ----- SQFM110.RAR OS/2 Allows to change the "from address"
- of PKTs before they are compressed.
- To be used with Squish.
- For example, it is useful to Hub
- coordinators who want to continue
- processing mail with their primary
- address for current links while
- processing with the administrative
- address for their uplink BackBone.
- FreeWare.
-
- ----- SQFMW110.RAR NT
-
- ----- HBRT110.RAR OS/2 Useful to coordinators (above HCs)
- that use Squish. Automatically
- updates the Hub definitions in
- ROUTE.CFG taking the data from a V7
- nodelist.
- FreeWare
-
- ----- HBRTW110.RAR NT
-
- ----- HBRTD110.RAR DOS
-
- ----- SqSl100.Rar OS/2 Sets renum limits in all Squish Areas
- taking the parameters from
- Squish.Cfg.
- FreeWare
-
- ----- SqSlw100.Rar NT
-
- ----- SqSld100.Rar DOS
-
- ----- Apsc2101.Rar OS/2 Simple Scheduler
- Executes commands and batch files
- at configured events.
- FreeWare
-
- ----- CpyB2100.Rar OS/2 To Copy/Move files with FILES.BBS
- description.
- Uses the .LONGNAME EA to preserve long
- names on FAT.
- Existing files are properly overwritten
- or skipped.
- Useful for storing long names on
- floppies or removable FAT disks.
- FreeWare
-
- ----- DirB2100.Rar OS/2 To Show directories of files with their
- FILES.BBS description.
- Looks for the .LONGNAME EA to report
- long names on FAT.
- Useful for checking long names of files
- saved on floppies or removable FAT disks
- (if they were copied with a program that
- preserves long names in the .LONGNAME
- extended attribute).
- FreeWare
-
- ----- AdjFDate.Rar OS/2 Changes by +-N days the File Date.
- Can choose between Creation and
- Modification dates on HPFS.
- Show and Touch options.
- FreeWare
-
- ----- AdjF_Dos.Rar DOS Changes by +-N days the File Date.
-
-
- Current versions (October 29th 1997): NEF 2.38, FastLst 2.01,
- FLM 1.40, NMFWD 2.07, QFB 1.10, SQPrv 1.04.
-
-
- ΓòÉΓòÉΓòÉ 1.8. Bug Reports ΓòÉΓòÉΓòÉ
-
-
- Bug Reports
-
- If you find out a real bug, I will do my best to fix it and make
- the new version available in a few days. To do that, I need your
- cooperation: when you find a strange behaviour, double check
- your configuration and the manual to be really sure it's not
- your fault, then study the conditions in which the bug appears
- and, in the end, send me your detailed report about the bug
- together with your config file and all the stuff necessary to
- replicate the problem. I can fix a bug only if I am enabled to
- reproduce it !
-
-
- ΓòÉΓòÉΓòÉ 1.9. Wish List ΓòÉΓòÉΓòÉ
-
- Wish List
-
-
- To help me provide a better and better program, please let
- me know your problems and your wishes about future versions.
-
- Please let me know your opinion:
-
- Alberto Pasquale 2:332/504@fidonet
- feedback@apworks.com
-
- BBS: +39-59-246112 X75 V120 X2 V34+ VFC V32T H16
- +39-59-246113 X75 CCB
- Fax: +39-59-246113
-
- Viale Verdi 106
- 41100 Modena
- Italy
-
-
- ΓòÉΓòÉΓòÉ 2. Whatsnew ΓòÉΓòÉΓòÉ
-
-
- FASTLST
-
- Changes and Additions
-
-
- ΓòÉΓòÉΓòÉ 2.1. 2.01 ΓòÉΓòÉΓòÉ
-
-
- 2.01 Public Release, October 29th 1997
-
- - Support for the new method of listing IP addresses in
- the Zone 2 Fidonet nodelist.
-
- Example:
-
- a phone of "000-194-155-233-455"
- is changed to "194.155.233.455".
-
- Then any switch-based phone translation is operated,
- just as if the nodelist contained "194.155.233.455".
-
-
- - Support for environment variables in the configuration
- file.
-
- If a '%' is followed by 2 or more characters (different
- from '%' and ' '), it is considered as an environment
- variable and substituted with the corresponding value.
-
- The variable name is terminated by space or another '%'.
-
- Environment variable may also be nested.
-
- To specify a '%' character, write two of them "%%".
-
- Example:
-
- in your environment there is "BBSPATH=d:\bbs\";
-
- you can the use this variable in FastLst.Cfg:
-
- StatusLog %BBSPATH%log\fastlst.log
-
-
- ΓòÉΓòÉΓòÉ 2.2. 2.00 ΓòÉΓòÉΓòÉ
-
-
- 2.00 Public Release, June 19th 1997
-
- - WARNING: this is not a Drop-In replacement.
- Some statements have been dropped.
-
- New Features
-
- - Support for new V7+ nodelist format, via the "Version7+"
- statement.
-
- To enable V7+, just use "Version7+" in the place of
- "Version7".
-
- Version7+ <path> <nodex> [<sysop>[.<ext>]]
-
- Examples:
-
- Version7+ \bbs\v7 NODEX SYSOP
- Version7+ \bbs\v7 NODEX
-
- If SysOp is not specified, <NODEX>.SDX is assumed.
-
- Generated files:
-
- <nodex>.DAT
- <nodex>.NDX
- <nodex>.DTP V7+ data file
- <nodex>.PDX Phone Index
- <nodex>.SDX or as specified by <sysop>
-
-
- - The DTP file is linked "in memory" by default.
- Since this can be a quite memory hungry task, FastLst
- will automatically revert to "On Disk" linking mode if
- there is not sufficient memory.
-
-
- - New LinkOnDisk statement (after Version7) to make
- FastLst link the DTP file using Disk instead of memory.
-
- Version7+ \bbs\v7 NODEX
- LinkOnDisk
-
-
- - New errolevel 17 "Error Linking"
-
-
- - Additional arguments for "Nodelist" statement:
- Nodelist <list> [PartAddr [<region> [<hub>]]]
-
- Since FastLst links the "fidonet" hierarchy, it is
- important to specify region and hub when the nodelist
- segment does not contain this type of information.
-
-
- - Additional arguments for the "NODE" keyword:
-
- Node,<4Daddr>[ <region>[ <hub>]],...
-
-
- - It is now possible to assign call and user costs
- depending on modem type for Verbatim phone numbers.
-
- In the Typedef lines you can configure the costs:
-
- Typedef
- [...]
- VMODEM 200 100 0
- [...]
- End
-
- The call cost is 100, the user cost is 0.
-
-
- - It is now possible to configure special dial
- translations for non-PSTN "phone numbers" that FastLst
- takes "verbatim" by default.
-
- These dial translations DO NOT affect the indexed entry
- (in <NODEX>.PDX) and are intended as a work around for
- the dial translations operated by the mailer program.
-
- The syntax requires a set of strings to be put on the
- Typedef line that defines the affected "Modem Flag".
-
- The first character of each string will be substituted
- with the remaining characters.
-
- A string containing space MUST be included in quotation
- marks. If the quotation mark is needed inside the quoted
- string, it must be double.
-
- 15 strings of 5 characters are allowed.
-
- ATTENTION: This feature is only available in normal (non
- BitType) mode.
-
- Example:
-
- You need to translate '.' to '*', ':' to ' ', 'v' to
- 'V'; call_cost=100, user_cost=0:
-
- Typedef
- [...]
- VMODEM 200 100 0 .* ": " vV
- [...]
- End
-
- You want to translate '.' to '\.', ':' to ' ', 'v' to
- 'V'; call_cost=150, user_cost=100:
-
- Typedef
- [...]
- VMODEM 200 150 100 .\. ": " vV
- [...]
- End
-
-
- Recommended dial translations for Binkley and VMODEM:
-
- -\- .* vV ~\~ ": "
-
-
- - New "digital" costs.
- For people who want to differentiate analog and digital
- costs.
-
- In the Dial or Cost table you can indicate 2 more
- fields; let's consider a Dial-table line
-
- Prefix New Call User Comment
- to Prefix Cost Cost
- match
-
- 43 0043- 4 0 ; Austria
-
- If you do not define the optional new fields, the
- indicated costs are for both analog and digital.
-
-
-
- 43 0043- 4 0 8 0 ; Austria
-
- In this line:
- Analog Call cost = 4
- Analog User cost = 0
- Digital Call cost = 8
- Digital User cost = 0
-
- If the Digital User cost is omitted, it is taken equal
- to the Digital Call one.
-
-
- How can FastLst know about digital calls ?
-
- A new parameter is available in Typedef:
-
- Typedef
- X75 1 DIGITAL ; X75 digital PSTN
- V120 2 DIGITAL ; V120 digital PSTN
- V34 3 ANALOG ; V34 analog PSTN
- V32 4 ; V32 analog PSTN
- VM 5 5 0 .* vV ": " ; VMODEM with costs and dial
- ; translations
- End
-
-
- The ANALOG specification is optional.
-
-
- - Multiple PasswordFile statements now allowed without
- restrictions.
-
-
- - New statement "Include <filename>" to allow inclusion of
- files in FastLst's configuration.
-
-
- - New statement: NoPointLstPhone.
- Can be used in Input, Output or Global blocks.
- It is useful when you want to _remove_ the phone numbers
- specified in the PointLists (German or "Boss" styles)
- and change them to "-Unpublished-".
-
- If you use Squish and Binkley, you usually will like
- pointlists with the Boss' phone in the point entries
- (otherwise a crash message to a point will have to be
- manually readdressed to its Boss).
-
- But if you use a netmail manager (as NmFwd) that already
- routes the crash messages for points that do not have a
- phone to their Boss, then you will probably like this
- statement.
-
-
- - New statement: LogStats.
- Can be used in the output section of an output block.
- It makes FastLst output the statistics for the (output)
- nodelist to MsgLogArea.
-
- Example:
-
- Version7...
- LogStats
-
- Dropped Support
-
- - Dos 16 bit version dropped.
-
- The 32 bit version has the following memory
- requirements: 100K of base memory, 7MB of DPMI for 60000
- nodes.
-
- - Now indices are always processed in memory: dropped
- "FileMode" and "TmpPath" configuration statements and
- "-t" command line switch.
-
- - Dropped support for SysOpLst, SysDup and IncSysOp
- configuration statements: the SysOp index will always
- contain all the entries that are compiled to
- <nodex>.DAT.
-
- - Dropped NoDash keyword: no use.
-
- - The '#' does not mean "take the phone verbatim" anymore.
- Now any phone containing non-numeric characters is taken
- verbatim.
-
- - Dropped support for stripping flags in Dial/Cost table.
-
- - ATTENTION: The "separate Cost Table" and the "BitType"
- options are still supported in this version of FastLst
- but are considered obsolete and their support will be
- dropped in the future.
-
-
- Changed Behaviour
-
- - When a timeout happens accessing the BSY semaphore,
- FastLst now proceeds with the following "Output Block"
- (previously it aborted).
-
- - In the case FastLst terminates with errorlevel 12 or 14,
- next time it will retry compilation, as expected
- (previously it had to be forced with -f in case of
- errorlevel 12).
-
- Bug Fixes
-
- - When Version7 specified a path containing the '.'
- character, FastLst didn't add the default ".NDX"
- extension to the SysOp index filename.
- Fixed.
-
-
- ΓòÉΓòÉΓòÉ 2.3. 1.36 ΓòÉΓòÉΓòÉ
-
-
- 1.36 Public Release, July 18th 1996
-
- - "LocalValues" can now be used multiple times for
- users at the crossroads of multiple area codes.
- See the docs under "Dial Table".
-
- - The "Phone" statement has been extended to:
-
- Phone <Addr> [#]<Phone> [<NodeFlags> [<Cost> [<UCost>]]]
-
- - Phone specifications starting with '#' are taken
- verbatim (no dial translation, no cost look-up); this
- may be handy for internet addresses and script names.
-
- - New statement "CostVerbatimPhone <cost> <ucost>" to
- specify default costs for "verbatim" phone
- specifications.
-
-
- ΓòÉΓòÉΓòÉ 2.4. 1.34 ΓòÉΓòÉΓòÉ
-
-
- 1.34 Public Release, July 1st 1996
-
- - OS/2: New statement "ArcDate Write|Creation" to choose
- which date must be used by FastLst to compute the age
- of archived nodelist files, defaults to Creation,
- ignored by non-OS2 versions.
-
- - New errorlevel 16: nothing found after unarchiving a
- fixed-name nodelist.
-
- - When dealing with fixed-name nodelists, FastLst now
- always sets the archive date to the same value of the
- included file.
-
- - Under certain conditions the old versions of FastLst
- might re-archive the original nodelist file, so that
- it may fail TIC CRC-check when forwarded.
-
- The problem arises when the following conditions are
- satisfied at the same time:
- - new nodelist archive file
- - new configuration
- - zipmethod includes the original archive type
-
- - Improved documentation.
-
-
- ΓòÉΓòÉΓòÉ 2.5. 1.33 ΓòÉΓòÉΓòÉ
-
-
- 1.33
- - OS/2: Version 1.32 invoked the command processor when
- executing external commands with no .exe or .com
- extension specified, instead of trying to load the
- executable directly.
-
- This was due to an overlook of the DosExecPgm OS/2 API,
- used to improve compatibility in the case of substitution
- parameters containing "special" OS/2 characters.
-
- Now FastLst tries to load the command as specified, then
- it tries with .COM extension appended, in the end with
- .EXE.
-
-
- ΓòÉΓòÉΓòÉ 2.6. 1.32 ΓòÉΓòÉΓòÉ
-
-
- 1.32
- - New "MultiLineDesc <nnn> [<c>]" statement for enabling
- Multi-Line description support.
-
- - New "FlagDef" table to associate nodelist flags to user
- defined bits.
-
- - In "Version7 <path> <Nodex> <SysopNdx>" you can now
- specify an extension for <SysopNdx>.
- If no extension is specified, ".NDX" is assumed if
- <SysopNdx> is different from <Nodex>, otherwise the
- ".SDX" extension is used.
-
- - New <nodex>.BSY V7 semaphore to avoid concurrent access
- to nodelist files during compilation.
-
- - New errorlevel 14 exit on timeout on V7 semaphore.
-
- - The "MsgRem" used alone, will report all comment lines,
- excluding the empty ones.
-
- - Use of "Phone <addr> <newnumber>" for scripts and
- internet addresses (not new, just explained):
-
- Examples:
-
- My country code is 39 (Italy) and the area code is 59
- (Modena):
-
- Phone 1:106/2000 39-59-#juge*com ; VMODEM address
- Phone 1:123/4567 39-59-12*34*56*78 ; telnet IP address
- Phone 2:245/6789 39-59-"Bob.scr" ; quoted script name
-
- - Some configuration errors better flagged.
-
- - V7 packing algorithm improved in speed.
-
- - Dropped OS/2 16 bit version
-
- - New NT version. Unfortunately it doesn't work under W95
- (the external commands seem not to work so that nodelists
- can't be packed/unpacked. Maybe when I will upgrade the
- Watcom compiler, I will support W95 too.
-
- - New icon FastLst2.Ico for OS/2.
-
- - New Registration sites.
-
-
- ΓòÉΓòÉΓòÉ 2.7. 1.31 ΓòÉΓòÉΓòÉ
-
-
- 1.31
- - New "CostNullPhone <cost> [<ucost>]" global keyword, to
- allow the specification of costs to be assigned to nodes
- with empty (unpublished, etc.) phone number.
-
- <ucost> defaults to <cost>.
-
- If CostNullPhone is not used, <cost> defaults to 65535
- and <ucost> to 0.
-
- Example:
-
- CostNullPhone 1000 0
-
- Some programs might have bugs that cause problems dealing
- with high costs (such as the default 65535). Should you
- experience problems with entries that have a "NullPhone",
- try setting a lower cost e.g. "CostNullPhone 900 0".
-
- - Before applying a diff, the CRC of the OLD nodelist (as
- reported in its first line) is compared to the one
- reported in the diff file. Previously this check was not
- done, so in the remote case you were applying a diff to
- an illegal nodelist (e.g. a european diff to an american
- nodelist), the error was discovered only at the end of
- the application, when checking the CRC of the resulting
- nodelist.
-
- - Checks added to warn about illegal empty Cost or Dial
- tables. Previously the program hanged.
-
- - No more Access Violations when "ArcDiff" is used without
- "NodeDiff" (it is a strange configuration, but it is now
- legal).
-
- - Fixed bug that caused access violation applying a
- nodediff when using "NodeDiff" without "ArcDiff" (anyway
- you are encouraged letting FastLst do all the work it is
- designed for...).
-
- - The number of archived nodelists to be kept (as specified
- in the ArcList statement) is now checked a second time
- after nodediff application, so that the required number
- of archives is kept exactly. Previously, after nodediff
- application, there was one archive more than specified.
-
- - When specifying <ArcKeep> 0 in "ArcList", the nodelist is
- not archived (previously was archived and then deleted).
-
- - Changed Compress.Cfg to support the OS/2 RAR.
-
- - Dos versions are now distributed with the same executable
- names as the OS/2 versions: FASTLST.EXE (32 bit) and
- FASTL16.EXE (16 bit).
-
-
- ΓòÉΓòÉΓòÉ 2.8. 1.30 ΓòÉΓòÉΓòÉ
-
-
- 1.30
- - WARNING: FastLst v 1.30 is NOT a true "Drop In"
- replacement for v 1.20, anyway there is little to change:
-
- - Add a "CompressCfg <squish_compress_cfg_file>" line to
- the "Global Info" section of your fastlst.cfg.
-
- - Remove all "Arc" and "UnArc" lines.
-
- - In each "Input block" section where you would like to
- be able to compress new nodelists (e.g. where Nodediffs
- are processed and you were using "Arc" statements), add
- one or more "ArcMethod <meth>,[<f>] ..." lines, where
- <meth> represents one of the archiving methods defined
- in <squish_compress_cfg_file> (e.g. ZIP, LH, etc.) and
- the optional <f> is an override for the initial
- character of the archived file extension (in the case
- it is named after the day of the year and you do not
- want to use the first character of the default
- extension, as defined in <squish_compress_cfg_file>).
-
- - See FastLst.Doc for more information.
-
-
- - DOS: There is a new 32 bit version with the DOS4GW
- extender.
-
- - OS/2: There is a new 16 bit version for those who still
- use OS/2 1.3.
-
- - OS/2 32: the "Priority" statement can be used to change
- the priority for the FastLst process.
-
- - The 32 bit versions can now be configured to use the
- temporary file instead of working in memory.
- The "FileMode" statement and the "-t" command line switch
- are used for selecting the mode.
-
- - The routines used in 32 bit versions for "in memory" work
- (no temporary file) have been completely rewritten in
- order to need far less memory. This way, the 32 bit
- versions usually allocate about 1/4 of the memory they
- needed with v 1.20. This is an important issue on systems
- with not too much physical RAM (especially for the DOS
- version, that cannot efficiently use virtual memory), but
- the benefits are noticeable even on systems with plenty
- of RAM (less OS/2 swap reorganization when FastLst ends).
-
- - The "TmpPath" config statement is no longer needed:
- FastLst will use the TMP or TEMP environment variable if
- no TmpPath statement is used.
-
- - If you want FastLst to kill all uncompressed nodelist
- (except for those that are not stored in compressed
- format too), just add a "KillSource" line to the "Global
- Info" section of FastLst.cfg.
-
- - All the ArcList and Arcdiff statements can now work
- WITHOUT the specification of the first letter of the
- extension, i.e. "ArcList NodeList.z??" can be changed to
- "ArcList NodeList.???" and "ArcDiff NodeDiff.z??" can be
- changed to "ArcDiff NodeDiff.???". This way FastLst will
- automatically handle any archive type that shows up in
- the ArcList directory.
-
- - Now all the nodelists and nodediffs can be maintained in
- many different archived formats. The archiving method for
- NodeDiffs must be specified using "ArcDiffMethod
- <meth>,[<f>] ...".
-
- - The "block" structure of the config file remains, but it
- becomes a lot more flexible: the majority of config verbs
- can now be anywhere in the config file, but they have
- effect on different nodelists depending on their position
- in the cfg. E.G.: "PasswordFile", being an address
- related verb, can be both in the "Output Nodelist" and
- "Input Nodelist" sections. If you use it after "Version7"
- but before the first "NodeList", then it will be used for
- all the NodeLists of that "Output block". If you use it
- after a "NodeList", it will be used (as in the past) for
- that Nodelist only. Other non-address related verbs (e.g.
- ArcMethod) can be everywhere (global, output nodelist,
- input nodelist) and the will affect the operations
- depending on their position (global: all the nodelists;
- output: all the nodelist in the current output block;
- input: the current nodelist only).
-
- - "NoRedir" verb: the nodes that should be redirected will
- acquire the empty string as phone number, so that you
- will never call a system different from that you think
- you are calling.
-
- - Many new verbs have been added to support external
- operations; the names are self explaining:
-
-
- BeforeArcList
- AfterArcList
- BeforeUnArcList
- AfterUnArcList
- BeforeUnArcDiff
- AfterUnArcDiff
- BeforeArcDiff
- AfterArcDiff
-
- All the preceding verbs support the %a (complete archive
- name) and %f (add/extract file name, no path) parameters.
-
-
- BeforeEdit
- AfterEdit
-
- The preceding verbs support the %l and %d parameters
- standing for the full pathnames of the NodeList and
- NodeDiff files.
-
-
- BeforeCompile
- AfterCompile
-
- The preceding verbs support the %l parameter only.
-
-
- BeforeKillSource
-
- The preceding verb does not support any parameter.
- It is executed even if "KillSource" is not used.
- It is a means to invoke a command before FastLst ends.
- The "NeededBeforeKill" verb must be used to specify the
- NodeLists needed by this command.
-
- See FastLst.Doc for more information.
-
- - A new cfg section is now available: "NoCompile".
- It is a means for maintaining a NodeList (applying
- nodediffs, archiving with different archivers etc.)
- without compiling it.
-
- - The 3D German PointListst is now internally supported by
- FastLst. Just use the "GermanPointList" verb in the
- pertaining block.
-
- - When all goes well, FastLst exists with errorlevel 0 if
- it has compiled something, 100 if nothing new to compile
- was found.
-
- - New method for evaluating the age of a variable extension
- arcfile: the file date is considered in addition to the 2
- digits in the extension. This way you can keep a greater
- number of old files without creating problems to fastlst,
- even at the year crossing.
-
- - File descriptions in FILES.BBS are now maintained
- (deleted or added). New statements are available:
-
- ArcListDesc <description>
- ArcDiffDesc <description>
-
- <description> can contain the following parameters:
-
- %d day
- %a archiver
- %D date, USA format
- %L Local date
-
- - The dash is now recognized as insignificant while doing
- the Dial and Cost translations.
-
- - The line # is specified when reporting a config error.
-
- - Some information about the compilation can now be
- reported to a fido/squish message area: see FastLst.Doc
- for a description for "MsgLogArea", "MsgRemArea" and
- related statements.
-
- - FastLst is now multitasking smarter: e.g. it retries for
- 15s when it has to delete the old compiled nodelists and
- rename the new ones.
-
- - New Export capability: FastLst is now able to "export"
- segments of nodelist: see the "Export" section in the
- docs.
-
- - The Dial and Cost tables can be unified: the old syntax
- is still supported, but a new way can be used for cost
- and dial specifications. I think that Europeans can
- continue using the old syntax (if they like), while the
- Americans should appreciate the new way (due to the
- complex dial translations needed).
-
- - Fixed bug that caused access violations when no
- "StatusLog" was used.
-
-
- ΓòÉΓòÉΓòÉ 2.9. 1.20 ΓòÉΓòÉΓòÉ
-
-
- 1.20
- - WARNING: FastLst v 1.20 is NOT a "Drop In" replacement
- for previous versions; you MUST modify the config file
- following the comments in it before using this version.
-
- - In order to make available new powerful options without
- using clumsy syntax and risking subtle side effects and
- strange interactions, some obsolete features have been
- dropped and the methods to specify the files to be
- compiled have been modified.
-
- - FastLst is faster than ever: on my system and with my
- configuration, the OS/2 version is about 25% faster
- than v 1.16.
- If you time it, be aware that the OS/2 version optimizes
- memory allocation (and speed) basing on the needs of the
- previous compilation, so it is usually a bit slower on
- the first run with a new cfg.
-
- - The ancient "Version6" nodelist support has been
- dropped. However the sometime-useful fidouser.lst is
- still available.
-
- - The "MergeList" and "Kill999" options have been dropped.
- With version7 you can simply compile segments after the
- full list, since updated entries are put in the indices
- in the place of old ones.
-
- - Added support for compiling multiple V7 nodelists
- with different output names.
-
- - Added support for automatic decompression of
- nodelists and nodediffs: no more complex batch files.
-
- - Now FastLst compiles an output nodelist only if some
- of its input lists are new: the -f command line switch
- has been added to force compilation.
-
- - Pay Attention: version 1.14 introduced a new behaviour
- in generating V7 indices to circumvent a bug in
- Binkley 2.50 V7 search function.
- Now Binkley 2.58 should have fixed the bug, so
- FastLst goes back to the "correct" V7 index.
- A new cfg option has been added to keep using the
- "bug-circumvent" index form: see "V7BugFix" in the
- example config file.
-
- *******************************************************
- * If you are using an older Binkley or some program *
- * that have got inspiration from Binkley 2.50 sources,*
- * you could experience "address not found" problems, *
- * unless you explicitly activate the "V7BugFix" *
- * option in fastlst.cfg. *
- *******************************************************
-
-
- - The "KillOld" and "AutoErase" verbs have been dropped.
- Old nodelist and nodediff files are always erased.
- You can control how many archived files are to be kept
- via the new archive processing verbs.
-
- - The -o -s -l -g -m -p -b command line switches have
- been dropped since they are now useless.
-
- - The "include" cfg keyword and the -i command line
- switch have been dropped.
- You can still include lists of passwords in a separate
- file via the "PasswordFile" cfg keyword, that allows
- to optionally omit the " Password" keyword in front of
- each password specification.
-
- - Due to the frequent misunderstanding of the real meaning
- and function of the "Address" config option, I have
- decided to drop it.
- These days it is not much useful (in a nodelist
- compiler), since many systems have various different
- addresses and we are used to write addresses in the full
- 4D format to avoid ambiguities.
- In the various config options that require an address
- or a part of it, you now need to specify all the
- required fields, always starting with the zone number:
- no assumption is made on your zone/net/node.
-
- - The obsolete "MaxBaud" and "Baud" verb have been dropped.
- Should you use an old 2400 non error-correcting
- modem that needs equal DTE and DCE rates, make sure
- your front-end is configured to dial using its own
- max baud rate instead of the baud rate reported by
- the nodelist for the callee (AutoBaud in Binkley.cfg).
-
- - The "Country" and "UCost" verbs have been dropped,
- the "Dial" and "Cost" tables have been slightly modified
- to specify domestic and international defaults in a more
- coherent manner and to include "UCost" info.
-
- - The "TypeExact" verb has been substituted by the
- complementary "BitType" option.
- Thus the default is now the "Exact Type" used by
- Binkley 2.55 and newer.
-
- - The "TypeCost" verb has been dropped.
- It was used to differentiate CallCost basing on
- modem type. This way, in a multi-line environment,
- you could make each line call the appropriate modem
- types.
- To achieve the same goal, please use the front-end
- dial string selection options (ModemTrans in Binkley).
-
- - The totally useless "Name" and "Comments" options
- have been dropped.
-
- - The "Gated" config option has been dropped and the
- "GateAddr", "GateCoord" verbs have been replaced by
- "IncAddr", "ExcAddr", "IncCoord".
-
- - The "Interlist" config option has been dropped.
- It is substituted by the "IncSysOp" verb.
-
- - The "Type" and "CM" keywords have been dropped.
- Their functions are more cleanly implemented via
- the "NodeFlags" verb.
-
- - The "TypeDef" statement has been modified to a "table"
- form, for better coherency.
-
- - The addresses in Fidouser.Lst now always have the
- heading zone number, even if it is the same as yours.
-
- - Fixed little bug that could cause some cfg keywords
- not to be recognized unless followed by a comment
-
-
- ΓòÉΓòÉΓòÉ 2.10. 1.16 ΓòÉΓòÉΓòÉ
-
-
- 1.16
- - Fixed bug in the Register routine that caused
- some keys not to work (1 every 256).
-
-
- ΓòÉΓòÉΓòÉ 2.11. 1.15 ΓòÉΓòÉΓòÉ
-
-
- 1.15
- - Some programs skip the first entry in V6 nodelist,
- assuming it is a dummy entry that contains the version
- number of the nodelist. These programs could loose
- the "zone number" of the first zone compiled, thus
- assuming zone 0.
- Now FastLst puts the "version ID" entry at the start
- of nodelist V6.
-
-
- ΓòÉΓòÉΓòÉ 2.12. 1.14 ΓòÉΓòÉΓòÉ
-
-
- 1.14
- - Some programs do not correctly read V7 indices when
- an empty node appears (This happens when a key has no
- greater keys in the lower index level, so that it points
- to an empty node).
- Sometimes these programs could not find part of the
- V7 nodelist entries.
- Now FastLst adds a dummy duplicate key to avoid the problem.
-
- - New "Node,<address>,..." keyword to allow
- straightforwad addition of nodes without the need for
- Zone and Host lines.
-
- - Removed the Point flag in the output nodelist for
- point 0 entries (after the "Boss,..." keyword).
-
-
- ΓòÉΓòÉΓòÉ 2.13. 1.13 ΓòÉΓòÉΓòÉ
-
-
- 1.13
- - When a totally empty line was found in a nodelist
- file a strange undesired nodelist entry was compiled.
- It was not a bug since FTS-0005 does not allow
- empty nodelist lines, however it has been fixed
- to avoid problems with private manually written
- nodelist segments.
-
- - The .DOC now reports an "undocumented" feature:
- when using the "Boss,<address>" method for pointlists,
- you can also use the point #0 to easily add the Boss
- entry, if useful.
-
-
- ΓòÉΓòÉΓòÉ 2.14. 1.12 ΓòÉΓòÉΓòÉ
-
-
- 1.12
- - In the case of SysOps of multiple nodes, all the
- Name/Address couples are now put in the SysOp
- lists (fidouser.lst and sysop.ndx).
- This new behaviour allows to use the great "address
- choice" feature of TimEd (excellent Dos/OS2 message
- editor by Gerard van Essen 2:281/527).
-
- - New behaviour of "SysDup" option: since now all the
- name-duplicate sysop entries are kept by default,
- SysDup allows to keep (for a particular sysop name)
- only the entry with one of the specified addresses.
-
- - Many internal changes, not visible to users: if you
- find out a new unexpected behaviour, please let me
- know.
-
- - Removed redundant empty lines in nodelist.prn and
- nodelist.txt after comment lines.
-
-
- ΓòÉΓòÉΓòÉ 2.15. 1.11 ΓòÉΓòÉΓòÉ
-
-
- 1.11
- - CRC is now checked on all nodelist files that have
- the expected CRC on the first line (previously it
- was checked when applying nodediffs only).
-
- - New errorlevel 10 for CRC Error while compiling
- nodelist (errorlevel 9 is still used for CRC Error
- while applying nodediff).
-
- - When merging the first line is skipped if it contains
- the CRC.
-
- - New -r command line switch to avoid exit on CRC Error.
-
- - New -s command line switch to override SYSOP.NDX
- base name.
-
- - Any file specification can contain drive and path,
- including -n -d -o -s overrides.
-
- - When using Version7 only, the added nodelist segments
- are appended to the end of the full main nodelist
- instead of the end of your zone.
-
- - Some small changes in Nodelist.Prn and Nodelist.Txt
-
- - Fixed bug introduced in v 1.10: when a region segment
- (no zone entry) was compiled as the main nodelist,
- zone 0 was erroneously assumed.
- Now the address levels not present in the main nodelist
- correctly default to the config address.
-
-
- ΓòÉΓòÉΓòÉ 2.16. 1.10 ΓòÉΓòÉΓòÉ
-
-
- 1.10
- - OS/2: First 32 bit version, compiled by BC++.
-
- - OS/2: New "flat" index sorting (no more disk based
- merge-sort).
-
- - OS/2: "TmpPath" option in *.cfg not used any more.
-
- - OS/2: Long filename support
-
- - DOS: The "TmpPath" directory is now automatically
- created when necessary.
-
- - New improved Disk Full handling (errorlevel 4)
-
- - New "-o<nodebase>" command line switch to override
- output file names (NODEX.* -> <nodebase>.*).
-
- - New "KillAfter" config verb, to save old nodelist files
- in the case of compilation error.
-
- - New "Boss <address>" statement for easier pointlist
- support (see FastLst.DOC).
-
- - New optional partial address parameter in
- "MyList <nodefile> [default partial address]"
- to allow the addition of nodelist segments without
- the need of ZONE, HOST, node prefix lines (V7 only).
- See FastLst.DOC for more details.
-
- - New "-i<include>" command line switch to allow easier
- different file inclusions.
-
- - New "KillOld" config statement to kill old versions of
- nodelist files.
-
- - New "Kill999" config statement to kill the .999 file
- that remains after merging with MergeList.
-
- - Now the .999 file is killed whenever FastLst begins
- execution, thus you do not have to manually delete it
- if you stop using the MergeList command.
-
- - Now the "Gated" config keyword prevents Hub coordinators
- of other zones to be put in the output nodelist (only
- ZC and NC remain).
-
- - New "GateAddr" config keyword allows to have only
- selected zones, regions and nets in the output files.
-
- - New "GateCoord" config keyword allows to have in the
- output files only selected coordinators from the excluded
- zones, regions and nets.
-
- - New errorlevel 9 exit after CRC error while applying
- a nodediff. If "Autoerase" is active, the nodediff and
- the resulting nodelist files are erased, otherwise they
- are renamed to NODEDIFF.BAD and NODELIST.BAD.
-
- - New "StatusLog" config statement to specify the log
- filename in the .cfg instead of the command line.
-
- - New "TypeExact" config option to set modem types in a
- way more coherent with the behaviour of Binkley 2.55 and
- newer.
-
- - New "SysDup" config option to override FastLst's choice
- when killing duplicate SysOp Names.
-
-
- ΓòÉΓòÉΓòÉ 2.17. 1.06 ΓòÉΓòÉΓòÉ
-
-
- 1.06
- - OS/2: Fixed bug that caused some reg. keys not to work.
-
- - DOS: Fixed bug that sometimes caused memory problems
- during index sorting.
-
-
- ΓòÉΓòÉΓòÉ 2.18. 1.05 ΓòÉΓòÉΓòÉ
-
-
- 1.05
- - New UCOST verbs to set User Cost Different from Call Cost.
-
- - OS/2: Fixed bug that sometimes caused "Disk Full" error.
-
-
- ΓòÉΓòÉΓòÉ 2.19. 1.04 ΓòÉΓòÉΓòÉ
-
-
- 1.04
- - Changed redirection criteria: if you have a password with a
- hold/unpublished system or its coordinator, then it is NOT
- redirected; instead it gets an empty phone number string.
-
- - Slightly changed the algorithm to choose the entry for
- a multi-SysOp in Sysop.Ndx, so that he never gets data from
- an entry that is not used due to local segment override.
-
- - Added "Flags" Keyword to set the user defined bits.
-
- - OS/2: Fixed a bug that caused a "NULL POINTER" error when
- compiling only Version 6 and FidoUserLst.
-
-
- ΓòÉΓòÉΓòÉ 2.20. 1.03 ΓòÉΓòÉΓòÉ
-
-
- 1.03
- - Added <CR> before comment output to fix video output when
- both comments and report are active, Thanks to Roberto
- Zanasi.
-
- - OS/2: First (16 bit) version, ported by Pasquale Cantiello.
-
-
- ΓòÉΓòÉΓòÉ 2.21. 1.02 ΓòÉΓòÉΓòÉ
-
-
- 1.02
- - Null pointer bug fixed in Merge module, Thanks to Pasquale
- Cantiello.
-
-
- ΓòÉΓòÉΓòÉ 2.22. 1.01 ΓòÉΓòÉΓòÉ
-
-
- 1.01
- - Minor message and DOC adjusting.
-
-
- ΓòÉΓòÉΓòÉ 2.23. 1.00 ΓòÉΓòÉΓòÉ
-
-
- 1.00
- - First public release.
-
-
- ΓòÉΓòÉΓòÉ 3. About FastLst ΓòÉΓòÉΓòÉ
-
- **************************************************************
- * *
- * *
- * ******* ** **** ****** **** **** ****** *
- * ** * **** ** ** * ** * ** ** ** * ** * *
- * ** * ** ** ** ** ** ** ** *
- * **** ** ** **** ** ** **** ** *
- * ** * ****** ** ** ** * ** ** *
- * ** ** ** ** ** ** ** ** ** ** ** *
- * **** ** ** **** **** ******* **** **** *
- * *
- * *
- * Version 2.01 *
- * *
- * The ultimate V7+ nodelist processor *
- * *
- * *
- **************************************************************
- * *
- * (C) Copyright 1992-1997 by Alberto Pasquale *
- * *
- * A L L R I G H T S R E S E R V E D *
- * *
- **************************************************************
-
-
-
- FastLst 2.01 User's Manual, by Alberto Pasquale
-
-
- ΓòÉΓòÉΓòÉ 4. Introduction ΓòÉΓòÉΓòÉ
-
- INTRODUCTION
-
-
- -> For licensing information, please see License.Doc.
-
- Thanks for evaluating FastLst: the ultimate "Version 7+"
- nodelist processor.
-
- Version 7 is a common format for binary nodelists to be used by
- mailers, message editors and all the programs that need fast
- access to a compiled nodelist.
-
- Version 7+ is fully compatible with V7 and adds lots of new
- powerful features for V7+ aware applications.
-
-
- ΓòÉΓòÉΓòÉ 4.1. Main Features ΓòÉΓòÉΓòÉ
-
- Main Features
-
-
- - Compiles to Version 7+ format nodelist.
-
- - Support for Version 7.
-
- - Support for old "Fidouser.Lst" sysop list.
-
- - Multiple output nodelist (NODEX.*) compilation from one config
- file.
-
- - The complete maintenance of archived lists and diffs is
- achieved through internal flexible configuration, with no need
- for clumsy batch files.
-
- - Uses "Squish Style" Compress.Cfg.
-
- - Can be invoked from a batch file at predefined events: the
- compilation will take place only if some new list/diff is
- found.
-
- - Multitasking friendly
-
- - The OS/2 version allows for priority setting in the
- configuration file.
-
- - Compilation reports can be posted to Fido or Squish format
- message areas.
-
- - Full 4D (point) support, both via the "Point,..." and
- "Boss,..." keywords.
-
- - Internal support for "German type" pointlists.
-
- - Easy addition of nodes via the "Node,<address>,..." keyword
- in a private list.
-
- - Easy specification of phone strings to be taken "verbatim"
- for internet addresses and script names.
-
- - In the case of SysOps of multiple nodes, keeps all the
- name/address entries in the sysop index.
-
- - User Cost (Msg Fee) can be set different from Call Cost.
-
-
- ΓòÉΓòÉΓòÉ 4.2. Credits ΓòÉΓòÉΓòÉ
-
- CREDITS
-
- This program uses the Squish "MsgAPI" code, Copyright 1991-1994
- by Lanius Corporation. "Squish" and "Maximus" are trademarks of
- Lanius Corporation.
-
- "BinkleyTerm" is a trademark of Bit Bucket Software Co.
-
- "4OS2" is a trademark of JP Software Inc.
-
- The archivers referred-to throughout this documentation are
- Copyright and/or trademarks of the respective owners.
-
- "VMODEM" and "SIO" are Copyright by Raymond L. Gwinn.
-
- "U.S. Robotics" and "I-modem" are registered trademarks of U.S.
- Robotics Access Corporation.
-
-
- ΓòÉΓòÉΓòÉ 4.3. Overall Operation ΓòÉΓòÉΓòÉ
-
- OVERALL OPERATION
-
-
- FastLst has been designed to be invoked regularly from one of
- your main batch files, after mail has been received or at
- pre-arranged times at your pleasure: if any new (compressed or
- not) nodelist/nodediff is detected, Fastlst processes them as
- required (exiting with Errorlevel 0), otherwise it immediately
- exits (errorlevel 100) with no further delay.
-
- When FastLst detects a changed config or password file, it
- compiles all the affected nodelists even if they are not new.
-
- If you want FastLst to compile all of your nodelists even if no
- new ones are present, you need to use the -f or -i command line
- switch.
-
- For each "output block" in the config file:
-
- - New compressed lists or diffs are detected, unarchived and
- optionally rearchived in supplementary formats.
-
- - New diffs are detected and applied: the resulting new nodelist
- is archived. Before applying a diff, the day number and CRC of
- the old nodelist are compared against the ones requested by
- the diff; after application, the CRC of the new nodelist is
- checked.
-
- - New lists are detected and the pertinent output nodelists are
- rebuilt. If no new list is found for a specific "output
- block", that output nodelist is not compiled, unless the -f or
- -i command line switch is specified.
-
- OS commands can be issued before or after each operation: for
- example you can hatch the just created archive file.
-
-
- ATTENTION:
-
- - Every time a config file is changed, FastLst rebuilds all
- the output nodelists, as if the -f command line switch were
- specified.
-
- - Every time a PasswordFile is changed, FastLst rebuilds the
- nodelists that use it.
-
- - The date of the archive files handled by FastLst is set to
- the same value of the contained file (see ArcDate).
-
-
- ΓòÉΓòÉΓòÉ 5. Input Nodelist Format ΓòÉΓòÉΓòÉ
-
- INPUT NODELIST FORMAT
-
-
- The source nodelists and nodediffs must be in standard "St.
- Louis" format, as described in FTS-0005. Anyway, FastLst allows
- some extensions in order to support 4D points, "German style"
- pointlists, easy single node specifications and "verbatim" phone
- strings.
-
-
- ΓòÉΓòÉΓòÉ 5.1. 4D Point Support: POINT and BOSS Keywords ΓòÉΓòÉΓòÉ
-
-
-
- 4D Point Support: POINT and BOSS keywords
-
-
- First method:
-
- Points are entered in the nodelist directly following their
- bossnode. Each one starts with the "Point,<point>" keyword.
-
- Example:
-
- ...
- ...
- ,504,Videl,Modena_I,Roberto_Zanasi,39-59-450600,9600,CM,XA,V34
- Point,1,Pasquale,Modena_I,Alberto_Pasquale,-!Unpublished-,9600,
- Point,2,SysOp,Modena_I,Roberto_Zanasi,-!Unpublished-,9600,
- Point,3,Carta,Modena,Francesco_Carta,-!Unpublished-,9600,
- ...
- ...
-
-
-
- Second method:
-
- Points are entered in the nodelist following the
- "Boss,<address>" keyword.
-
- Example:
-
- ...
- ...
- Boss,2:332/504
- ,1,Pasquale,Modena_I,Alberto_Pasquale,-!Unpublished-,9600,
- ,2,SysOp,Modena_I,Roberto_Zanasi,-!Unpublished-,9600,
- ,3,Carta,Modena,Francesco_Carta,-!Unpublished-,9600,
- ...
- ...
-
-
-
- ΓòÉΓòÉΓòÉ 5.2. German Point List ΓòÉΓòÉΓòÉ
-
-
- German Point List
-
-
- This is a "normal" 3D nodelist that lists each Boss as a
- "fakenet" HOST, with the real address as the system name,
- followed by its points listed as nodes.
-
- Example:
-
- The following nodelist segment lists points 2:2400/1.1 .2 .3:
-
- Host,20000,2400/1,City,Sysop_Name,49-951-999999,9600,CM,V34
- ,1,System_Name_1,City_1,Sysop_Name_1,49-951-999999,9600,
- ,2,System_Name_2,City_2,Sysop_Name_2,49-951-999999,9600,
- ,3,System_Name_3,City_3,Sysop_Name_3,49-951-999999,9600,
-
-
-
- ΓòÉΓòÉΓòÉ 5.3. The NODE Keyword ΓòÉΓòÉΓòÉ
-
-
- The NODE Keyword
-
-
- Another extension over FTS-0005 is provided to allow easy
- addition of nodes in small private lists.
-
- When you need to add a node to your nodelist to call it or to
- enforce a session password with it, you can use the
- "Node,<address>[ <region>[ <hub>]],..." keyword to avoid the
- necessity of adding the entries for its coordinators.
-
- You should specify a full 4D address (point optional).
-
- Any subsequent entry will take the current address as a starting
- point.
-
- E.g.: You want to add 9:888/777.3 of Region 88, Hub 700.
-
- Please note that there is no need to specify Region and Hub
- information when using the Node and Boss keywords, since:
-
- - if the point's Boss is included via some other nodelist, the
- Region and Hub information will be taken from its entry;
-
- - if the point's Boss is not present in the compiled lists, this
- point will be removed from the indices (in this case you may
- want to use two entries for including both the Boss and the
- point);
-
-
- With "Node,...":
-
- ...
- ...
- Node,9:888/777.3,System,City,SysOp,1-234-555-6666,9600,CM
- ...
- ...
-
-
- With "Boss,...":
-
- ...
- ...
- Boss,9:888/777
- ,3,System,City,SysOp,1-234-555-6666,9600,CM
- ...
- ...
-
-
- With the traditional method:
-
- ...
- ...
- Zone,9,...
- Region,88,...
- Host,888,...
- Hub,700,...
- ,777,...
- Point,3,System,City,SysOp,1-234-555-6666,9600,CM
- ...
- ...
-
-
-
- Now let's add 8:101/611 and 8:101/612 in region 10, hub 600:
-
- With "Node,...":
- ...
- ...
-
- Node,8:101/611 10 600,System,City,SysOp,1-234-555-6666,9600,CM
- ,612,System,City,SysOp,1-234-555-6667,9600,CM
- ...
- ...
-
-
- With the traditional method:
-
- ...
- ...
- Zone,8,...
- Region,10,...
- Host,101,...
- Hub,600,...
- ,611,System,City,SysOp,1-234-555-6666,9600,CM
- ,612,System,City,SysOp,1-234-555-6666,9600,CM
- ...
- ...
-
-
-
- ΓòÉΓòÉΓòÉ 5.4. Verbatim Phones ΓòÉΓòÉΓòÉ
-
-
- Verbatim Phones
-
- When a phone entry contains non-numeric characters, it is taken
- verbatim (i.e. no dial translation is applied to adjust the area
- code and long distance or international prefixes).
-
- Call defaults are defined by the CostVerbatimPhone statement.
-
- Note: you might need to change the dots '.' in internet
- addresses to asterisks '*', in order to avoid that the mailer
- (e.g. Binkley) translates them: see TypeDef.
-
- Examples:
-
- Internet address:
-
- ,6,System,City,SysOp,Fantasy.Com,9600,CM,VM
-
- IP address:
-
- ,6,System,City,SysOp,123.456.789.012,9600,CM,VM
-
- Script name:
-
- ,6,System,City,SysOp,"Fantasy.Scr",9600,CM,V34
-
- See also the Phone statement.
-
-
- ΓòÉΓòÉΓòÉ 5.5. IP addresses (Fido Zone 2 method) ΓòÉΓòÉΓòÉ
-
-
- IP addresses (Fido Zone 2 method)
-
- The method used in the Zone 2 Fidonet nodelist wants to be
- completely compatible with the past: an IP address is listed so
- that it looks as a normal phone number.
-
- To avoid PSTN calls to these numbers, an "international" prefix
- of 000 is used.
-
- The flags specify the type of connections allowed (VModem,
- Telnet, BinkD etc.).
-
- Example:
-
- The IP address "194.155.233.455" is listed as
- "000-194-155-233-455", with appropriate flags.
-
- FastLst changes this "fake phone" string back to
- "194.155.233.455" and then processes it just as if it were
- listed this way in the nodelist.
-
- All the processing for "Verbatim Phones" is applied, including
- any switch-based phone translation.
-
-
- ΓòÉΓòÉΓòÉ 6. Miscellaneous Info ΓòÉΓòÉΓòÉ
-
-
- MISCELLANEOUS INFO
-
-
- ΓòÉΓòÉΓòÉ 6.1. Multiple Sysops ΓòÉΓòÉΓòÉ
-
-
- Multiple Sysops
-
-
- In the case of SysOps of more than one system, all the
- name/address couples of compiled entries are output to the SysOp
- index.
-
-
- ΓòÉΓòÉΓòÉ 6.2. Redirected Systems ΓòÉΓòÉΓòÉ
-
-
- Redirected Systems
-
-
- Systems that have no valid phone number (Unpublished, on Hold),
- are redirected, provided you do not exclude redirection using
- the "NoRedir" config keyword.
-
- A redirected system is given the phone number, baud rate, modem
- type, cost and flags of the preceding coordinator, the Board
- name is prepended with '-R-'.
-
- If you have a session password with the system to be redirected
- or with the system it should be redirected to, no redirection is
- done in order to prevent password-mismatch errors in the case
- the Unpublished/Hold system calls you.
-
- Points are never redirected.
-
- The systems that have no valid phone number and cannot be
- redirected take an EMPTY phone number string, so that your
- mailer does not send unexpected strings to your modem attempting
- to call these systems, should something appear in your outbound
- addressed to them.
-
- Pay attention: if you want to directly call these
- null_phone-systems or their coordinators, you have to give them
- a phone number using the "Phone" statement in the configuration
- file.
-
-
-
- ΓòÉΓòÉΓòÉ 7. Installation ΓòÉΓòÉΓòÉ
-
-
- INSTALLATION
-
-
- 1) There are 3 versions of FastLst:
-
- OS/2, W32, DOS 32 (with DOS4GW DOS Extender), distributed in
- separate archives (see Readme.1st).
-
- Choose the one that fits you better.
-
- 2) Write your FastLst.Cfg.
- You can find useful examples in the Fast_*.Cfg files and
- detailed information in the "CFG REFERENCE" section of this
- documentation.
-
-
- 3) Edit your batch file in order to call FastLst whenever you
- would like to test for the presence of new list/diff files
- and process them. If you do not pass a different pathname as
- a command line parameter, FastLst.Cfg must reside in the
- current directory.
-
-
- 4) (OS/2): Make sure you have the MSGAPI32.DLL in a directory
- contained in your LIBPATH. MSGAPI32.DLL can be found in the
- Squish 1.11 archive (SQSHP111.LZH).
-
-
- (W32): Make sure you have the MSGAPINT.DLL in a directory
- contained in your PATH. MSGAPINT.DLL can be found in the
- Max 3.01 for Windows archive (MAX301N.ZIP).
-
-
- (DOS32): Make sure you have the DOS4GW.EXE Dos extender (from
- Tenberry Software Inc.) in your path.
-
- The DOS4GW extender requires an XMS or DPMI memory driver
- installed in your config.sys: e.g. HIMEM.SYS, QEMM (by
- QuarterDeck Office Systems Inc.).
-
-
- 5) FastLst requires a lot of memory to compile long nodelists.
-
- A set of input nodelists totalling 60,000 nodes requires
- approximately 12MB for V7+ "in memory" compilation, 7MB when
- using "on disk" DTP linking and 4.5MB for simple V7.
-
- You have to decide whether to use the "LinkOnDisk"
- statement in the configuration file. If you have enough
- physical memory available you should use the default "in
- memory" mode. On the other hand, if the execution of FastLst
- is excessively slow, you probably are low on memory and you
- could benefit by the use of "on disk" DTP linking.
-
- (DOS): Even if "in memory" DTP linking is
- configured, FastLst automatically switches to "on disk"
- mode if it cannot allocate the needed memory.
-
- If you experience "out of memory" errors, then you have to
- enable the DOS4GW virtual memory mode, using the DOS4GVM
- environment variable (e.g. for 16MB virtual allocation
- size: SET DOS4GVM=VirtualSize#16384).
-
- This works under real Dos only: if you are using OS/2 dos
- sessions, use a higher DPMI_MEMORY_LIMIT in the Dos
- settings.
-
- Please note that FastLst tells you (on screen, in the
- logs, in the report message) how much memory remains during
- compilation, so that you can realize when you are running
- in marginal conditions and consequently adjust your
- configuration before you run out of memory.
-
-
- ΓòÉΓòÉΓòÉ 8. Command Line Switches ΓòÉΓòÉΓòÉ
-
-
- COMMAND LINE SWITCHES
-
-
- -c<cfg>
- Use <cfg> configuration file instead of FASTLST.CFG.
-
- -f
- Force compilation even if no new list/diff has been
- detected.
-
- -i
- Ignore FastLst.Dat: run as if it were the first time.
- All nodelists compiled, all exports executed.
-
- -p
- Prepare: Unarc new lists and diffs, Apply diffs and Arc
- new nodelists, do not compile nodelists.
-
- -r
- When applying a diff, FastLst usually deletes the newly
- generated source nodelist file if a CRC error is
- detected. With this switch the new nodelist is _not_
- deleted, so that it will be processed anyway.
-
- When compiling a list, FastLst usually aborts the
- compilation of the current output nodelist if a CRC
- error is detected. With this switch the current output
- nodelist will be entirely compiled anyway.
-
- -h or -?
- for help
-
-
- ΓòÉΓòÉΓòÉ 9. Errorlevels ΓòÉΓòÉΓòÉ
-
-
- ERRORLEVELS
-
-
- 0 - Normal termination, something compiled
- 1 - Help requested
- 2 - File Open error
- 3 - Abnormal termination
- 4 - Disk Full
- 5 - Can't find config file
- 6 - Configuration error
- 7 - Out of memory
- 8 - Read error while applying diff
- 9 - CRC error (applying diff)
- 10 - CRC error (compiling list)
- 11 - User Break
- 12 - Cannot rename temporary output nodelist files
- 13 - Cannot open source nodelist file
- 14 - Timeout waiting on V7+ semaphore
- 15 - Too many nodelists in inbound directories
- 16 - Nothing found after unarchiving a fixed-name nodelist
- 17 - Error Linking output files
-
- 100 - Normal termination, nothing compiled
-
- 250 - MsgApi: Init Error
- 251 - MsgApi: Area Open Error
- 252 - MsgApi: Area Lock Error
- 253 - MsgApi: Area Close Error
-
-
- ΓòÉΓòÉΓòÉ 10. Configuration ΓòÉΓòÉΓòÉ
-
-
- CONFIGURATION
-
-
- Before analyzing the cfg keywords in detail, let's introduce the
- overall mechanism that is at the basis of FastLst's
- configuration.
-
- If you are converting from a different nodelist compiler, please
- forget the old configuration and start from scratch.
-
- FastLst.Cfg is divided into several logical blocks and the
- sequence of the various statements is essential: you cannot just
- put keywords somewhere in the config file; they must be arranged
- in the correct order.
-
- At first, this characteristic of FastLst's configuration might
- appear complex to understand, but, as soon as you will grasp its
- logic, you will understand that it's really easy to write a
- correct configuration file and you will appreciate its
- extraordinary flexibility.
-
- The first block of configuration is the "Global" one.
- The verbs in this block refer to the compilation of all the
- nodelists.
-
- Then there are one or more "Output Blocks": each output block
- refers to the compilation of a single nodelist (e.g.
- NODEX.*).
-
- Each "Output Block" has a "Output section" (with statements
- regarding the compilation of the whole <NODEX>.* list) and one
- or more "Input blocks" containing the verbs that describe how to
- compile each of the source nodelists.
-
- The first "Output Block" can optionally be of a special kind: a
- "NoCompile" block, whose "Input Blocks" describe nodelists that
- must be maintained (e.g. diffs applied) but not compiled to any
- <NODEX>.* list.
-
- Some statements can be used in blocks of a particular type only,
- others can be used in many different places depending on what
- nodelists you want to be affected. As a rule of thumb, you can
- use each statement anywhere it seems to be logically acceptable.
-
- If you feel frightened by such abstract considerations, please
- take a look at the example Fast*.Cfg files, so that you can
- quickly realize it's not that difficult.
-
- To write your own configuration file you should start modifying
- the example one that is more adequate to your needs.
-
- Now, let's consider all the verbs that are allowed in FastLst's
- configuration.
-
-
- ΓòÉΓòÉΓòÉ 11. Cfg Reference ΓòÉΓòÉΓòÉ
-
-
- CFG REFERENCE
-
-
-
- - Items between square brackets (e.g. [<item>]) are optional.
-
- - The names of the various Keywords are NOT case sensitive.
-
- - When a directory path is required, the trailing backslash '\'
- is optional.
-
- - The ';' character starts comments: any character following the
- ';' is ignored, unless inside quoted strings.
-
- - The maximum length of configuration lines is 254 characters,
- so don't go further (you can always split address lists into
- smaller ones).
-
- - In the OS/2 version, any file specification can be a legal
- OS/2 name, between double quotes if necessary.
-
- - Environment variables can be used anywhere in the
- configuration files.
-
- Variable names must be at least 2 character long, are preceded
- by '%' and followed by either '%' or space.
-
- Environment variable may also be nested.
-
- To specify a '%' character, write two of them "%%".
-
- Example:
-
- in a batch: SET BBSPATH=d:\bbs\
-
- in FastLst.Cfg: StatusLog %BBSPATH%log\fastlst.log
-
- expands to: StatusLog d:\bbs\log\fastlst.log
-
- Nested Example:
-
- in a batch:
- SET BBSLOGS=%%BBSPATH%%log\
- SET BBSPATH=d:\bbs\
-
- in FastLst.Cfg: StatusLog %BBSLOGS%fastlst.log
-
- expands to: StatusLog d:\bbs\log\fastlst.log
-
-
- ATTENTION
-
- Please, note that the order of the configuration statements
- follows some logical rule. In order not to create confusion in
- the .cfg file and not to break some _necessary_ order relation,
- please follow the scheme proposed in the example Fast*.CFG files
- and in this reference documentation.
-
- Please, be aware that the generation of text files (FidoTxt,
- FidoPrn, FidoUserLst verbs) and the use of lots of options and
- overrides can slow down the compilation process: use only the
- options/overrides that you really need if you mind compilation
- time.
-
-
- ΓòÉΓòÉΓòÉ 11.1. Include ΓòÉΓòÉΓòÉ
-
-
- Include <filename>
-
- You can split the configuration into multiple files, including
- them via this statement, which can be used everywhere and
- nested without limits.
-
-
- ΓòÉΓòÉΓòÉ 11.2. Global ΓòÉΓòÉΓòÉ
-
- G L O B A L
-
-
- The following verbs can be used in the Global section of
- FastLst.cfg. Some of them can be used in other places also, so
- they are divided into separate sections.
-
-
-
-
- ΓòÉΓòÉΓòÉ 11.2.1. Section A ΓòÉΓòÉΓòÉ
-
- G L O B A L
-
- Section A
-
-
-
- The following configuration verbs can be used in the GLOBAL
- section of FastLst.Cfg.
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.1. RegKey ΓòÉΓòÉΓòÉ
-
-
- RegKey <RegKey>
-
- Registered Users only: <RegKey> is the registration key
- and it is NOT case sensitive.
-
- Example:
-
- RegKey dfhyuwru6274623
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.2. Priority ΓòÉΓòÉΓòÉ
-
-
- Priority <type> [<level>]
-
- Changes the execution priority of the FastLst process
- (OS/2 only).
-
- Ignored by NT and DOS versions.
-
- <type> is one of: Idle Regular High
-
- <level> is an integer in the range 0...31 and defaults
- to 0.
-
- If you do not use this statement, FastLst will run at
- the default priority, which normally is "Regular 0".
-
- Examples:
-
- Priority High 31
-
- Gives Fastlst the highest priority for "non
- time-critical" processes. It will run fast even if it
- is in the background and other processes are active.
-
-
- Priority Idle
-
- Gives FastLst the lowest priority, so that it loads
- the system as minimally as possible. It will run
- significantly slower, especially if in the background
- or when other CPU intensive processes are in
- execution.
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.3. StatusLog ΓòÉΓòÉΓòÉ
-
-
- StatusLog <LogFile>
-
- <LogFile> is the name of the file where all the
- operations performed by FastLst will be logged,
- following the "Binkley Style".
-
- In multitasking environments, please be sure to use a
- file that cannot be used by other processes at the same
- time. For example: if (in your system) FastLst can be
- executed while Binkley is running, please use different
- log files.
-
- Should you not want the log file, you can comment this
- keyword out.
-
- Example:
-
- StatusLog d:\bbs\log\FastLst.log
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.4. CompressCfg ΓòÉΓòÉΓòÉ
-
-
- CompressCfg <compress_cfg>
-
- This is a "Squish style" compress definition file.
-
- In the case you are using a case-sensitive
- de/compression program (e.g. OS/2 ZIP/UNZIP), please
- make sure to use the correct switches in <compress_cfg>
- and/or the correct case (Lower/Upper) in <NodeList> and
- <NodeDiff> specifications.
-
- You can find the suggested <compress_cfg> in the example
- Compress.Cfg file included in the FastLst pack.
-
- If you are already using Squish and/or Maximus, you can
- just specify the name of their compress.cfg (but do
- check that they indicate the necessary switches to avoid
- case sensitiveness during extraction).
-
- Refer to the "Compress Definition File" section at the
- end of this document for the syntax of <compress_cfg>.
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.5. InputPath ΓòÉΓòÉΓòÉ
-
-
- InputPath <NodeDir>
-
- Specifies the default path for input files (source
- nodelists/nodediffs). You can override it by using a
- full pathname in input-file specifications.
-
- Created if not existing.
-
- Example:
-
- InputPath d:\bbs\nodelist\
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.6. ArcPath ΓòÉΓòÉΓòÉ
-
-
- ArcPath <ArcNodeDir>
-
- Specifies the default path for Archived nodelist files.
- It usually points to the file area where your TIC
- processor moves the inbound nodelist archives.
-
- You can override it by using a full pathname in
- Archived-file specifications.
-
- Example:
-
- ArcPath d:\bbs\file\nodelist\
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.7. ArcDate ΓòÉΓòÉΓòÉ
-
-
- ArcDate Write|Creation
-
- (OS/2)
- Selects the date to be used for computing the age of
- fixed-name archived nodelist files.
-
- This setting is useful for HPFS (which has separate
- Write and Creation dates) and ignored for FAT.
-
- If not specified, "Creation" is assumed.
-
- Attention: in order to avoid problems in the case the
- date has been corrupted during the transfer of the file,
- it is best to choose the same date that your mailer sets
- as "receive/upload" date or that is touched by your TIC
- processor.
-
- Examples:
-
- ArcDate Write ; Use the Write date
- ArcDate Creation ; same as default
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.8. MultiLineDesc ΓòÉΓòÉΓòÉ
-
-
- MultiLineDesc <nnn> [<c>]
-
- By default, files.bbs description must be on a single
- line; this statement enables Multi-Line support.
-
- <nnn> is the number of spaces that must precede the
- continuation lines.
-
- <c> is the continuation character.
-
- If <c> is NOT specified, it is assumed that the
- continuation lines must be preceded by <nnn> spaces.
-
- If <c> IS specified, it is assumed that the continuation
- lines must be preceded by <nnn> spaces, the <c>
- character and one more space.
-
- For example, to have the 2nd and following description
- lines in files.bbs start at the 32nd column, use:
-
- MultiLineDesc 31
-
- A description in files.bbs would be like:
-
- Test.Zip This is the first description line
- this is the 2nd line
- this is the 3rd line
- ^ ^^
- 1 31 32
-
- To have the continuation lines preceded by a '|'
- character, use:
-
- MultiLineDesc 29 |
-
- A description in files.bbs would be like:
-
- Test.Zip This is the first description line
- | this is the 2nd line
- | this is the 3rd line
- ^ ^ ^
- 1 29 32
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.9. KillAfter ΓòÉΓòÉΓòÉ
-
-
- KillAfter
-
- Old output files are killed after the new ones have been
- successfully written.
-
- The new output files are written to temporary names,
- then the old ones are killed and the new ones renamed
- (and FastLst retries for 30s in case of error, to be
- multitasking smart).
-
- Thus you will always have a valid compiled nodelist,
- even in the case of a compilation error and consequent
- compile abortion. Besides, your multitasking system can
- continue operations while FastLst is working. On the
- other hand you might need some more spare disk space to
- hold the old and new files during compilation.
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.10. KillSource ΓòÉΓòÉΓòÉ
-
-
- KillSource
-
- Tells FastLst to kill all uncompressed nodelists (that
- are also available in archived format) before
- terminating.
-
- Please note that FastLst deletes a source nodelist only
- if the ArcList statement is defined.
-
- Besides, when the NodeDiff statement is used, an
- ArcMethod must be defined to allow the deletion of the
- nodelist.
-
- When no NodeDiff is defined, FastLst assumes that the
- uncompressed NodeList has been extracted from a
- corresponding archive.
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.11. BeforeKillSource ΓòÉΓòÉΓòÉ
-
-
- BeforeKillSource <command>
-
- This statement is used to invoke a command of your
- choice before the source nodelists are killed, upon
- FastLst completion.
-
- <command> is executed even if "KillSource" is not used.
- It is a means of invoking a command before FastLst ends.
-
- The "NeededBeforeKill" verb must be used to specify the
- NodeLists needed by this command: if one of these
- nodelists is found new, then this command is invoked
- after decompressing all the nodelists that have the
- "NeededBeforeKill" attribute (and have not been
- decompressed yet).
-
- IMPORTANT: <command> is executed ONLY if some nodelist
- affected by a "NeededBeforeKill" verb has been detected
- as new.
-
- <command> can be any command that is valid for the
- command interpreter specified in your COMSPEC
- environment variable.
-
- If <command> invokes an executable file, it is loaded
- and executed directly; otherwise your command
- interpreter is invoked, so that you can execute a batch
- file or any other valid command.
-
- No variable parameters are supported.
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.12. Dash2Comma ΓòÉΓòÉΓòÉ
-
-
- Dash2Comma
-
- Change dashes to commas in the phone numbers.
-
- Useful for people that are still connected to ancient
- "rotary pulse" electromechanic telephone exchanges.
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.13. NoReport ΓòÉΓòÉΓòÉ
-
-
- NoReport
-
- Do not output nodelist statistics
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.14. NoRedir ΓòÉΓòÉΓòÉ
-
-
- NoRedir
-
- Nodes that do not have a valid phone number (Hold,
- Unpublished) are usually redirected to their
- coordinators.
-
- When this verb is used, redirection does not take place
- and the node is given an empty phone number, so that you
- never call a system different from that you think you
- are calling.
-
- Please note that (even with no NoRedir verb):
- - points are never redirected;
- - if you have a password with a system or its
- coordinator, this node will never be redirected.
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.15. V7BugFix ΓòÉΓòÉΓòÉ
-
-
- V7BugFix
-
- Circumvents a bug with V7 nodelist in Binkley 2.50 (and
- perhaps in many other programs whose V7 search function
- was inspired by Binkley's sources) that can sometimes
- hide segments of V7 nodelist.
-
- Binkley 2.60 is OK, but some other programs may not: if
- you are unsure, keep this keyword active.
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.16. MsgLogArea ΓòÉΓòÉΓòÉ
-
-
- MsgLogArea <path> [-$]
-
- Some information about the compilation can be reported
- to a fido or squish message area.
-
- <path> indicates a message area for reporting
- compilation logs.
-
- -$ specifies that the area is in Squish format;
- otherwise it is assumed to be *.MSG.
-
- The "MsgLog" and "LogStats" statements can be used
- to add some information that is not reported by default.
-
- Examples:
-
- MsgLogArea \bbs\mail\net -$
- MsgLogArea \bbs\mail\net\
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.17. MsgRemArea ΓòÉΓòÉΓòÉ
-
-
- MsgRemArea <path> [-$]
-
- The comments found in the compiled nodelists can be
- selectively reported to a fido or squish message area.
-
- <path> indicates a message area for reporting
- compilation logs.
-
- -$ specifies that the area is in Squish format;
- otherwise it is assumed to be *.MSG.
-
- The "MsgRem" statement (see Global Section C) MUST be
- used to specify which types of comments you want to be
- reported.
-
- Please note that no comments are reported if no "MsgRem"
- statement is used.
-
- Examples:
-
- MsgRemArea \bbs\mail\net -$
- MsgRemArea \bbs\mail\net\
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.18. MsgFromNode/MsgToNode ΓòÉΓòÉΓòÉ
-
-
- MsgFromNode <address>
- MsgToNode <address>
-
- Specify the addresses for the created messages.
-
- <address> is a 4D address.
-
- Example:
-
- MsgFromNode 2:332/504
- MsgToNode 2:332/504.1
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.19. MsgTo ΓòÉΓòÉΓòÉ
-
-
- MsgTo <name>
-
- Specifies the name of the addressee of the created
- messages.
-
- Example:
-
- MsgTo Alberto Pasquale
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.20. MsgAttr ΓòÉΓòÉΓòÉ
-
-
- MsgAttr <attributes>
-
- Specifies the attributes for the created messages.
-
- <attributes> can be a (not case sensitive) combination
- of:
-
- P : Private
- K : Kill/Sent
- C : Crash
- H : Hold
- D : Direct (crash + hold in squish messages)
-
- Examples:
-
- MsgAttr P
- MsgAttr pk
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.21. MsgSize ΓòÉΓòÉΓòÉ
-
-
- MsgSize <bytes>
-
- Specifies the maximum size of a single message: after
- this length, the message is split.
-
- Defaults to 7K, greater values are recommended, so that
- the message is not divided into too many parts.
-
- Example:
-
- MsgSize 60000
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.22. CostNullPhone ΓòÉΓòÉΓòÉ
-
-
- CostNullPhone <Cost> [<UCost>]
-
- Specifies the costs to be assigned to nodes with empty
- (unpublished, etc.) phone number.
-
- <Cost> is the "call cost" .
- <UCost> is the "user cost" (fee for netmail messages).
-
- <UCost> defaults to <Cost>.
-
- If CostNullPhone is not used, <Cost> defaults to 65535
- and <UCost> to 0.
-
- Example:
-
- CostNullPhone 1000 0
-
- Note:
-
- Some programs might have bugs that cause problems
- dealing with high costs (such as the default 65535).
- Should you experience problems with entries that have a
- "NullPhone", try setting a lower cost e.g.
- "CostNullPhone 900 0".
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.23. CostVerbatimPhone ΓòÉΓòÉΓòÉ
-
-
- CostVerbatimPhone <Cost> [<UCost>]
-
- Specifies the costs to be assigned to nodes that have
- a verbatim phone specification.
-
- <Cost> is the "call cost" .
- <UCost> is the "user cost" (fee for netmail messages).
-
- <UCost> defaults to <Cost>.
-
- If the statement is not used, both costs default to 0.
-
- Example:
-
- CostVerbatimPhone 10 0
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.24. Dial/Cost Table ΓòÉΓòÉΓòÉ
-
-
- Dial/Cost translation Table
-
-
- With this table you specify the dial translations and the costs
- to be applied depending on the phone number.
-
- Note: This table is not used against "Verbatim Phones".
-
- The table begins with "Dial" and ends with the "End" keyword.
-
- Each entry has the following format:
-
- <PartPhone> <PreSuf> [<Costs>]
-
-
- The following two keywords allow to specify groups of exchanges
- that must be handled by a certain dial table entry:
-
-
- LocalValues <PartPhone> <PreSuf> [<Costs>]
-
- This keyword is provided for clarity only: it is
- taken just as a normal specification with no
- heading "LocalValues".
-
-
- LocalExchanges <num> ...
-
- Lists all the exchanges that must be handled as per the
- preceding dial translation entry (which may be preceded
- by the "LocalValues" keyword for clarity).
-
- Please remember that the line length is limited to 254
- characters.
-
- You can use multiple "LocalExchanges <num> ..."
- statements if you like short lines or need more than
- 254 characters.
-
- Please note that all numbers that (after <PartPhone>
- stripping) begin with <num> are considered local.
- For example, if 220, 221, 222, 223, 224, 225, 226, 227,
- 228, 229 are all local exchanges, you can indicate 22 to
- include them all.
-
-
- The use of these two statements in the place of a long list of
- normal table lines (one for each local exchange) should also
- speed up the processing of all the nodelist entries that are not
- in your area code.
-
-
-
- <PartPhone>
- is a partial phone number to be matched with the initial
- part of nodelist entries. The dashes are ignored. The
- <PartPhone> of the last entry must be a single dash "-",
- to mean that all the remaining numbers will take the
- parameters specified there.
-
- <PreSuf>
- can be one of:
- a: <Prefix>
- b: /<Suffix>
- c: <Prefix>/<Suffix>
- d: /
-
- <PartPhone> is stripped from numbers beginning with it,
- then <PreSuf> is used to prepend/append the specified
- strings to the remainder.
-
- Case a: <Prefix> is prepended.
- e.g.: "39- 0"
- strips "39-" and adds "0" at the beginning of
- the number.
-
- Case b: <Suffix> is appended.
- e.g.: "39-59- /!"
- strips "39-59-" and adds "!" at the end of the
- number.
-
- Case c: <Prefix> is prepended and <Suffix> appended.
- e.g.: "39- 0/!"
- strips "39-", adds "0" at the beginning and "!"
- at the end.
-
- Case d: Nothing is prepended nor appended.
- e.g.: "/"
- The slash is needed to allow the correct
- interpretation of the subsequent fields.
-
- No spaces are allowed between prefix, suffix and the
- separating slash.
-
- <Costs>
-
- You can specify up to 4 cost fields:
-
- <Cost> [<UCost> [<DigCost> [<DigUCost>]]]
-
- Each one has a range 0-65535.
-
- <Cost> is the Call cost, default: 65535.
- <UCost> is the User cost, default: <Cost>.
- <DigCost> is the Digital Call cost, default: <Cost>.
- <DigUCost> is the Digital User cost.
-
- <DigUCost> defaults to <DigCost> if it is specified, otherwise
- it defaults to <UCost>.
-
- If you like your users to send netmail messages from the BBS
- with no need for "credits", you should set <UCost> and
- <DigUCost> to 0.
-
- When searching for "PartPhone", the first matching entry is
- applied: in the case of entries with an initial part in common,
- you have to specify them in sequence from the longest to the
- shortest. If no match is possible, the last line specifies the
- default (thereby international) parameters.
-
- WARNING: This table CANNOT be left totally empty: it must
- contain at least the default entry "- [<PreSuf>]".
-
-
- Example 1a/b/c (North American viewpoint):
-
- There are some groups of phone numbers:
-
- 1 - Local numbers.
- These are usually "toll free" numbers.
- As a rule of thumb, you must only dial the local
- number, stripping the Country Code "1" and the
- Area Code.
- In the case you live at the crossroads of two or
- more area codes, it is possible that you have local
- numbers in area codes that you must _not_ strip.
-
- 2 - Area Code numbers.
- They have your same Area Code but they are long
- distance.
- As far as I know, there are many different
- situations regarding the need to dial the long
- distance access code "1" and the Area Code.
- In any case you usually want to differentiate costs.
-
- The Country "1" and Area Codes must be stripped and
- replaced by:
-
- (a) the long distance access code "1"
- (b) the long distance access code "1" +
- the Area Code
- (c) nothing
-
- In case (b) the number really remains untouched.
-
- Even if the Country Code for USA/Canada "1" is
- numerically equal to your long distance acces code,
- they are conceptually quite different, and so they
- will be treated.
-
- 3 - Domestic numbers.
- USA/Canada numbers, with a leading "1", that is the
- international Country Code for USA and Canada.
- They must be left untouched, since the american long
- distance access code is equal to the international
- Country Code for North America.
-
- 4 - International numbers.
- These are numbers out of USA and Canada.
- They must be prefixed by "011", that is the
- international access code.
-
- And now let's see how to achieve our goal using
- FastLst's Dial Table.
-
-
-
- Example 1a:
-
- Let's suppose:
-
- - we are in Area Code 414
- - the 414 must be stripped for LD calls
- - the local exchanges are 231, 232, 233, 235, 236, 424
-
-
- Dial
- ; strip 1-414- from local numbers, do not add
- ; a prefix, set call and user costs to 0.
-
- LocalValues 1-414- / 0
- LocalExchanges 231 232 233 235 236 424
-
- ; Remaining "1-414-" numbers are long distance:
- ; strip the 414 Area Code and assign costs = 25.
-
- 1-414- 1- 25
-
- ; Remaining "1-" numbers are Domestic Long
- ; Distance.
- ; Set costs to 50
-
- 1- 1- 50
-
- ; Remaining numbers are international.
- ; Prepend 011 and set call cost to 250 and
- ; user cost to 500
-
- - 011 250 500
- End
-
-
-
-
- Example 1b:
-
- Let's suppose:
-
- - we are in Area Code 604
- - the 604 must NOT be stripped for LD calls
- - the local exchanges are 220 221 222 224 228 230 231
- 240 241 244 250 251 252 253 254 255 257 258 261 263
- 264 266
-
-
- Dial
- ; strip 1-604- from local numbers, do not add
- ; a prefix, set call and user costs to 0.
-
- LocalValues 1-604- / 0
- LocalExchanges 220 221 222 224 228 230 231 240
- LocalExchanges 241 244 250 251 252 253 254 255
- LocalExchanges 257 258 261 263 264 266
-
- ; Remaining "1-604-" numbers are long distance:
- ; assign costs = 25.
-
- 1-604- 1-604- 25
-
- ; Remaining "1-" numbers are Domestic Long
- ; Distance.
- ; Set costs to 50
-
- 1- 1- 50
-
- ; Remaining numbers are international.
- ; Prepend 011 and set call cost to 250 and
- ; user cost to 500
-
- - 011 250 500
- End
-
-
-
-
- Example 1c:
-
- Let's suppose:
-
- - we are at the crossroads of Area Codes 510, 408, 415
- - "1-510" must always be stripped
- - "1-408" and "1-415" must never be stripped
- - some exchanges are toll-free, others are not
-
-
- Dial
- ; strip 1-510- from local numbers, do not add
- ; a prefix, set call and user costs to 0.
-
- LocalValues 1-510- / 0
- LocalExchanges 224 225 226 227 247 249 252 264 276
- LocalExchanges 278 293 317 353 354 416 417
-
- ; Specify local exchanges for area code 408,
- ; keep "1-408".
-
- LocalValues 1-408- 1-408- 0
- LocalExchanges 232 251 254 258 259 262 263 272 276
- LocalExchanges 321 324 325 383 428 432 433 434
-
- ; Specify local exchanges for area code 415,
- ; keep "1-415".
-
- LocalValues 1-415- 1-415- 0
- LocalExchanges 233 234 321 322 323 324 325 326 327
- LocalExchanges 328 329 354 424 462 473 493
-
- ; Remaining "1-510-" numbers are not free,
- ; the country and area codes are stripped.
-
- 1-510- / 25
-
- ; Remaining numbers in area codes 408 and
- ; 415 are not free, nothing is stripped.
-
- 1-408- 1-408- 25
- 1-415- 1-415- 25
-
- ; Remaining numbers in country code "1"
- ; are domestic: nothing changed, cost 100.
-
- 1- 1- 100
-
- ; Remaining numbers are international.
- ; Prepend 011 and set cost to 2000.
-
- - 011 2000
-
- End
-
-
-
-
- Example 2 (European viewpoint):
-
- We differentiate between city, district, domestic and
- international.
-
- Dial
- LocalValues 39-59- / 5
- LocalExchanges 2 3 4 56 81 82 ; city
- 39-59- / 30 ; district
- 39- 0 60 ; domestic long distance
- 43 0043- 100 ; Austria
- 32 0032- 100 ; Belgium
- 45 0045- 100 ; Denmark
- 33 0033- 100 ; France
- 49 0049- 100 ; Germany
- 44 0044- 100 ; UK
- 31 0031- 100 ; Netherlands
- 34 0034- 100 ; Spain
- 46 0046- 100 ; Sweden
- 41 0041- 100 ; Switzerland
- 1 001- 200 ; USA/Canada
- - 00 300 ; others
- End
-
-
-
- Example 3 (Separate Analog/Digital costs):
-
- For people who pay different charges for analog and
- digital calls, FastLst allows to specify separate
- digital costs (that will be used for nodes that are
- given a Digital ModemType).
-
- Let's suppose we want null User Costs and Digital Costs
- twice as high as the Analog ones.
-
- Dial
- LocalValues 39-59- / 5 0 10 0
- LocalExchanges 2 3 4 56 81 82 ; city
- 39-59- / 30 0 60 0 ; district
- 39- 0 60 0 120 0 ; domestic long distance
- - 00 300 0 600 0 ; international
- End
-
-
-
- Example 4:
-
- Minimal table for sysops that make dial translations and
- cost assignments somewhere else.
-
- Dial
- -
- End
-
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.25. Modem Type Table ΓòÉΓòÉΓòÉ
-
-
- Modem Type Table
-
-
- This table allows to set the Modem Type, costs and dial
- translations depending on the nodelist flags.
-
- Syntax:
-
- TypeDef
- <Flag> <ModemType> [<Cost> <UCost> [<DialTrans>]]
- <Flag> <ModemType> [Digital|Analog]
- ...
- End
-
-
- <Flag> is a Nodelist flag (max 49 chars),
- <ModemType> is a number 0->255.
-
- The nodelist flags of each node are searched for <Flag>s, in the
- same order as they are listed in the TypeDef table.
-
- The <Flag> must match completely a nodelist flag: if <Flag> is
- V32 and the nodelist flag is V32B, it's not a match.
- The search is not case sensitive.
-
- The ModemType field of the compiled nodelist will be determined
- by the first match only: If you define X75 before V34, a node
- with both V34 and X75 will have a X75 modem type.
-
- When <Flag> is for a PSTN system, you can optionally indicate
- whether it is DIGITAL or ANALOG (which is the default); this is
- useful for assigning special Digital costs if you have
- configured them in the Dial/Cost table.
-
- When <Flag> is for a non-PSTN system (e.g. internet) you can
- specify the costs (which override the CostVerbatimPhone) and
- dial translations.
-
- <Cost> The Call Cost, range: 0-65535
- <UCost> The User Cost, range: 0-65535
-
- <DialTrans> The Dial Translations, for "verbatim" phones.
-
- These dial translations DO NOT affect the indexed entry (in
- <NODEX>.PDX) and are intended as a work around for the dial
- translations operated by the mailer or the modem-emulator.
-
- The syntax requires a set of strings.
-
- The first character of each string will be substituted
- with the remaining characters.
-
- A string containing space ' ' or semi-colon ';' MUST be
- included in quotation marks. If the quotation mark is needed
- inside the quoted string, it must be double.
-
- 15 strings of 5 characters are allowed.
-
- Example:
-
- You need to translate '.' to '*', ':' to ' ', 'v' to
- 'V'; call_cost=100, user_cost=0:
-
- Typedef
- [...]
- VM 200 100 0 .* ": " vV
- [...]
- End
-
- You want to translate '.' to '\.', ':' to ' ', 'v' to
- 'V'; call_cost=150, user_cost=100:
-
- Typedef
- [...]
- VM 200 150 100 .\. ": " vV
- [...]
- End
-
-
- Recommended dial translations for Binkley and VMODEM:
-
- -\- .* vV ~\~ ": "
-
-
- Full example of TypeDef table:
-
- for USR Courier I-modem + VMODEM:
-
-
- TypeDef
- X75 1 Digital
- ISDNC 1 Digital
- V120 2 Digital
- V120H 2 Digital
- V120L 3 Digital
- V34 4 Analog
- VFC 5 Analog
- V32T 6 Analog
- H16 7 Analog
- V32B 8 Analog
- ZYX 8 Analog ; ZYX implies V32B
- Z19 8 Analog
- Z16 8 Analog
- H14 9 Analog
- V32 10 Analog
- HST 11 Analog
- VM 200 100 0 -\- .* vV ~\~ ": " ; VMODEM
- End
-
-
-
- In Binkley.Cfg for the I-modem you can use:
-
-
- ModemTrans 0
- ModemTrans 1 AT*V2=6D/ ; X75
- ModemTrans 2 AT*V2=1D/ ; V120
- ModemTrans 3 AT*V2=1D/ ; V120L
- ModemTrans 4 AT*V2=3B0D/ ; V34
- ModemTrans 5 AT*V2=3B0D/ ; VFC
- ModemTrans 6 AT*V2=3B0D/ ; V32T
- ModemTrans 7 AT*V2=3B1D/ ; H16
- ModemTrans 8 AT*V2=3B0D/ ; V32B
- ModemTrans 9 AT*V2=3B1D/ ; H14
- ModemTrans 10 AT*V2=3B0D/ ; V32
- ModemTrans 11 AT*V2=3B1D/ ; HST
- ModemTrans 200
-
-
- In Binkley.Cfg for VMODEM you can use:
-
-
- ModemTrans 0
- ModemTrans 1
- ModemTrans 2
- ModemTrans 3
- ModemTrans 4
- ModemTrans 5
- ModemTrans 6
- ModemTrans 7
- ModemTrans 8
- ModemTrans 9
- ModemTrans 10
- ModemTrans 11
- ModemTrans 200 ATDT#/ ; VMODEM
-
-
-
-
-
- ΓòÉΓòÉΓòÉ 11.2.1.26. User Flags Table ΓòÉΓòÉΓòÉ
-
-
- User Flags Table
-
-
- This is an optional table used to handle the "user defined" bits
- in the Flags word of the compiled nodelist entry.
-
- These bits are named 5,6,7,8,9,A,B,D,E,F where bit 5 is the 6th
- bit and F is the 16th bit of the word.
-
- Using this table, you can associate (source) nodelist flags to
- user defined bits in the output binary nodelist.
-
- The table is delimited by the "FlagDef" and "End" keywords; each
- line is in the form "<sFlag> <bFlags>" where <sFlag> is a flag
- (max 9 chars) to be looked for in the source nodelists while
- <bFlags> represents one or more user-defined bits in the output
- Flags word.
-
- Example:
-
- FlagDef
- V42B AB ; V42B -> user bits A and B
- V32B DE ; V32B -> user bits D and E
- End
-
-
-
- To add further flags on a node by node basis, please use the
- "Flags <Addr> <Flags>" statement.
-
- To remove flags, please specify the source flags via the
- "NodeFlags <Addr> <NodeFlags>" statement.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2. Section B ΓòÉΓòÉΓòÉ
-
-
- G L O B A L
-
- Section B
-
-
-
- The statements in this section affect the processing of all
- the output blocks and thereby of all the input nodelists.
-
- These statements can also be used in the "OUTPUT" section of an
- OUTPUT block or inside an INPUT block, in which case they affect
- the compilation of the relevant block only.
-
- In the case you use a verb that has already been used in a
- "higher level" block, it will behave as a local override.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.1. NeededBeforeKill ΓòÉΓòÉΓòÉ
-
-
- NeededBeforeKill
-
- Tells FastLst that the affected NodeList(s) are needed
- by the command run via the "BeforeKillSource" statement.
-
- The "BeforeKillSource" verb allows you to run a command
- (executable or batch file) after the compilation has
- completed, just before FastLst ends and (if "KillSource"
- is used) deletes the source files that are also present
- in archived form.
-
- The lists affected by "NeededBeforeKill" are extracted,
- if not already present, before the "BeforeKillSource"
- command is executed.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.2. ArcMethod ΓòÉΓòÉΓòÉ
-
-
- ArcMethod <meth>[,<f>] ...
-
- Tells FastLst that it must make sure that all new
- nodelists are archived using the specified methods.
- The original archive is NOT killed.
-
- Obviously, a new nodelist is not rearchived to its
- original method.
-
- <meth> is the name of an archiver defined in
- compress.cfg.
-
- <f> is the optional specification of the letter to be
- used for the variable archive extension. If not
- specified, it is assumed equal to the first letter of
- the defaults extension for this archiver.
-
- Multiple ArcMethod statements are allowed.
-
-
- Example 1:
-
- ArcMethod ZIP LH,H
-
- NodeList.Z48 arrives: it is archived to NodeList.H48
- also, using the LH archiver.
-
-
- Example 2:
-
- ArcMethod ZIP LH
-
- NodeDiff.Z48 arrives: the resulting nodelist is archived
- to NodeList.Z48 using the ZIP archiver and to
- NodeList.L48 using LH.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.3. ArcDiffMethod ΓòÉΓòÉΓòÉ
-
-
- ArcDiffMethod <meth>[,<f>] ...
-
- Tells FastLst that it must make sure that all new
- nodediffs are archived using the specified methods.
- The original archive is NOT killed.
-
- Obviously, a new nodediff is not rearchived to its
- original method.
-
- <meth> is the name of an archiver defined in
- compress.cfg.
-
- <f> is the optional specification of the letter to be
- used for the variable archive extension. If not
- specified, it is assumed equal to the first letter of
- the defaults extension for this archiver.
-
- Multiple ArcDiffMethod statements are allowed.
-
-
- Example:
-
- ArcDiffMethod ZIP LH,H
-
- NodeDiff.Z48 arrives: it is archived to NodeDiff.H48
- also, using the LH archiver.
-
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.4. External Commands ΓòÉΓòÉΓòÉ
-
-
- EXTERNAL COMMANDS
-
-
- The following verbs allow to invoke external commands.
-
- <command> can be any legal command-line command: it can be the
- name of an executable file, a batch file or any command that can
- be understood by your command-line interpreter (OS/2's CMD,
- 4OS2, etc.).
-
- If <command> does not directly invoke an executable file,
- FastLst automatically invokes your default command line
- interpreter (as specified by the COMSPEC environment variable).
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.4.1. Archive Related Commands ΓòÉΓòÉΓòÉ
-
- Archive Related Commands
-
-
- The following verbs share the same syntax:
-
- Two parameters are allowed in <command>:
-
- %a is translated to the full pathname of the archive file.
-
- %f is translated to the name of the file to be added or
- extracted (no path).
-
- <command> is run from the path where %f belongs.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.4.1.1. BeforeArcList ΓòÉΓòÉΓòÉ
-
-
- BeforeArcList <command>
-
- Command to be run before archiving a nodelist.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.4.1.2. AfterArcList ΓòÉΓòÉΓòÉ
-
-
- AfterArcList <command>
-
- Command to be run after archiving a nodelist.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.4.1.3. BeforeUnArcList ΓòÉΓòÉΓòÉ
-
-
- BeforeUnArcList <command>
-
- Command to be run before extracting a nodelist.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.4.1.4. AfterUnArcList ΓòÉΓòÉΓòÉ
-
-
- AfterUnArcList <command>
-
- Command to be run after extracting a nodelist.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.4.1.5. BeforeArcDiff ΓòÉΓòÉΓòÉ
-
-
- BeforeArcDiff <command>
-
- Command to be run before archiving a nodediff.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.4.1.6. AfterArcDiff ΓòÉΓòÉΓòÉ
-
-
- AfterArcDiff <command>
-
- Command to be run after archiving a nodediff.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.4.1.7. BeforeUnArcDiff ΓòÉΓòÉΓòÉ
-
-
- BeforeUnArcDiff <command>
-
- Command to be run before extracting a nodediff.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.4.1.8. AfterUnArcDiff ΓòÉΓòÉΓòÉ
-
-
- AfterUnArcDiff <command>
-
- Command to be run after extracting a nodediff.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.4.1.9. Example ΓòÉΓòÉΓòÉ
-
- Example
-
- To hatch the new nodelist (note that you probably need to
- specify the location of the config file since the command is
- executed from the directory where %f resides):
-
- AfterArcList Hatch %a NODELIST "New NodeList"
-
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.4.2. NodeDiff Related Commands ΓòÉΓòÉΓòÉ
-
-
- NodeDiff Related Commands
-
-
- The following verbs accept different parameters:
-
- %l is translated to the full pathname of the nodelist.
-
- %d is translated to the full pathname of the nodediff.
-
- <command> is run from the current directory.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.4.2.1. BeforeEdit ΓòÉΓòÉΓòÉ
-
-
- BeforeEdit <command>
-
- Command to be run before applying a nodediff.
-
-
- ΓòÉΓòÉΓòÉ 11.2.2.4.2.2. AfterEdit ΓòÉΓòÉΓòÉ
-
-
- AfterEdit <command>
-
- Command to be run after applying a nodediff.
- Only %l can be used.
-
-
- ΓòÉΓòÉΓòÉ 11.2.3. Section C ΓòÉΓòÉΓòÉ
-
-
- G L O B A L
-
- Section C
-
-
-
- The statements in this section affect the processing of all
- the output blocks and thereby of all the input nodelists.
-
- These statements can also be used in the "OUTPUT" section of an
- OUTPUT block (except for the "NoCompile" one) or inside an INPUT
- block, in which case they affect the compilation of the relevant
- block only.
-
- In the case you use a verb that has already been used in a
- "higher level" block, it will behave as a local override.
-
-
- ΓòÉΓòÉΓòÉ 11.2.3.1. MsgRem ΓòÉΓòÉΓòÉ
-
-
- MsgRem [<string>]
-
- If MsgRemArea is used, FastLst reports the following
- comments:
-
- No MsgRem statement: none;
-
- MsgRem with no <string>: all;
-
- MsgRem with <string>: only the comments that begin with
- ";<l> " where <l> is one of the characters in <string>.
-
- The ";" character in <string> means that the comments
- beginning with "; " or ";<word>" can be reported.
-
- Common types of comment lines:
-
- ;S This is a comment for SysOps
- ;U This is a comment for users
- ;F This comment should appear in formatted Fido lists
- ;A This is a comment of general interest
- ;E This comment is an error message
-
-
- Example:
-
- "MsgRem SE"
-
- Only comments destined to SysOps and Error messages are
- reported (lines beginning with ";S " and ";E ").
-
-
- ΓòÉΓòÉΓòÉ 11.2.3.2. MsgLog ΓòÉΓòÉΓòÉ
-
-
- MsgLog [NullPhone] [Redirected] [Points]
-
- Some common situations (not really errors) are not
- reported to MsgLogArea by default: if you want FastLst
- to report them anyway, you can use this statement, but
- be aware that very long reports could come out.
-
- "NullPhone": systems with empty phone string are logged.
-
- "Redirected": systems redirected to their coordinators
- are logged (Hold, unpublished).
-
- "Points": points with empty phone string are logged; be
- aware that most pointlists contain unpublished (thereby
- with empty phone) points.
-
- Examples:
-
- MsgLog Redirected
- MsgLog Redirected NullPhone
-
-
- ΓòÉΓòÉΓòÉ 11.2.3.3. GermanPointList ΓòÉΓòÉΓòÉ
-
-
- GermanPointList
-
- Instructs FastLst to consider the affected nodelist as a
- 3D German style pointlist. Zone 2 is assumed, if not
- explicitly specified in the "NodeList" statement.
-
- This verb is usually used inside an Input Block, so that
- it affects that nodelist only.
-
- WARNING: Be aware that using this statement in the
- global section or in an Output block affects all the
- involved nodelists !
-
- Example Input Block:
-
- NodeList Points24.???
- GermanPointList
- Nodediff Pr24Diff.???
- ArcList Points24.??? 1
- ArcDiff Pr24Diff.??? 5
- ArcListDesc R24 PointList for day %d (%D), %a format
- ArcDiffDesc R24 PointDiff for day %d (%D), %a format
-
-
-
- ΓòÉΓòÉΓòÉ 11.2.3.4. NoPointLstPhone ΓòÉΓòÉΓòÉ
-
-
- NoPointLstPhone
-
- Changes to "-Unpublished-" the phone numbers specified
- in the PointLists (German or "Boss" styles).
-
- If you use Squish and Binkley, you usually will like
- pointlists with the Boss' phone in the point entries
- (otherwise a crash message to a point will have to be
- manually readdressed to its Boss).
-
- But if you use a netmail manager (as NmFwd) that already
- routes the crash messages for points that do not have a
- phone to their Boss, then you will probably like this
- statement.
-
- You will usually find convenient to use this statement
- in the global section, so that it is valid for all the
- nodelists.
-
-
- ΓòÉΓòÉΓòÉ 11.2.3.5. BeforeCompile ΓòÉΓòÉΓòÉ
-
-
- BeforeCompile <command>
-
- Command to be run before compiling the affected
- nodelist.
-
- This statement follows the same rules explained in
- "External Commands" in section B.
-
- The %l parameter is translated to the full pathname of
- the nodelist.
-
- <command> is run from the current directory.
-
-
- ΓòÉΓòÉΓòÉ 11.2.3.6. AfterCompile ΓòÉΓòÉΓòÉ
-
-
- AfterCompile <command>
-
- Command to be run after compiling the affected nodelist.
-
- This statement follows the same rules explained in
- "External Commands" in section B.
-
- The %l parameter is translated to the full pathname of
- the nodelist.
-
- <command> is run from the current directory.
-
-
- ΓòÉΓòÉΓòÉ 11.2.3.7. FidoTxt ΓòÉΓòÉΓòÉ
-
-
- FidoTxt [<FidoTxt>]
-
- Generate an 80 Column Text List of nodes.
- Nodes included via the "Node,..." method and points are
- excluded.
-
- <FidoTxt> optionally specifies an output file name,
- which defaults to "NodeList.Txt". If the same file name
- has already been used for other nodelists, the output is
- appended.
-
- Example:
-
- FidoTxt
-
-
- ΓòÉΓòÉΓòÉ 11.2.3.8. FidoPrn ΓòÉΓòÉΓòÉ
-
-
- FidoPrn [<FidoPrn>]
-
- Generate a 132 Column Text List of nodes.
- Nodes included via the "Node,..." method and points are
- excluded.
-
- <FidoPrn> optionally specifies an output file name,
- which defaults to "NodeList.Prn". If the same file name
- has already been used for other nodelists, the output is
- appended.
-
- Example:
-
- FidoPrn
-
-
- ΓòÉΓòÉΓòÉ 11.2.3.9. IncCoord ΓòÉΓòÉΓòÉ
-
-
- IncCoord <CoordLev>
-
- The coordinators of the specified and upper levels will
- be always included, even if excluded by "IncAddr" and
- "ExcAddr". <CoordLev> can be ZC, RC, NC, HC.
-
- Example:
-
- IncCoord NC
-
-
- ΓòÉΓòÉΓòÉ 11.2.4. Export Section ΓòÉΓòÉΓòÉ
-
-
- Global Export Section
-
-
- You can use here the statements described in the "Export Global
- Section" of the "Export Block" (see "Input Block" inside "Output
- Block").
-
-
-
- ΓòÉΓòÉΓòÉ 11.3. Output Block ΓòÉΓòÉΓòÉ
-
-
- O U T P U T B L O C K
-
-
-
- The following verbs define the compilation of a single output
- binary nodelist.
-
- The block begins with a "Output Section", that affects the
- compilation of all the source (input) nodelists, followed by a
- sequence of "Input Blocks" that define how to handle each of the
- source nodelists.
-
- The first "output block" can be of a special kind: if the
- "NoCompile" statement is used instead of "Version7+", this block
- indicates the actions necessary to maintain the specified
- nodelists, but they are not compiled.
-
-
- ΓòÉΓòÉΓòÉ 11.3.1. Version7+ ΓòÉΓòÉΓòÉ
-
-
- Version7[+] <Path> <Nodex> [<Sysop>[.<Ext>]]
-
- Start of a block of config verbs defining the generation
- of an output nodelist. You can generate one or more
- compiled nodelists with different names and path for the
- output files. Each "Version7" statement marks the
- beginning of a new output-nodelist definition.
-
- Version7+ is for V7+ while Version7 allows to save space
- and generate the V7 files only.
-
- <Path> is the path where the output binary data and
- index files are placed.
-
- <Nodex> is the file name (no extension) for the output
- files.
-
- <Sysop>.<Ext> is the file name for the sysop-index.
- When no extension is given, .NDX is assumed if
- <Sysop> is different from <Nodex>, otherwise the .SDX
- extension is used.
-
- If you omit <Sysop> with Version7+, <Nodex>.SDX is used
- for the SysOp index.
-
- If you omit <Sysop> with Version7, no SysOp index is
- generated.
-
- Usually <Nodex> should be "NODEX" and <Sysop> "SYSOP".
-
- If you use V7+ and all of your applications accept
- <NODEX>.SDX as the SysOp index, you may omit <Sysop>.
-
- For compatibility with V7 applications that require
- "SYSOP.NDX" as SysOp index, "SYSOP" is recommended for
- <SysOp>.
-
- All the following verbs, up to the next "Version7" (if
- any), are related to the preceding "Version7" output
- files.
-
- Examples:
-
- ; SysOp Index name
- Version7+ d:\bbs\v7\ NODEX SYSOP ; SYSOP.NDX
- Version7+ d:\bbs\v7\ NODEX NODEX ; NODEX.SDX
- Version7+ d:\bbs\v7\ NODEX ; NODEX.SDX
- Version7 d:\bbs\v7\ NODEX SYSOP ; SYSOP.NDX
- Version7 d:\bbs\v7\ NODEX NODEX ; NODEX.SDX
- Version7 d:\bbs\v7\ NODEX ; no index
-
-
- Version7 Output files:
-
- <Nodex>.DAT Nodelist Data
- <Nodex>.NDX Address Index
- <Sysop>.NDX SysOp Index (optional)
-
-
- Some Version7 programs also accept <Nodex>.SDX for the
- SysOp Index.
-
- Version7+ Output files:
-
- <Nodex>.DAT Nodelist Data
- <Nodex>.DTP Additional Data
- <Nodex>.NDX Address Index
- <Nodex>.SDX SysOp Index
- <Nodex>.PDX Phone Index
-
-
- Version7+ programs must also be configurable to accept
- <Sysop>.NDX as the SysOp Index for compatibility with V7
- programs.
-
-
- ΓòÉΓòÉΓòÉ 11.3.2. NoCompile ΓòÉΓòÉΓòÉ
-
-
- NoCompile
-
- This verb can be used to start the first "Output Block",
- instead of "Version7".
-
- This way the first output block becomes a "NoCompile"
- block and the indicated nodelists are maintained but not
- compiled.
-
- This is a means for maintaining a NodeList (applying
- nodediffs, archiving with different archivers etc.)
- without compiling it.
-
- The statements related to nodelist compilation (see
- Global section C) are obviously illegal in a "NoCompile"
- block.
-
-
-
- ΓòÉΓòÉΓòÉ 11.3.3. Output section ΓòÉΓòÉΓòÉ
-
-
- O U T P U T Section
-
-
- The following verbs affect the compilation of the current output
- block and must precede the definitions of the input blocks
- (which start with the Nodelist statement).
-
-
- ΓòÉΓòÉΓòÉ 11.3.3.1. FidoUserLst ΓòÉΓòÉΓòÉ
-
-
- FidoUserLst [<FidoUserLst>]
-
- Generate "fidouser.lst style" text SysOp list.
- <FidoUserLst> optionally specifies an output file name,
- which defaults to "FidoUser.Lst". Different output
- blocks require different names.
-
- Example:
-
- Version7+ d:\bbs\v7 NODEX SYSOP
- FidoUserLst
-
-
- ΓòÉΓòÉΓòÉ 11.3.3.2. LinkOnDisk ΓòÉΓòÉΓòÉ
-
-
- LinkOnDisk
-
- Forces "on disk" DTP linking.
-
- This can be useful to avoid FastLst using virtual memory
- for linking the <NODEX>.DTP file.
-
- If you do not have enough free physical memory (12MB for
- 60,000 nodes), the "on disk" mode is faster.
-
- Example:
-
- Version7+ d:\bbs\v7 NODEX
- LinkOnDisk
-
-
- ΓòÉΓòÉΓòÉ 11.3.3.3. LogStats ΓòÉΓòÉΓòÉ
-
-
- LogStats
-
- Output Statistics to MsgLogArea.
-
- This statements makes FastLst write the statistics for
- the current output-nodelist to the area specified with
- MsgLogArea.
-
- Example:
-
- Version7+ ...
- LogStats
-
-
- ΓòÉΓòÉΓòÉ 11.3.3.4. Block Specifications ΓòÉΓòÉΓòÉ
-
-
- Block Specifications
-
-
- You can use here the same statements described in the "Global
- Section B" and (if this is not a "NoCompile" block) "Global
- Section C" and "Export Global Section" (see the Export Block
- below).
-
-
- ΓòÉΓòÉΓòÉ 11.3.3.5. Address Specific Stuff ΓòÉΓòÉΓòÉ
-
-
- ADDRESS SPECIFIC STUFF
-
-
-
- The following verbs define address specific stuff that will
- affect the compilation of all the source nodelists compiled in
- the current output block. These statements are illegal in a
- "NoCompile" block.
-
- If you prefer, you can specify this type of information in the
- "Address Specific Stuff" section of the pertinent input block.
-
- WARNING: make sure all addresses have full info (incl. zone).
-
-
- ΓòÉΓòÉΓòÉ 11.3.3.5.1. Password ΓòÉΓòÉΓòÉ
-
-
- Password <Addr> <Password>
-
- Allows to specify <Password> one <Addr> at a time.
-
- Version 7 has no limit on password length, however the
- programs that use it are usually limited to 8 chars.
- Some (rare) programs have problems with 8 chars and need
- a maximum of 7 or 6 chars.
-
- Example:
-
- Password 2:332/504.4 Password
-
-
- ΓòÉΓòÉΓòÉ 11.3.3.5.2. PasswordFile ΓòÉΓòÉΓòÉ
-
-
- PasswordFile <PasswordFile>
-
- Allows to include a password file that contains many
- address/password couples, one per line.
-
- In this file you can omit the "Password" keyword.
-
- If you like, you can use some "Password" keywords
- together with one or more "PasswordFile".
-
- Please note that the definitions found in this file have
- effect on the current (Output or Input) block ONLY.
-
- FastLst writes to the log file which source or output
- nodelist is affected by each passwordfile; so, in case
- of doubts, just check the logs.
-
- Example:
-
- PasswordFile fidonet.pwd
-
-
- ΓòÉΓòÉΓòÉ 11.3.3.5.3. Phone ΓòÉΓòÉΓòÉ
-
-
- Phone <Addr> <Phone> [<NodeFlags> [<Cost> [<UCost>]]]
-
- Allows to override a nodelist phone number and
- optionally the corresponding "NodeFlags" and costs.
-
- if <Phone> contains non-numeric characters, it is taken
- verbatim
-
- If <Phone> contains only digits and dashes '-', it is
- considered a PSTN number and MUST be in the form used in
- the source nodelist (dial translation will be applied
- normally).
-
- <NodeFlags> has the same meaning as in the NodeFlags
- statement. To specify an overriding empty <NodeFlags>,
- use a single comma.
-
- <Cost> and <UCost> have the same meaning as in the Cost
- statement.
-
-
- Examples:
-
- <Phone> override only:
-
- Phone 2:332/501.1 39-59-399999 ; Normal override
- Phone 1:106/2000 juge.com ; internet address
- Phone 1:123/4567 123.456.789.012 ; IP address
- Phone 2:245/6789 "Bob.scr" ; quoted script name
-
-
- <Phone> and <NodeFlags> overrides:
-
- Phone 2:332/501.0 39-59-499999 V34,CM ; Set new flags
- Phone 2:332/501.1 39-59-399999 , ; Set NO flags
-
-
- <Phone>, <NodeFlags> and <Cost>/<UCost> overrides:
-
- Phone 2:332/501 39-59-499999 V34,CM 10 0
- Phone 2:332/502 mega.com VM 0 ; <Cost> == <UCost>
-
-
-
- ΓòÉΓòÉΓòÉ 11.3.3.5.4. NodeFlags ΓòÉΓòÉΓòÉ
-
-
- NodeFlags <Addr> <NodeFlags>
-
- Allows to substitute the flags listed in the nodelist
- entry of <Addr>.
-
- If you want to change the CM flag or modem type flags
- (HST, V32b, ZYX) etc, you can use this verb. Please note
- that the old flags are lost, so you need to indicate all
- the necessary flags.
-
- Please note that <NodeFlags> might be empty.
-
- Example:
-
- NodeFlags 2:332/501.0 CM,H16,V32b
-
-
- ΓòÉΓòÉΓòÉ 11.3.3.5.5. Flags ΓòÉΓòÉΓòÉ
-
-
- Flags <Addr> <Flags>
-
- The Flags statement allows to set the "user defined"
- bits in the Flags word of the compiled nodelist entry.
- These bits are named 5,6,7,8,9,A,B,D,E,F where bit 5 is
- the 6th bit and F is the 16th bit of the word.
-
- These bits are "ORed" with those already set by the
- "FlagDef" table.
-
- If you need to zero some of the bits, please specify the
- source flags with the "NodeFlags" statement.
-
- Example:
-
- Flags 2:332/501.0 AB5 ; Set bits 5,A & B.
-
-
- ΓòÉΓòÉΓòÉ 11.3.3.5.6. Cost ΓòÉΓòÉΓòÉ
-
-
- Cost <Addr> <Cost> [<UCost>]
-
- <Cost> and <UCost> are in the range 0->65535.
- Overrides the Cost and User_Cost fields of <Addr> in the
- compiled nodelist. If no <UCost> is given, it's taken
- equal to <Cost>.
-
- Example:
-
- Cost 2:332/501.0 150
-
-
- ΓòÉΓòÉΓòÉ 11.3.3.6. Segment Selection ΓòÉΓòÉΓòÉ
-
-
- SEGMENT SELECTION
-
-
- The following verbs allow to include or exclude selected
- <NodeList> segments. If you do not use them, the full <NodeList>
- is compiled. Be aware that the process of checking each address
- against the list of segments to be included or excluded might
- slow down the compilation, even if some gain could come from the
- exclusion of large segments.
-
- These statements are obviously illegal in a "NoCompile" block.
-
- These statements can be used in an Input block to affect that
- nodelist only.
-
-
- ΓòÉΓòÉΓòÉ 11.3.3.6.1. IncAddr ΓòÉΓòÉΓòÉ
-
-
- IncAddr <PartAddrLst>
-
- If you want to selectively include nodelist segments,
- you can use this option: only zones, regions, nets,
- hubs, nodes, points that are listed in <PartAddrLst>
- will be present in the output files. You can specify
- zone, region/net, hub/node and point numbers.
-
- Example:
-
- IncAddr 1 2:33 2:200/100 3:632 4:801/17
-
- Compiles: zone 1, region 33 of zone 2, hub 100 of net
- 200 of zone 2, net 632 of zone 3, node 4:801/17
-
-
- ΓòÉΓòÉΓòÉ 11.3.3.6.2. ExcAddr ΓòÉΓòÉΓòÉ
-
-
- ExcAddr <PartAddrLst>
-
- If you want to exclude some segments from the
- compilation, you can list them in <PartAddrLst>, in the
- same way as for "IncAddr". You can use either "IncAddr"
- or "ExcAddr" or both of them to Include only selected
- segments and exclude sub-segments.
-
- Example:
-
- ExcAddr 2:332/500
-
- Excludes Hub 500 of net 332 of zone 2.
-
-
-
-
- ΓòÉΓòÉΓòÉ 11.3.4. Input Block ΓòÉΓòÉΓòÉ
-
-
- I N P U T B L O C K
-
-
- The Input Block starts with a "NodeList" statement and continues
- until the start of the next Input or Output Block (NodeList or
- Version7 statement respectively) or the end of the configuration
- file.
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.1. NodeList ΓòÉΓòÉΓòÉ
-
-
- NodeList <NodeList> [<PartAddr> [<Region> [<Hub>]]]
-
- Start of a block of config verbs defining the processing
- of the specified <NodeList> file. You can use many
- "NodeList" statements to compile several different
- source nodelists into the same output files specified by
- the preceding "Version7+" statement. Each "NodeList"
- verb marks the beginning of a new input-nodelist
- processing-info block.
-
- When an address is present in more than one <NodeList>
- (e.g. you compile both the full nodelist and the faster
- updated local region or zone segment) only the entry
- found in the last compiled <NodeList> is put in the
- indices. To have the most up-to-date entries in your V7
- indices, please include local segments after the larger
- list.
-
- <NodeList> is the name of the input nodelist.
- If you don't specify a path, <InputPath> is assumed.
-
- If a terminal ".???" is specified, all the files with 3
- digits in the place of '???' are examined and that with
- the latest 3 digit day of the year is chosen for
- compilation.
-
- The optional <PartAddr> is a partial address that must
- be specified for nodelist segments that do not have full
- address info. For example, a REGION segment usually
- starts with the "Region," keyword and does not contain
- any Zone info: its up to you to tell FastLst which zone
- we are talking about. For the same reason you should
- provide zone and net info when compiling a Hub segment.
-
- For Net segments you should also specify the <Region>
- and for simple lists of nodes or points the <Hub>.
-
- Anyway FastLst is smart enough to automagically gather
- Region and Hub information (when possible) from:
-
- - same node present in a larger segment (Region and Hub)
- - other node with same zone:net (Region only)
- - Boss of the point (Region and Hub)
-
- Note: points that do not have a Boss are removed from
- the indices.
-
- Examples:
-
- IMPORTANT: Please note that the following lines
- represent a list of examples, NOT an example of
- multiple nodelist compilation.
- After each "NodeList" verb, you must specify all the
- statements that affect the compilation of that
- particular source file.
-
-
- 1) NodeList nodelist.??? ; Fidonet nodelist
-
- 2) NodeList region.033 2 ; Region 33 list, zone 2
-
- 3) NodeList region24.??? 2 ; Region 24 list, zone 2
-
- 4) NodeList net.332 2 33 ; Net list, zone 2, region 33
-
- 5) NodeList hub.500 2:332 33 ; Hub list, zone 2, net 332,
- ; region 33
-
- 6) NodeList locnode.500 2:332 33 500
- ; Some nodes, zone 2, net 332,
- ; region 33, hub 500
-
- 7) NodeList points.504 2:332/504
- ; Points of 2:332/504 in
- ; "Point," format
-
- 8) NodeList morenode.lst ; Some nodes in the "Node,"
- ; format. No <PartAddr> required
- ; since the "Node," line gives
- ; full address info.
-
- 9) NodeList ptlist.??? ; Point List in the "Boss,"
- ; format. No <PartAddr> required
- ; since the "Boss," line gives
- ; full address info.
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.2. Input Section ΓòÉΓòÉΓòÉ
-
-
- Input Section
-
-
- The following statements affect the handling of the nodelist
- specified by the last "NodeList" statement (current Input
- Block).
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.2.1. NodeDiff ΓòÉΓòÉΓòÉ
-
-
- NodeDiff <NodeDiff>
-
- <NodeDiff> is the name of the nodediff file.
- If you don't specify a path, <InputPath> is assumed.
-
- <NodeDiff> must terminate with ".???". FastLst will
- search for a suitable <NodeDiff>, considering the files
- that have a 3 digit day of the year in the place of the
- trailing '???'.
-
- Example:
-
- NodeDiff NODEDIFF.???
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.2.2. ArcList ΓòÉΓòÉΓòÉ
-
-
- ArcList <ArcList> [<Keep#>]
-
- You can specify the name of the archive containing
- <NodeList>. It is necessary if you use automatic
- extraction/rearchiving, but it can even be used only to
- delete old files.
-
- <ArcList> is used to extract new nodelists, to compress
- them using the methods defined in "ArcMethod", to
- compress the new nodelists after the application of
- nodediffs.
-
- If <ArcList> has a terminating ".???", all the files
- that have a suitable fixed (.zip, .lzh etc.) or variable
- (.z10, .z17, .l10, .l17 etc.) extension are considered,
- taking the digits as the last 2 digits of the day of the
- year.
-
- If you really want to limit search to a specified fixed
- or variable extension, you can do:
- "ArcList nodelist.zip", to consider .zip only;
- "ArcList nodelist.z??", to consider .z?? only.
-
- <Keep#> optionally specifies the number of archives to
- be kept, basing on the day of the year (the modification
- file date is also used to infer the correct
- chronological order).
-
- If you maintain archives with multiple different
- extensions (.z??, .l??, etc.) the actual number of files
- increases, since multiple files with the same day
- extension count for one.
-
- The description associated to the deleted files is
- removed from FILES.BBS.
-
- Example:
-
- ArcList nodelist.??? 1
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.2.3. ArcDiff ΓòÉΓòÉΓòÉ
-
-
- ArcDiff <ArcDiff> [<Keep#>]
-
- You can specify the name of the archive containing
- <NodeDiff>. It is necessary if you use automatic
- extraction/rearchiving, but it can even be used only to
- delete old files.
-
- <ArcDiff> must terminate with ".???".
-
- All the files that have 2 digits in the place of the
- last 2 '?' are examined, taking the digits as the last 2
- digits of the day of the year.
-
- If you really want to limit search to a specified
- extension, you can do:
- "ArcDiff nodediff.z??", to consider .z?? only.
-
- <Keep#> optionally specifies the number of archives to
- be kept, basing on the day of the year (the modification
- file date is also used to infer the correct
- chronological order). In the case of multiple archive
- extensions, the actual number increases consequently.
-
- The description associated to the deleted files is
- removed from FILES.BBS.
-
- Example:
-
- ArcDiff nodediff.??? 5
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.2.4. ArcListDesc/ArcDiffDesc ΓòÉΓòÉΓòÉ
-
-
- ArcListDesc <Desc>
- ArcDiffDesc <Desc>
-
- You can specify a description to be added to FILES.BBS
- for the new nodelist and nodediff files created by
- FastLst.
-
- Some parameters are available:
-
- %d : the 3 digit day number (0 padded)
- %a : the archiver name
- %D : the date, USA format (Feb 10, 1995)
- %L : the date, Local format
-
- Example:
-
- ArcListDesc Fido Nodelist for day %d (%D), %a format
- ArcDiffDesc Fido Nodediff for day %d (%D), %a format
-
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.3. Local Specifications ΓòÉΓòÉΓòÉ
-
-
- Local Specifications
-
-
- You can use here the same statements described in the "Global
- Section B" and (if we are not in a "NoCompile" block) "Global
- Section C" and "Export Global Section" (see the Export Block
- below).
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.4. Address Specific Stuff ΓòÉΓòÉΓòÉ
-
-
- ADDRESS SPECIFIC STUFF
-
-
- You can specify here the address specific stuff that is related
- to the current source nodelist (if not inside a "NoCompile"
- block).
-
- If you have already used the "Output section" for specifying
- this kind of information, you can skip this section.
-
- WARNING:
-
- Often you will compile segments of a previously compiled
- nodelist. For example you could have a "NodeList nodelist.???"
- block for the world nodelist and then a "NodeList region.033"
- block for your region's nodelist segment.
-
- The majority of entries in the latter will be duplicates of
- entries already found in the former. However, in the case of
- duplicates, only the entries found in the last involved
- "NodeList" block will go to the indices and be active. This way
- you can compile the full world nodelist while keeping your
- segment up-to-date with local segments that get updated faster
- than the full nodelist.
-
- When you have to specify "Address Specific Stuff" for nodes that
- are present in more than one "NodeList", you must do that in the
- last involved "NodeList" block (or in the Output Section, of
- course), otherwise your indications will have no effect.
-
- For a list of allowed statements, please see the "Address
- Specific Stuff" section of the "Output" section above.
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.5. Segment Selection ΓòÉΓòÉΓòÉ
-
-
- SEGMENT SELECTION
-
-
- You can use here the same statements described in "Segment
- Selection" in the Output Section (if not inside a "NoCompile"
- block).
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.6. Export Block ΓòÉΓòÉΓòÉ
-
-
- EXPORT Block
-
-
- FastLst can "export" segments of nodelist: e.g. you can export
- the Region 25 from the world nodelist to a file called
- Region25.???, where ??? stands for the day of the year. Note
- that this feature is for exporting segments of nodelist to a
- dedicated file. To compile segments you should continue using
- the "Segment Selection" section of FastLst.Cfg.
-
- These blocks MUST be at the _END_ of an "Input Block"; there can
- be multiple Export Blocks in a single Input Block.
-
- Obviously the Export Block is available for compiled nodelists
- only, thus it is illegal inside a "NoCompile" block.
-
- The export is done ONLY when a new NodeList is found (or when
- the file to be exported exists neither in uncompressed nor in
- archived form), even if the config file is changed. So, you can
- safely hatch the created arcfile via the AfterArcExport command
- with no danger of hatching it all the times you change something
- in the cfg. Under these conditions, if you really want to export
- anyway, you must use the -i command line switch.
-
- IMPORTANT: If you use the same export filename for multiple
- source nodelists, all the exported segments are appended one
- another. This way, if you like, you can make FastLst generate a
- "plain" nodelist file with many different source nodelists in
- it, just appended one after another. Some people need this
- feature to create input for some other program. For this feature
- to work, you need to specify the '+' parameter in the "Export"
- statement. See "Export Example" below.
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.6.1. Export ΓòÉΓòÉΓòÉ
-
-
- Export [+] <file> [<PartAddrLst>]
-
- The '+' sign must be specified when you want to create a
- joined list by exporting multiple nodelists to the same
- export <file>. This way the exported file will be
- created every time the nodelist is compiled and its
- timestamp will not be changed to be equal to the source.
-
- <file> is the name of the file to which you want to
- export the selected segment(s).
-
- <PartAddrLst> is the partial address list of segments to
- be exported. Usually it is a single partial address.
- If omitted, the entire nodelist is exported (useful to
- create a joined nodelist).
-
- This statement marks the start of an "Export Block".
- Multiple "Export Blocks" are allowed in the same "Input
- Block".
-
- N.B. The Export blocks must be at the _END_ of an input
- block. See "Export Example" below.
-
- Example:
-
- Export region25.??? 2:25
-
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.6.2. Export Section ΓòÉΓòÉΓòÉ
-
-
- Export Section
-
-
- The following verbs define the parameters for the Export
- specified by the last "Export" statement.
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.6.2.1. ArcExport ΓòÉΓòÉΓòÉ
-
-
- ArcExport <arcfile> [Keep#]
-
- <arcfile> is the name of the archive file to which you
- want to compress the exported <file>.
-
- [Keep#] is the optional number of archive versions to be
- kept, basing on the day of the year (the modification
- file date is also used to infer the correct
- chronological order).
-
- Example:
-
- ArcExport region25.??? 2
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.6.2.2. ArcExportDesc ΓòÉΓòÉΓòÉ
-
-
- ArcExportDesc <description>
-
- <description> is the description to be applied to
- FILES.BBS when a new archive is created.
-
- Example:
-
- ArcExportDesc Region 25 %D, %a format
-
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.6.3. Export Global Section ΓòÉΓòÉΓòÉ
-
-
- Export Global Section
-
-
- The following verbs can be used in the "Export Section" of an
- "Export Block", in the "Input Section" of an "Input Block", in
- the "Output Section" of an "Output Block", in the "Global
- Section".
-
- In few words, they are legal everywhere except for the
- "NoCompile" block.
-
- Depending on their positions, they affect the involved nodelists
- only.
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.6.3.1. ArcExportMethod ΓòÉΓòÉΓòÉ
-
-
- ArcExportMethod <meth>[,<f>] ...
-
- Specifies the archive type(s) to be created for the
- exported file.
-
- <meth> is the archiver name as defined in Compress.Cfg.
-
- <f> is the optional first letter to be used for variable
- archive extensions.
-
- Example:
-
- ArcExportMethod zip lh,H
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.6.3.2. BeforeArcExport/AfterArcExport ΓòÉΓòÉΓòÉ
-
-
- BeforeArcExport <command>
- AfterArcExport <command>
-
- Commands to be run before/after archiving the exported
- file.
-
- <command> can be any type of command (executable file,
- batch file, internal command, alias, etc.) and supports
- the %a (full archive name) and %f (name of the file to
- be compressed, no path) and is run from the directory
- where %f resides.
-
- WARNING: since <command> is executed from the directory
- where the file to be compressed belongs, you might need
- to specify the location of the config files used by the
- programs invoked via <command>.
-
- Example:
-
- AfterArcExport Hatch %a
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.6.3.3. ExportNeededBeforeKill ΓòÉΓòÉΓòÉ
-
-
- ExportNeededBeforeKill
-
- Specifies that the exported file is needed by the
- "BeforeKillSource" command.
-
-
- ΓòÉΓòÉΓòÉ 11.3.4.6.4. Export Example ΓòÉΓòÉΓòÉ
-
-
- Export Example:
-
- NodeList nodelist.???
- NodeDiff nodediff.???
- ArcList nodelist.??? 2
- ArcDiff nodediff.??? 5
- ArcListDesc Fido Nodelist for day %d (%D), %a format
- ArcDiffDesc Fido Nodediff for day %d,(%D), %a format
- Export region25.??? 2:25
- ArcExport region25.??? 1
- ArcExportDesc Region 25 %D, %a format
- ArcExportMethod zip lh
- AfterArcExport Hatch %a
- Export region24.??? 2:24
- ArcExport region24.??? 1
- ArcExportDesc Region 24 %D, %a format
- ArcExportMethod zip
-
-
-
- Export Example to generate a joined list:
-
- NodeList nodelist.???
- NodeDiff nodediff.???
- ArcList nodelist.??? 2
- ArcDiff nodediff.??? 5
- ArcListDesc Fido Nodelist for day %d (%D), %a format
- ArcDiffDesc Fido Nodediff for day %d,(%D), %a format
- Export + megalist.Lst
-
- NodeList zonelist.???
- NodeDiff zonediff.???
- ArcList zonelist.??? 2
- ArcDiff zonediff.??? 5
- ArcListDesc Zonelist for day %d (%D), %a format
- ArcDiffDesc Zonediff for day %d,(%D), %a format
- Export + megalist.Lst
- ArcExport megalist.??? 1
- ArcExportDesc MegaList, %a format
- ArcExportMethod zip lh
-
-
-
-
- ΓòÉΓòÉΓòÉ 11.4. Compress Definition File ΓòÉΓòÉΓòÉ
-
-
- COMPRESS DEFINITION FILE
-
-
- The file specified in the CompressCfg statement is a sequence of
- Archive definition blocks, each one starting with "Archiver" and
- ending with "End Archiver". You can find an example in the
- Compress.Cfg file included in the distribution pack.
-
- The order of the archive definition blocks within this file may
- be important: when trying to unpack a compressed file, the list
- of archivers is scanned in a reverse order.
-
- In the case of two archivers that use the same identification
- string (e.g. ARC and PAK), you must specify the archiver that
- can unpack both (PAK) after the other one (ARC).
-
- The compress.cfg file can be shared between DOS/NT and OS/2
- applications: the "DOS" and "OS2" keywords are available to
- distinguish between the commands to be used under DOS/NT and
- OS/2.
-
- O.S. specific archivers or commands must be prefixed with the
- relevant keyword.
-
- IMPORTANT NOTE: The lines that begin with "DOS" or "OS2" are
- parsed by the DOS/NT and OS/2 versions respectively. If you need
- the OS/2 version to execute a DOS command, you MUST NOT use the
- DOS keyword: if you do, it will never parse that line; if you do
- not, it will execute the DOS command "normally", provided you
- have installed OS/2's Dos support.
-
- See the examples below.
-
-
- ΓòÉΓòÉΓòÉ 11.4.1. Archiver ΓòÉΓòÉΓòÉ
-
-
- Archiver <ARCname>
-
- Starts the Archive definition block.
-
- <ARCname> is the name used to identify this archiver.
-
- Example:
-
- Archiver ZIP
-
-
- ΓòÉΓòÉΓòÉ 11.4.2. Extension ΓòÉΓòÉΓòÉ
-
-
- Extension <ext>
-
- Specifies the default extension for the compressed
- files.
-
- Example:
-
- Extension ZIP
-
-
- ΓòÉΓòÉΓòÉ 11.4.3. Ident ΓòÉΓòÉΓòÉ
-
-
- Ident <ofs>,<ID>
-
- <ofs> is a decimal integer number representing the
- offset at which an archive identity marker <ID> must be
- present.
-
- Negative values can be used to indicate offsets from the
- END of a compressed file. -1 means "the last byte", -2
- "the second last byte" and so on.
-
- <ID> is a series of hexadecimal figures which represent
- the bytes of the marker string that must be present at
- the specified offset of the archive file.
-
- Example:
-
- Ident 0,504b0304 ; "PK^c^d"
-
-
- ΓòÉΓòÉΓòÉ 11.4.4. Add ΓòÉΓòÉΓòÉ
-
-
- Add <command>
-
- Specifies the command to add files to an archive.
- %a and %f are translated to the name of the archive and
- file to add.
-
- Example:
-
- Add zip -jk %a %f
-
-
- ΓòÉΓòÉΓòÉ 11.4.5. Extract ΓòÉΓòÉΓòÉ
-
-
- Extract <command>
-
- Specifies the command to extract files from an archive.
- %a and %f are translated to the name of the archive and
- file to extract.
-
- Example:
-
- Extract unzip -qqnjC %a %f
-
-
- ΓòÉΓòÉΓòÉ 11.4.6. View ΓòÉΓòÉΓòÉ
-
-
- View <command>
-
- This line is recognized and accepted for compatibility,
- but not used.
-
-
- ΓòÉΓòÉΓòÉ 11.4.7. End Archiver ΓòÉΓòÉΓòÉ
-
-
- End Archiver
-
- This statement is used to close a Archive definition.
-
-
- ΓòÉΓòÉΓòÉ 11.4.8. Examples ΓòÉΓòÉΓòÉ
-
- Examples
-
-
- Complete example 1 (you need OS/2 only):
-
- Archiver ZIP
- Extension ZIP
- Ident 0,504b0304
- Add zip -jk %a %f
- Extract unzip -qqnjC %a %f
- View unzip -v %a
- End Archiver
-
-
- Complete example 2 (you need DOS only):
-
- Archiver ZIP
- Extension ZIP
- Ident 0,504b0304
- Add pkzip -a %a %f
- Extract pkunzip -n %a %f
- View pkzip -v %a
- End Archiver
-
-
- Complete example 3 (you need both OS/2 and DOS):
-
- Archiver ZIP
- Extension ZIP
- Ident 0,504b0304
- OS2 Add zip -jk %a %f
- DOS Add pkzip -a %a %f
- OS2 Extract unzip -qqnjC %a %f
- DOS Extract pkunzip -n %a %f
- OS2 View unzip -v %a
- DOS View pkzip -v %a
- End Archiver
-
-
- Complete example 4 (archiver to be used under DOS only):
-
- DOS Archiver ZOO
- DOS Extension ZOO
- DOS Ident 0,5a4f4f ; "ZOO"
- DOS Add zoo a: %a %f
- DOS Extract zoo e:O %a %f
- DOS View zoo v %a
- DOS End Archiver
-
-
- Complete example 5 (it's a DOS executable, to be used under
- DOS or OS/2 indifferently):
-
- Archiver ZOO
- Extension ZOO
- Ident 0,5a4f4f ; "ZOO"
- Add zoo a: %a %f
- Extract zoo e:O %a %f
- View zoo v %a
- End Archiver
-
-
- ΓòÉΓòÉΓòÉ 12. TroubleShooting ΓòÉΓòÉΓòÉ
-
-
- T R O U B L E S H O O T I N G
-
-
- ΓòÉΓòÉΓòÉ 12.1. Lost Passwords ΓòÉΓòÉΓòÉ
-
-
- Lost Passwords
-
- Problem:
- A password is configured, but the mailer-session is
- unprotected as if there were no password at all.
-
- Solution:
- Please note that the order of Input-Nodelists and
- Password-Definitions is important.
-
- If a node is included multiple times (it is listed in
- 2 or more nodelists), FastLst will index the LAST
- occurrence only.
-
- 4D-Pointlists using the "Point," method override the
- entries of all the listed BOSSes: it's recommended to
- list "older" nodelists first, so that the newer
- entries are indexed.
-
- NodeList 4dPoints.Lst
- [...]
- NodeList nodelist.???
- [...]
-
-
- ΓòÉΓòÉΓòÉ 12.2. Extraction problem ΓòÉΓòÉΓòÉ
-
-
- Extraction problem
-
- Problem:
- FastLst does not extract the correct
- nodelist/nodediff.
-
- Solution:
- Perhaps there is some nodelist/nodediff with corrupted
- file date. Check your "ArcPath", manually extract to
- the "InputPath" the required nodelist/nodediff and
- delete the archive (or reset its file-date so that it
- is similar to that of the enclosed file). FastLst will
- automatically rearchive the nodelist/nodediff if you
- use "ArcMethod"/"ArcDiffMethod", otherwise you can
- rearchive manually.
-
-
- ΓòÉΓòÉΓòÉ 12.3. Out of Memory ΓòÉΓòÉΓòÉ
-
-
- Out of Memory
-
- Problem:
- FastLst runs out of memory (Dos versions).
-
- Solution:
- - give more DPMI memory to FastLst
-
- - enable the DOS4GW virtual memory mode, using the
- DOS4GVM environment variable (e.g. for 16MB virtual
- allocation size: SET DOS4GVM=VirtualSize#16384).
-
- This works under real Dos only: if you are using
- OS/2 dos sessions, use a higher DPMI_MEMORY_LIMIT in
- the Dos settings.
-
-
- ΓòÉΓòÉΓòÉ 12.4. Problems with Empty Phone entries ΓòÉΓòÉΓòÉ
-
-
- Problems with Empty Phone entries
-
- Problem:
- Some program behaves oddly while accessing entries
- that contain an empty phone number.
-
- Solution:
- The problem might be caused by the cost that is
- assigned to empty-phone nodes (65535 by default).
- Try using the "CostNullPhone" global statement to give
- lower costs.
-
- Example:
-
- CostNullPhone 900 0
-
-
- ΓòÉΓòÉΓòÉ 12.5. Slow processing ΓòÉΓòÉΓòÉ
-
-
- Slow processing
-
- Problem:
- FastLst works very slowly.
-
- Solution:
- Perhaps you are compiling a large nodelist or set of
- nodelists on a system with few MegaBytes of free
- physical RAM, so that the OS needs to extensively use
- virtual memory. Try using the "LinkOnDisk" statement
- in the configuration file.
-
-
- ΓòÉΓòÉΓòÉ 12.6. System performance degradation ΓòÉΓòÉΓòÉ
-
-
- System performance degradation
-
- Problem:
- FastLst loads the system excessively, so that other
- OS/2 tasks don't perform properly (OS/2 version).
-
- Solution:
- Use the "Priority Idle" statement in the configuration
- file, so that FastLst receives its time slices only
- when other processes with higher priority are idle.
-
-
- ΓòÉΓòÉΓòÉ 12.7. I want maximum speed ΓòÉΓòÉΓòÉ
-
-
- I want maximum speed
-
- Problem:
- I run FastLst while the communications are off, so I
- would like it to run as fast as possible even if it is
- in the background and other tasks are active (OS/2
- version).
-
- Solution:
- Use the "Priority High 31" statement in the
- configuration file, so that FastLst receives the
- maximum priority for "non time-critical" processes.
-
-
- ΓòÉΓòÉΓòÉ 12.8. Archived Diffs are not applied ΓòÉΓòÉΓòÉ
-
-
- Archived Diffs are not applied
-
- Problem:
- FastLst does not apply the archived Diffs.
-
- Solution:
- Remember that "InputPath <path>" is the default path
- for lists and diffs, while "ArcPath <path>" is the one
- for archives.
-
- Please compare your Compress.cfg with the example one,
- check the paths and try the commands manually.
-
- Check the day-extensions and time-stamps of the
- relevant files.
-
-
- ΓòÉΓòÉΓòÉ 12.9. Dos/32 DOS4GW exception ΓòÉΓòÉΓòÉ
-
-
- Dos/32 DOS4GW exception
-
- Problem:
- The Dos/32 version of FastLst aborts with an exception
- from the Dos extender.
-
- Solution:
- Try booting with a "clean" config.sys and autoexec.bat
- (the Dos extender might be incompatible with some of
- your loaded drivers or TSRs.
-
-
- ΓòÉΓòÉΓòÉ 12.10. Dial Scripts and VMODEM addresses ΓòÉΓòÉΓòÉ
-
-
- Dial Scripts and VMODEM addresses
-
- Problem:
- How can I put script names or internet addresses in
- the place of a phone number ?
-
- Solution:
- You may use the "Phone" statement.
-
- Example:
-
- Let's suppose the following Modem Type table is
- defined:
-
- TypeDef
- X75 1
- V34 2
- VM 3
- End
-
-
- You may use a Phone override of this kind:
-
- Phone 2:345/678 domain.com VM,CM 10 0
-
-
- And a ModemTrans (for Binkley's VMODEM line):
-
- ModemTrans 0
- ModemTrans 1
- ModemTrans 2
- ModemTrans 3 ATDT# ; Vmodem
-
-
-
- ΓòÉΓòÉΓòÉ 12.11. Region and zone-level Export ΓòÉΓòÉΓòÉ
-
-
- Region and zone-level Export
-
- Problem:
- How can I export a Region segment together with the
- zone-level entries ?
-
- Solution:
- The zone level entries have the Region/Net field equal
- to the zone number; you can use the Export statement
- in the following way:
-
- export MyR33.??? 1:1 2:2 2:33 3:3 4:4 5:5 6:6
-
-
- ΓòÉΓòÉΓòÉ 12.12. Support ? ΓòÉΓòÉΓòÉ
-
-
- Support ?
-
- Problem:
- I cannot find the solution to my problems.
-
- Solution:
- - Try linking the APWORKS support echo
- - Try asking your local supporter
- - Try asking the author directly
- You can find the addresses in the ReadMe.1st file.
-
-
- ΓòÉΓòÉΓòÉ 13. SHAREWARE ΓòÉΓòÉΓòÉ
-
-
- S H A R E W A R E
-
-
- If you like this program and continue using it, you should pay
- the author for his work, as per the ShareWare concept of
- distribution.
-
- Please see LICENSE.DOC and REGISTER.DOC for information.
-
- Thank you for your interest in FastLst.
-
-
- ΓòÉΓòÉΓòÉ 13.1. License.Doc ΓòÉΓòÉΓòÉ
-
-
- ΓòöΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòù
- Γòæ Γòæ
- Γòæ F A S T L S T Γòæ
- Γòæ Γòæ
- ΓòÜΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓò¥
-
-
- L I C E N S E
-
- P O L I C Y
-
- June 1997
-
-
- This software (program and accompanying documentation) are:
-
- Copyright (c) 1992-1997 Alberto Pasquale, all rights reserved.
-
-
- DISTRIBUTION FORMAT
-
-
- This software is distributed in a locked RAR archive, with
- embedded authenticity-verification information.
-
- The distribution of modified archives, including those derived
- from the conversion to a different archiver, is explicitly
- prohibited.
-
- When the RAR extension is not accepted, you should store the
- original RAR archive inside a ZIP one.
-
-
-
- S H A R E W A R E
-
-
- This software is distributed as ShareWare: you are granted the
- right to evaluate the program for a maximum of 30 days before
- paying the author. After the evaluation period, you are required
- to either register (see REGISTER.DOC) or stop using the program.
-
- You are encouraged to distribute the original and unmodified
- package freely, in any form and on any media, provided you do
- not charge any fee for the program itself.
-
- This package could be included in CD-ROM collections,
- subscription download areas, BBS packages, provided it remains
- in its complete and unmodified original archive.
-
- In any case, the user must register with the author after the
- evaluation period.
-
- IMPORTANT: the registration is NOT a trade transaction, it is to
- be considered as payment of royalties; therefor the registration
- key is personal and NOT transferrable.
-
-
- DISCLAIMER
-
-
- This software is provided on an "as is" basis without warranty
- of any kind, expressed or implied, including but not limited to
- the implied warranties of merchantability and fitness for a
- particular purpose.
-
- The person using the software bears all risk as to its quality
- and performance.
-
- The author will not be liable for any special, incidental,
- consequential, indirect or similar damages due to loss of data
- or any other reason.
-
-
- ΓòÉΓòÉΓòÉ 13.2. Register.Doc ΓòÉΓòÉΓòÉ
-
-
- ******* ** **** ****** **** **** ******
- ** * **** ** ** * ** * ** ** ** * ** *
- ** * ** ** ** ** ** ** **
- **** ** ** **** ** ** **** **
- ** * ****** ** ** ** * ** **
- ** ** ** ** ** ** ** ** ** ** **
- **** ** ** **** **** ******* **** ****
-
-
- (C) Copyright 1992-1997 by Alberto Pasquale
-
- A L L R I G H T S R E S E R V E D
-
-
- For licensing terms and disclaimer, see LICENSE.DOC.
-
- This program required a lot of work: by registering you will
- support me in developing this and other similar products.
-
- You will receive a registration Key that removes the initial 2
- second pause and makes the program show "Registered <month/year>
- To: <Reg.String>" instead of the registration request banner.
-
- The registration is guaranteed valid for all future minor
- updates and, in any case, for all versions that will be released
- in a period of 2 years after registration. After this period, an
- upgrade fee might possibly be required in the case of major new
- releases.
-
- The registration key works FOREVER with the current version of
- the program for ANY platform: you do not have to pay anything in
- the case you change your operating system.
-
- ΓòöΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòù
- Γòæ Γòæ
- Γòæ Registration fee: US$ 25, DEM 35, ITL 30,000 or (see below) Γòæ
- Γòæ Γòæ
- ΓòÜΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓò¥
-
-
-
- ΓòÉΓòÉΓòÉ 13.2.1. How to Register ΓòÉΓòÉΓòÉ
-
-
- HOW TO REGISTER
-
-
-
- Registering is quite easy; you can register:
-
-
- - Directly with me by cash, check or international
- (not domestic !) postal money order.
-
- - via local Registration Site in Canada, Germany, UK.
-
- - via BMT Micro (Wilmington, NC, USA), by credit card, money
- order, cashiers check, personal check, German or British
- currency.
-
- - via PsL (Houston, TX, USA), by credit card.
-
-
- The registration key will be delivered via internet e-mail or
- crash netmail depending on availability; fax and postal mail
- will be used only in case of problems.
-
- Should you not receive your registration key in a reasonable
- time, please feel free to contact me.
-
- Please allow at least 3 weeks for response to international
- airmail.
-
-
- Please address your requests, complaints, suggestions to:
-
- Alberto Pasquale of 2:332/504@fidonet
-
- bug@apworks.com Bug Reports
- feedback@apworks.com General Feedback (no answer required)
- info@apworks.com Request for information
- sales@apworks.com Commercial stuff
- support@apworks.com Technical Support
-
-
- 2:332/504@fidonet +39-59-246112 X75 V120 X2 V34+ V32T H16
- 2:332/524@fidonet +39-59-246113 X75 CCB
- FAX: +39-59-246113
-
-
- ΓòÉΓòÉΓòÉ 13.2.1.1. Author's ΓòÉΓòÉΓòÉ
-
- Hot to register directly with the author
-
- You have to send the registration information and money to:
-
- Alberto Pasquale
- Viale Verdi 106
- 41100 Modena
- Italy
-
-
- Since the registration is a payment of royalties (not a
- commercial transaction), there is NO added VAT and NO commercial
- invoice.
-
- People who need a formal receipt for fiscal deduction are kindly
- requested to send the necessary data _together_ with the
- registration information.
-
-
- ΓòÉΓòÉΓòÉ 13.2.1.1.1. Bank Transfer ΓòÉΓòÉΓòÉ
-
-
- Bank Transfer:
- Send US$ 25, DEM 35, ITL 30,000 or the equivalent of US$
- 25 to the following account:
-
- SWIFT: CARIITMF615
- ABI/CAB/CC: 6070 12900 5328/1
-
- Bank name: CARIPLO (Punto Cariplo di Modena)
- Via Ciro Menotti 90, 41100 Modena Italy
- Account name: Pasquale Alberto
-
-
- ΓòÉΓòÉΓòÉ 13.2.1.1.2. Cash ΓòÉΓòÉΓòÉ
-
-
- Cash:
- Just put the (accurately hidden) banknotes (US$ 25, DEM
- 35, ITL 30,000) together with Register.For in an envelope.
- If you do not have US dollars, German marks or Italian
- liras and do not like going to the bank, you can send the
- equivalent of US$ 25 in your currency, provided it is
- commonly exchangeable.
-
-
- ΓòÉΓòÉΓòÉ 13.2.1.1.3. Check ΓòÉΓòÉΓòÉ
-
-
- Check:
- Just put the check (accurately hidden) together with
- Register.For in an envelope. Please read carefully the
- following instructions:
-
- - Eurocheque: ITL 35,000 (thirtyfive thousand).
-
- - Italian check: 30.000 lire
-
- - Other (bank) checks: US$ 25, DEM 35 or equivalent of
- US$ 25 in your currency.
-
- ATTENTION: NO Postal Checks please.
-
-
- ΓòÉΓòÉΓòÉ 13.2.1.1.4. Postal Money Order ΓòÉΓòÉΓòÉ
-
-
- Postal Money Order:
-
- Just go to the post office and ask for an _INTERNATIONAL_
- postal money order. It is best to go to a major post
- office, since minor ones are generally not used dealing
- with international money orders. Usually you can choose
- whether to use your currency or the recipient's.
-
- Please be sure to specify the necessary registration
- information in the "sender message" field or send
- Register.For separately to the author.
-
- - International money order in italian liras: ITL 30,000
- (thirty thousand).
-
- - International money order in your currency: US$ 25,
- DEM 35 or equivalent of US$ 25.
-
- - Italian money order "vaglia": 30.000 lire.
-
- IMPORTANT: Please DO NOT send me normal "domestic" postal
- money orders, since they are not payable outside of your
- country; you must use INTERNATIONAL postal money orders.
-
- If you would like to receive the key soon, you
- can FAX me (+39-59-246113) the receipt of the
- postal money order together with REGISTER.FOR.
-
-
- ΓòÉΓòÉΓòÉ 13.2.1.2. Local Registration/Support sites ΓòÉΓòÉΓòÉ
-
-
- Local Registration/Support Sites:
-
- If you choose this way, you will have contacts with the
- local supporter only: you will send him the money and
- registration form; in a few days you will receive your
- key.
-
-
- ΓòÉΓòÉΓòÉ 13.2.1.2.1. Canada ΓòÉΓòÉΓòÉ
-
-
- Canada:
-
- Mary-Anne Wise
-
- 58-771 Columbia St.
- New Westminster, BC V3M 1B6
-
- Fidonet: 1:153/831
-
- Internet: MWISE@bc.sympatico.ca
-
- Reg. Fee: CDN 32.50
-
- Methods of payment: cheque, money order
-
-
- ΓòÉΓòÉΓòÉ 13.2.1.2.2. Germany ΓòÉΓòÉΓòÉ
-
-
- Germany:
-
- Roland Schiradin
- Stockbornstr. 10
- 65343 Eltville
- Germany
-
- Fidonet: 2:2454/169 Mail Only
- Internet: schiradi@tap.de
-
- Reg. Fee: DEM 35
-
- He has the APWORKS support echo and TIC file-areas for
- my programs available. Besides he can provide you with
- information about the nodes carrying APWORKS in
- Germany.
-
- He has the latest version of ApWorks programs available
- for F/R with the same magics listed in Readme.1st.
-
-
- ΓòÉΓòÉΓòÉ 13.2.1.2.3. United Kingdom ΓòÉΓòÉΓòÉ
-
-
- United Kingdom:
-
- Vince Coen
- Applewood House
- Epping Road
- Roydon, Harlow
- Essex, CM19 5DA, UK
-
- Fidonet: 2:257/609
-
- Reg. Fee: GBP 15.00
-
- Payment can be in Cash, Cheque (bankers card number on
- order form please), EuroCheck, Credit Card or direct to
- my bankers. Payment MUST be in Pounds Sterling.
-
- For payment through the bank:
- Bank: First Direct.
- Sort code: 40-47-86.
- Account: 00449334
- Account name: Vincent Coen.
-
- Payment reference must include Sysop name and node number.
-
- For payment via Visa/Mastercard/Eurocard there is a 5.50%
- surcharge which will add 0.83 to the cost of 15.00, i.e.
- 15.83 Pounds Sterling.
- Credit Card details needed: Name and address of card
- holder, Card number and card expiry date.
-
- The latest version of ApWorks programs are available
- for F/R with the same magics listed in Readme.1st.
-
-
-
- ΓòÉΓòÉΓòÉ 13.2.1.3. BMT Micro ΓòÉΓòÉΓòÉ
-
- How to register with BMT Micro
-
- The simplest way is to register online on the internet via the
- Secure Server:
-
- - go to my Home Page (http://apworks.com)
- - click on "Secure Order" under "FastLst"
-
- Otherwise you have to fill in the BmtMicro.For registration form
- and send it (or equivalent information) to BMT Micro.
-
- The registration fee is US$ 25.
-
- ATTENTION: for any question regarding the program, its
- registration, support etc, you must contact me directly.
- Please contact BMT Micro to order ONLY.
-
- Usually your key will be delivered within 2 business days.
-
- In certain holiday periods (Christmas, Easter, end of July,
- first half of August) there might be some delay (a few days for
- Christmas or Easter, a couple of weeks in July/August). If you
- think your order is particularly late, please contact me first !
-
-
- Mail Orders To: BMT Micro
- PO Box 15016
- Wilmington, NC 28408
- U.S.A.
-
- Voice Orders: 8:00am - 7:00pm EST (-5 GMT)
- (800) 414-4268 (Orders only)
- (910) 791-7052 (Orders / Order Inquires)
-
- Fax Orders: (800) 346-1672 24 hours, 7 days a week
- (910) 350-2937 24 hours, 7 days a week
-
- Online Orders via BBS: (910) 350-8061 10 lines, all 14.4K
- (910) 799-0923 28.8k line
-
- On the Web: http://www.bmtmicro.com
- http://www.os2ss.com
- http://www.frankson.aus.net/bmtaust/
-
- Ordering and general ordering questions:
- Via AOL: bmtmicro
- via MSN: bmtmicro
- Via Prodigy: HNGP66D
- via Compuserve: 74031,307
- via Internet: orders@bmtmicro.com
- telnet@bmtmicro.com
-
- Credit cards: Visa, Mastercard, Discover, American Express,
- Diners Club, Carte Blanche.
-
- They also accept money orders, cashiers checks, personal checks.
- Personal checks are subject to clearance.
- US Currency is welcome (only by registered mail, return receipt
- requested).
-
- BMTMICRO ORDERING FROM INSIDE GERMANY ONLY
- ==========================================
-
- Persons in Germany may also transfer funds into the BMTMICRO
- account with Deutsche Bank. Once the money is deposited you
- may either fax a confirmation to BMTMICRO with proof of deposit
- or wait until Deutsche Bank notifies them of the transaction
- (usually 10-18 business days). Account information is as
- follows:
-
- Deutsche Bank / Frankfurt Branch
- EmpfДnger: Thomas Bradford / BMT Micro
- Konto-Nummer: 0860221
- Bankleitzahl: 500-700-10
-
- When you make the transfer, be sure to put your name and the
- program you are registering on the transfer.
-
- Current exchange rates can be obtained by sending an email to
- dm_to_us@bmtmicro.com. An automated reply will return todays
- exchange rates.
-
- It is very important that you send BMTMICRO a completed order
- form by either email or fax if you deposit money into this
- account for a registration. Fill the order form out as usual
- except in the credit card number field put "DEUTSCHE BANK". They
- will file the order and use it to match against the deposit
- information they receive from the bank.
-
- IMPORTANT!
- ----------
- When you email BMTMICRO your order form, they will reply with an
- acknowledgement. If you do not get an acknowledgement within
- 24 hours please send your order again in case it was lost. This
- extra bit of caution can save a lot of confusion.
-
- If you are concerned that your order is taking too long to
- process, feel free to check with BMTMICRO about the status of
- your order. It's important to all of us that you feel safe
- doing business with BMTMICRO and please feel free to suggest
- ways we can improve our service to you.
-
-
- ΓòÉΓòÉΓòÉ 13.2.1.4. PsL ΓòÉΓòÉΓòÉ
-
- How to register with PsL (by credit card)
-
-
- You must fill in the PsL.Crd and Register.For forms; then
- you must send BOTH of them to PSL directly (they will forward
- Register.for information to me).
-
- You can order with MasterCard, Visa, American Express or
- Discover Card: the charge is US$ 25.
-
- ATTENTION: you MUST NOT send me any information about your
- credit card. If you do, I am NOT allowed to forward your credit
- card info to PSL.
-
- ATTENTION: for any question regarding the program, its
- registration, key delivery etc, you must contact me directly.
- You must contact PSL to order ONLY.
-
- PSL will notify me your order within one business day and I will
- usually send your key by e-mail or crash netmail within 24h, so
- if you order by fax or phone, you should usually receive your
- key within 2 business days.
-
- ATTENTION: In certain "holiday" periods (Christmas, Easter, end
- of July, first half of August) there might be some delay (a few
- days for Christmas or Easter, a couple of weeks in July/August).
- If you think your order is particularly late, please contact me
- first !
-
- ATTENTION: It may happen that the PSL operator asks you for your
- preferred diskette format. You must be aware that this may be
- "standard" PSL procedure, but I will send you a key ONLY (via
- e-mail, crash netmail, fax or letter), since you already have
- the program.
-
- IMPORTANT: Please, be sure to always give PsL the address where
- you want to receive your key: e-mail address, fidonet name _and_
- address, fax number, and/or complete postal address. If you are
- not in the fidonet nodelist and I don't receive enough
- information, I will be forced to send you an air-mail letter
- (2-3 weeks for delivery). In the case of doubts, you can send
- the Register.For to me too, by e-mail, crash netmail or fax.
-
- Credit card registrations may be made by the following methods
- (please be sure to always include all the necessary information
- from BOTH Register.For and PsL.Crd).
-
- -- PsL on the Web:
-
- http://www.pslweb.com
-
- -- Phone PsL at:
-
- 800-2424-PsL (800-242-4775) Ext. 11471 (USA)
-
- +1-713-524-6394 Ext. 11471 (international)
-
- PSL Office Hours:
-
- 8:00 a.m. to 6:00 p.m. CST Monday->Friday
-
- Be sure to have BOTH Register.For AND PsL.Crd
- available to give order information to PSL.
- First of all, mention the PSL part number 11471.
-
- -- FAX PsL at +1-713-524-6398
-
- -- Email PsL at 11471@pslweb.com
-
- -- Write PsL at:
- The Public (software) Library
- P.O. Box 35705
- Houston, TX 77235-5705, USA
-
- Please, let me insist one more time:
-
- ΓòöΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòù
- Γòæ The above numbers are for ORDERS ONLY. Γòæ
- Γòæ Any question about the status of the shipment of the Γòæ
- Γòæ order (registration key), registration options, Γòæ
- Γòæ product details, technical support, etc, must be Γòæ
- Γòæ directed to the author, at the address given above in Γòæ
- Γòæ this documentation. Γòæ
- ΓòÜΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓò¥
-
-
- ΓòÉΓòÉΓòÉ 13.2.2. How to fill in Register.For ΓòÉΓòÉΓòÉ
-
-
- INSTRUCTIONS FOR COMPILING REGISTER.FOR
-
-
- To avoid errors in the key, please PRINT.
-
- Thank you very much for your support !
-
-
- ΓòÉΓòÉΓòÉ 13.2.2.1. Name ΓòÉΓòÉΓòÉ
-
-
- Name:
- Your complete name.
-
- Example: John Doe
-
-
- ΓòÉΓòÉΓòÉ 13.2.2.2. Reg ΓòÉΓòÉΓòÉ
-
-
- Reg:
- The registration string you want displayed by the program.
- You can use any character in the IBM set (including special
- national characters above ASCII 127; if you do not use code
- page 437 (USA), please specify the code numbers) and you can
- use lowercase and uppercase at your preference.
- Maximum length: 63 characters.
-
- Usually it should be the same as your name, in which case
- you can omit this field.
-
-
- ΓòÉΓòÉΓòÉ 13.2.2.3. e-mail to ΓòÉΓòÉΓòÉ
-
-
- e-mail to:
- This is your internet e-mail address, if available.
-
-
- ΓòÉΓòÉΓòÉ 13.2.2.4. Netmail to ΓòÉΓòÉΓòÉ
-
-
- Netmail to:
- You have to specify the complete destination field for the
- netmail message.
-
- Examples:
- John Doe of 1:200/300.4
- John Doe of 1:200/300.0
-
-
- ΓòÉΓòÉΓòÉ 13.2.2.5. Crash to ΓòÉΓòÉΓòÉ
-
-
- Crash to:
- You have to specify the data necessary for crashing the
- message. Usually this should be your system or your Boss
- (if you are a point).
-
- I will call as 2:332/504@fidonet.
-
- - If your system (or your Boss) is 24h and it is in the
- fidonet nodelist, you can omit this field.
-
- - If your system is not 24h, please give me a 24h system to
- which I can crash your netmail for routing.
-
- - If the system in consideration is not in the fidonet
- nodelist, please add its complete phone number and modem
- type.
-
- Examples:
- 1:200/400@fidonet
- 9:800/700@ABCnet +1-703-4567 V34, ISDNC
-
-
- ΓòÉΓòÉΓòÉ 13.2.2.6. Fax ΓòÉΓòÉΓòÉ
-
-
- Fax:
- This is your (24h) fax number, if any.
-
-
- ΓòÉΓòÉΓòÉ 13.2.2.7. Address ΓòÉΓòÉΓòÉ
-
-
- Address:
- The postal address is the last opportunity of sending you
- the key.
-
-
- ΓòÉΓòÉΓòÉ 13.2.2.8. Version ΓòÉΓòÉΓòÉ
-
-
- Version:
- You should indicate BOTH the version number of the program
- you are registering AND the Operating System.
-
- Example: ver. 2.01 OS/2
-
- This is not essential and is included for statistical
- purposes only (the key works with all current versions).
-
-
- ΓòÉΓòÉΓòÉ 13.2.2.9. Notes ΓòÉΓòÉΓòÉ
-
-
- Notes:
- You can send me your wish list for future versions,
- or anything you like.
-
-
- ΓòÉΓòÉΓòÉ 13.2.3. How to fill in BmtMicro.For ΓòÉΓòÉΓòÉ
-
-
- INSTRUCTIONS FOR COMPILING BMTMICRO.FOR
-
-
- The first section contains data necessary for BMT Micro (your
- name, company, address, phone and fax).
-
- The second section contains the "Registration Information" that
- will be relayed to me so that I can build the key and deliver it
- to you.
-
- The third section contains the product and cost indication.
- The registration is valid for any operating system.
-
- The forth section contains data for Credit Card payment.
-
- To avoid errors, please PRINT.
-
- Thank you very much for your support !
-
-
- ΓòÉΓòÉΓòÉ 13.2.3.1. Reg ΓòÉΓòÉΓòÉ
-
-
- Reg:
- The registration string you want displayed by the program,
- ASCII characters only (<127).
- Maximum length: 63 characters.
-
-
- ΓòÉΓòÉΓòÉ 13.2.3.2. e-mail to ΓòÉΓòÉΓòÉ
-
-
- e-mail to:
- This is your internet e-mail address, if available.
-
-
- ΓòÉΓòÉΓòÉ 13.2.3.3. Netmail to ΓòÉΓòÉΓòÉ
-
-
- Netmail to:
- You have to specify the complete destination field for the
- netmail message.
-
- Examples:
- John Doe of 1:200/300.4
- John Doe of 1:200/300.0
-
-
- ΓòÉΓòÉΓòÉ 13.2.3.4. Crash to ΓòÉΓòÉΓòÉ
-
-
- Crash to:
- You have to specify the data necessary for crashing the
- message. Usually this should be your system or your Boss
- (if you are a point).
-
- I will call as 2:332/504@fidonet.
-
- - If your system (or your Boss) is 24h and it is in the
- fidonet nodelist, you can omit this field.
-
- - If your system is not 24h, please give me a 24h system to
- which I can crash your netmail for routing.
-
- - If the system in consideration is not in the fidonet
- nodelist, please add its complete phone number and modem
- type.
-
- Examples:
- 1:200/400@fidonet
- 9:800/700@ABCnet +1-703-4567 V34, ISDNC
-
-
- ΓòÉΓòÉΓòÉ 13.3. Register.For ΓòÉΓòÉΓòÉ
-
-
-
-
- FastLst Registration Form
-
- (Please PRINT)
-
- See Register.Doc for instructions: Date: __/__/__
-
- Name: _________________________________________________________
-
- Reg.: _________________________________________________________
-
- e-mail to: ____________________________________________________
-
- Netmail to: ___________________________________________________
-
- Crash to: _____________________________________________________
-
- Fax: __________________________________________________________
-
- Address: ______________________________________________________
-
- ______________________________________________________
-
- ______________________________________________________
-
- Version: _.___ OS/2 ( ) W32 ( ) DOS32 ( )
-
- Notes: ________________________________________________________
-
- _______________________________________________________________
-
- _______________________________________________________________
-
-
- Fiscal Receipt (for fiscal deduction), cross one:
-
- none ( ), email ( ), netmail ( ), fax ( ), snail mail ( )
-
-
- ΓòÉΓòÉΓòÉ 13.4. BmtMicro.For ΓòÉΓòÉΓòÉ
-
-
- BMT Micro
- FastLst Registration Form
-
- *****************************************
- * DO NOT SEND this form to the author ! *
- *****************************************
-
- See Register.Doc for instructions, please PRINT: Date: __/__/__
-
- Name: __________________________________________________________
-
- Company: _______________________________________________________
-
- Address: _______________________________________________________
-
- ________________________________________________________________
-
- City: ______________________ State/Province: _________________
-
- Country: ___________________________ Postal Code: ______________
-
- Phone: _________________________________________________________
-
- Fax: ___________________________________________________________
-
-
- REGISTRATION INFORMATION
-
- Reg.: __________________________________________________________
-
- e-mail to: _____________________________________________________
-
- Netmail to: ____________________________________________________
-
- Crash to: ______________________________________________________
-
-
- Product: FastLst (by Alberto Pasquale) Price: US$ 25.00
-
- North Carolina residents, please add 6% sales tax: +US$ __.__
-
- Total: US$ __.__
-
- For credit card payment only:
-
- Circle one: VISA / Master / Discover / AMEX / Diner's Club
-
- Credit card number : _______________________________________
-
- Expiration date : ___/___
-
- Authorization signature: _______________________________________
-
-
- ΓòÉΓòÉΓòÉ 13.5. PsL.Crd ΓòÉΓòÉΓòÉ
-
-
-
-
- FastLst Credit Card Registration Form
- PSL Part number 11471
-
- *****************************************
- * DO NOT SEND this form to the author ! *
- *****************************************
-
- Please read carefully Register.Doc for instructions.
-
-
- Date _________________________
-
-
- Cardholder's name, exactly as it appears on the credit card:
-
- _____________________________________________________
-
- [Company:] _____________________________________________________
-
-
- Billing address for the card:
-
- ___________________________________________________________
-
- ___________________________________________________________
-
- ___________________________________________________________
-
- Payment by: ( ) MasterCard ( ) Visa
- ( ) American Express ( ) Discover Card
-
- Card #: _______________________________ Exp. Date: __________
-
- Signature of cardholder: _______________________________________
-
-
-
- ΓòÉΓòÉΓòÉ 14. Sample config files ΓòÉΓòÉΓòÉ
-
- Some example configuration files
-
-
- ΓòÉΓòÉΓòÉ 14.1. Minimal Configuration ΓòÉΓòÉΓòÉ
-
-
- ; FastLst 2.01, (c) Copyright 1992-1997 Alberto Pasquale
-
- ; FastLst.Cfg Example
-
- ; Minimal configuration
-
-
- ; RegKey YourRegistrationKey
-
- CompressCfg d:\flst\compress.cfg
- InputPath d:\flst\nodelist
- ArcPath d:\flst\arc
- V7BugFix
-
- Dial ; for Europe
- 39-59- / 5 0 ; country and district code
- 39- 0 60 0
- - 00 300 0
- End
-
- ; For North America (see the doc for more details !):
- ; Dial
- ; LocalValues 1-414- / 0 ; country and area code
- ; LocalExchanges 231 232 233 235 236 424
- ; 1-414- 1- 25
- ; 1- 1- 50
- ; - 011 250
- ; End
-
-
- Version7+ v7 NODEX SYSOP
- FidoUserLst
- ArcMethod zip
- ArcDiffMethod zip
- PasswordFile d:\flst\fastlst.pwd
-
- NodeList nodelist.???
- NodeDiff NODEDIFF.???
- ArcList nodelist.??? 1
- ArcDiff nodediff.??? 2
- ArcListDesc Fido Nodelist for day %d (%D), %a format
- ArcDiffDesc Fido Nodediff for day %d (%D), %a format
-
- NodeList REGION.033 2 ; Region 33 in zone 2
- ArcList region33.???
- ArcListDesc Region 33 (Italy) fido nodelist, %a format
-
- NodeList Apw_Pnts.Lst ; Points in "Boss," format
-
-
- ΓòÉΓòÉΓòÉ 14.2. Full configuration ΓòÉΓòÉΓòÉ
-
-
- ; FastLst 2.01, (c) Copyright 1992-1997 Alberto Pasquale
-
- ; FastLst.Cfg Example
-
- ; Full configuration
-
- ; See the documentation for more details !
-
-
- ; RegKey YourRegistrationKey
-
- Priority Idle
-
- StatusLog d:\flst\fastlst.log
- CompressCfg d:\flst\compress.cfg
- InputPath d:\flst\nodelist ; plain nodelists
- ArcPath d:\flst\arc ; archived nodelists/nodediffs
- ArcDate Creation
- ; MultiLineDesc 31
- KillAfter
- KillSource
- V7BugFix
- NoRedir
-
- CostNullPhone 1000 0 ; costs for nodes with empty phone
- CostVerbatimPhone 10 0 ; costs for Verbatim phones
-
- Dial ; for Europe
- LocalValues 39-59- / 0 0 ; country and district codes
- LocalExchanges 21 22 ; urban exchanges
- LocalExchanges 23 24
- 39-59- / 5 0 ; remaining district #s
- 39- 0 60 0 ; remaining domestic #s
- 43- 0043- 100 0 200 0 ; some international #s
- 32- 0032- 100 0 200 0 ; with higher digital costs
- 45- 0045- 100 0 200 0
- 33- 0033- 100 0 200 0
- 49- 0049- 100 0 200 0
- 44- 0044- 100 0 200 0
- 34- 0034- 100 0 200 0
- 46- 0046- 100 0 200 0
- 41- 0041- 100 0 200 0
- 1- 001- 200 0 400 0
- - 00 300 0 600 0 ; remaining international #s
- End
-
-
- ;Dial ; for America, see the Docs for further details
- ; LocalValues 1-510- / 0
- ; LocalExchanges 224 225 226 227 247 249 252 264 276
- ; LocalExchanges 278 293 317 353 354 416 417
- ;
- ; LocalValues 1-408- 1-408- 0
- ; LocalExchanges 232 251 254 258 259 262 263 272 276
- ; LocalExchanges 321 324 325 383 428 432 433 434
- ;
- ; LocalValues 1-415- 1-415- 0
- ; LocalExchanges 233 234 321 322 323 324 325 326 327
- ; LocalExchanges 328 329 354 424 462 473 493
- ;
- ; 1-510- / 25
- ; 1-408- 1-408- 25
- ; 1-415- 1-415- 25
- ; 1- 1- 100
- ; - 011 2000
- ;End
-
-
- TypeDef
- X75 1 Digital
- ISDNC 1 Digital
- V120 2 Digital
- V120H 2 Digital
- V120L 3 Digital
- V34 4 Analog
- VFC 5 Analog
- V32T 6 Analog
- H16 7 Analog
- V32B 8 Analog
- ZYX 8 Analog ; ZYX implies V32B
- Z19 8 Analog
- Z16 8 Analog
- H14 9 Analog
- V32 10 Analog
- HST 11 Analog
- VM 200 100 0 -\- .* vV ~\~ ": " ; VMODEM
- End
-
-
- ; FlagDef
- ; V42B AB ; A & B user-flags set on nodes with V42B flag
- ; ENC D ; D user-flag set on nodes with ENC flag
- ; End
-
- MsgLogArea d:\bbs\mail\net -$
- MsgRemArea d:\bbs\mail\net -$
- MsgSize 60000
- MsgFromNode 2:332/504
- MsgToNode 2:332/504
- MsgTo Alberto Pasquale
- MsgAttr P
-
- ;FidoTxt
- ;FidoPrn
-
- Version7+ \bbs\v7 NODEX SYSOP
-
- FidoUserLst
- LinkOnDisk
- LogStats
-
- ArcMethod zip Lh
- ArcDiffMethod zip LH
- ArcExportMethod zip lh
- PasswordFile d:\flst\fastlst.pwd
-
- Phone 2:332/504 39-59-246112
- Cost 2:332/504 500 0
- Phone 2:332/501 alberto.com VM,CM 0
-
- NodeList zonelist.???
- NodeDiff alldiff.???
- ArcList zonelist.??? 2
- ArcDiff alldiff.??? 5
- ArcListDesc Non-Fido Nodelist for day %d (%D), %a format
- ArcDiffDesc Non-Fido Nodediff for day %d (%D), %a format
-
- NodeList region24.??? 2 ; Region 24 in zone 2
- ArcList origr24.??? 1 ; Keep 1 origr24.l??
- ArcListDesc Original Region 24 Nodelist for day %d (%D), %a format
-
- NodeList points24.???
- GermanPointList
- NoPointLstPhone
- NodeDiff pr24diff.???
- ArcList points24.??? 3
- ArcDiff pr24diff.??? 5
- ArcListDesc R24 PointList for day %d (%D), %a format
- ArcDiffDesc R24 PointDiff for day %d (%D), %a format
-
- NodeList ptlist.??? ; PointList in "Boss," format
- ArcList ptlist.??? 1 ; Keep 1 ptlist.l??
- ArcListDesc Italian Point List for day %d (%D), %a format
-
- NodeList nodelist.???
- MsgRem SUE ; log comments beginning with S, U or E
- NodeDiff NODEDIFF.???
- ArcList nodelist.??? 1
- ArcDiff nodediff.??? 2
- ArcListDesc Fido Nodelist for day %d (%D), %a format
- ArcDiffDesc Fido Nodediff for day %d (%D), %a format
-
- Export region25.??? 2:25
- ArcExport region25.??? 1
- ArcExportDesc Region 25 %D, %a format
-
- NodeList REGION.033 2 ; Region 33 in zone 2
- MsgRem SUE
- ArcList region33.???
- ArcListDesc Region 33 (Italy) fido nodelist, %a format
-
- NodeList hub.500 2:332 33 ; Hub 500 (zone 2, net 332, region 33)
-
- NodeList MyNodes.Lst ; private list
-
- NodeList Apw_Pnts.Lst ; Points in "Boss," format
-
-
-
- Version7 \bbs\v7 NODEX2 SYSOP2 ; let's make a second, shorter, nodelist
- PasswordFile d:\flst\fastlst.pwd
-
- NodeList nodelist.???
- NodeList REGION.033 2 ; Region 33 in zone 2
-
-
- ΓòÉΓòÉΓòÉ 14.3. Compress Definition ΓòÉΓòÉΓòÉ
-
-
- ; Example Compress.Cfg definition file
- ;
- ; If you are already using a Compress.Cfg file with other programs,
- ; you do not need this one.
- ; Just make sure you use the correct switches to avoid case mismatch
- ; with case sensitive archivers, as ZIP/UNZIP.
- ;
- ; The DOS prefix is for the W32 version too.
-
-
- Archiver ARC
- Extension ARC
- Ident 0,1a
- OS2 Add arc aw5 %a %f
- DOS Add pkpak -oct a %a %f
- OS2 Extract arc ew %a %f
- DOS Extract pkunpak /r %a %f
- OS2 View arc vw %a
- DOS View pkpak v %a
- End Archiver
-
-
- DOS Archiver PAK
- DOS Extension PAK
- DOS Ident -2,fe
- DOS Add pak a %a %f
- DOS Extract pak e /wn %a %f
- DOS View pak v %a
- DOS End Archiver
-
-
- Archiver ZIP
- Extension ZIP
- Ident 0,504b0304
- OS2 Add zip -jk %a %f ; store in uppercase
- DOS Add pkzip -a %a %f
- OS2 Extract unzip -qqnjC %a %f ; case insensitive extract
- DOS Extract pkunzip -n %a %f
- OS2 View unzip -v %a
- DOS View pkzip -v %a
- End Archiver
-
-
- Archiver LH
- Extension LZH
- Ident 2,2d6c68 ; "-lh"
- OS2 Add lh a %a %f
- DOS Add lha a /m %a %f
- OS2 Extract lh x %a %f /o
- DOS Extract lha e /m %a %f
- OS2 View lh l %a /v /o
- DOS View lha l %a
- End Archiver
-
-
- Archiver ARJ
- Extension ARJ
- Ident 0,60ea
- DOS Add arj a -e+ %a %f
- OS2 Extract unarj e %a %f
- DOS Extract arj e -n %a %f
- OS2 View unarj l %a
- DOS View arj l %a
- End Archiver
-
-
- Archiver RAR
- Extension RAR
- Ident 0,526172211a0700
- Add rar a -ee -md64 -ep -y -std -c- %a %f
- Extract rar e -o- -y -std -c- %a %f
- View rar v -y -std -c- %a
- End Archiver
-
-
- ΓòÉΓòÉΓòÉ 15. Version 7 Plus: technical information ΓòÉΓòÉΓòÉ
-
-
-
- Nodelist Version 7+
-
- Version 0, May 30 1997
-
- Alberto Pasquale, 2:332/504@fidonet.org
- Thomas Waldmann, 2:2474/400@fidonet.org
-
-
- TOPIC
-
- A new nodelist standard that remains FULLY compatible with V7
- applications while adding new features and resolving the major
- shortcomings of V7.
-
-
- ΓòÉΓòÉΓòÉ 15.1. Why V7+ ? ΓòÉΓòÉΓòÉ
-
- 0. Why V7+ ?
- ============
-
- V7 is a commonly adopted standard for a "nodelist database"
- (often V7 is also called a "nodelist index", but this is only
- half of the truth - *.NDX is the index, but *.DAT is some sort
- of database file).
-
- V7 uses B-tree indices for sysop names and system addresses and
- is really FAST.
-
- Many software uses V7 and a totally different standard maybe
- would not get adopted by programmers.
-
- But V7 has a great drawback: it currently does not put all
- information that is contained in the "raw" nodelist into the V7
- database.
-
- So if you use V7, you do NOT have all nodelist information that
- you maybe WANT to use (e.g. it does not support U,Txy (FSC-0062)
- and other new flags, some characters get "lost" due to the
- "packing" algorithm used etc.).
-
- This drawback will be solved with V7+ - any thing that is
- present in a raw nodelist will also be present in the V7+
- database - no information is lost.
-
- V7+ also introduces a Phone Index (useful for CID lookup) and a
- whole set of "links" that allow to move through the Fidonet
- structure:
-
- - Ring of "same sysop" entries
- - Ring of "same phone" entries
- - Pointer to "first downlink"
- - List of "same downlink level"
- - Full Region and Hub information
-
- Besides V7+ introduces a semaphore method to avoid collisions
- between applications and the compiler.
-
-
- ΓòÉΓòÉΓòÉ 15.2. Naming Convention ΓòÉΓòÉΓòÉ
-
- 1. Naming Convention
- ====================
-
- The base name is user specified; from here on it will be
- referred to as <NODEX>.
-
- Files already used by V7, that are also used by V7+:
-
- <NODEX>.DAT The V7 / V7+ data file.
- V7+ remains fully compatible with V7, but adds a new
- field (8 hex digit pointer to the DTP entry) at the
- end of the packed data.
-
- <NODEX>.NDX Traditional B-tree address index.
-
- <NODEX>.SDX Traditional B-tree sysop index (case insensitive).
- For V7 compatibility, both compilers and
- applications MUST be able to use SYSOP.NDX instead
- of the default <NODEX>.SDX.
-
- V7+ specific files:
-
- <NODEX>.DTP V7+ Data file, contains complete nodelist
- information and compiler-generated links.
-
- <NODEX>.PDX B-tree Phone index (case insensitive), to be used
- just as <NODEX>.SDX.
-
-
- The application that finds <NODEX>.DTP can assume that a V7+
- nodelist is available. It is the user responsibility to delete
- old files if downgrading.
-
- A compiler in V7+ mode MUST generate all the above files by
- default (no need to specify anything more than "Version7+" and
- <NODEX>).
-
-
-
- ΓòÉΓòÉΓòÉ 15.3. V7 Database File (<NODEX>.DAT) ΓòÉΓòÉΓòÉ
-
- 2. V7 Database File (<NODEX>.DAT)
- =================================
-
-
- ΓòÉΓòÉΓòÉ 15.3.1. Old structure and procedure ΓòÉΓòÉΓòÉ
-
- 2.1. Old structure and procedure
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- struct _vers7
- {
- short Zone; // Zone number
- short Net; // Net number
- short Node; // Node number
- short HubNode; // If a point, this is point number
- word CallCost; // phone company's charge
- word MsgFee; // Amount charged to user for a message
- word NodeFlags; // set of flags
- byte ModemType; // Modem type
- byte Phone_len; // length of phone number (not packed)
- byte Password_len; // length of password (not packed)
- byte Bname_len; // length of system name (unpacked)
- byte Sname_len; // length of Sysop's name (unpacked)
- byte Cname_len; // length of City's name (unpacked)
- byte pack_len; // total length of packed data
- byte BaudRate; // baud rate divided by 300
- };
-
-
-
- Accessing V7 data is currently done like this:
-
- 1. find the stuff in the index - result is the "datpos" value -
- the offset into the <NODEX>.DAT file
-
- 2. Seek to offset <datpos> into the <NODEX>.DAT file
-
- 3. Read sizeof(struct _vers7) bytes out of the <NODEX>.DAT file
- into a variable of type struct _vers7
-
- 4. Read the next <Phone_len> bytes out of the <NODEX>.DAT file
- -> Phone Number
-
- 5. Read the next <Password_len> bytes out of the <NODEX>.DAT
- file -> Password
-
- 6. Read the next <pack_len> bytes out of the <NODEX>.DAT file
- -> some "packed" data
-
- 7. Unpack the "packed" data
-
- 8. First <Bname_len> bytes of the unpacked data contain the
- System's (BBS') name
-
- 9. Next <Sname_len> bytes of the unpacked data contain the
- Sysop's name
-
- 10. Next <Cname_len> bytes of the unpacked data contain the
- City's name
-
-
- Data layout in the <NODEX>.DAT file is like that:
-
- <_vers7 struct>
- <Not packed: Phone>
- <Not packed: Password>
- <Packed: <BBS name>
- <Sysop name>
- <City name>
- >
-
-
-
- ΓòÉΓòÉΓòÉ 15.3.2. New structure and procedure ΓòÉΓòÉΓòÉ
-
- 2.2. New structure and procedure
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- struct _vers7 is NOT changed: both indexed and sequential
- accesses are guaranteed compatible with V7.
-
- There's only a slight addition in the packed data, see below.
-
- Accessing V7/V7+ data should be done like this:
-
- 1. |
- ... |
- 10. | all the same as described in section 2.1 (compatibility!)
-
- 11. Check if there are 8 hex digits at the end of the packed
- data, after <Bname_len>+<Sname_len>+<Cname_len> bytes (see
- steps 7..10).
-
- In a V7+ nodelist, you should _always_ find these 8 hex
- digits at the end of the packed data, BUT a V7 nodelist
- editor may have removed them from modified entries.
-
- Applications MUST be able to handle the "missing 8 hex
- digits" situation as a normal condition and proceed as
- possible with the simple V7 data (some message signalling
- the situation may be issued, abnormal termination is
- unacceptable behaviour).
-
- If the 8 hex digits are found, they represent an offset into
- the new <NODEX>.DTP file.
-
- Applications MUST ignore any data possibly following the 8
- hex digit pointer.
-
- Due to the V7 base-40 3:2 packing algorithm, the compilers
- have to pad the data to be compressed so that its length is
- a multiple of 3: it is recommended that the space (ASCII
- 0x20) is used.
-
-
- 12. Seek into <NODEX>.DTP to the offset you got in step 11.
-
- 13. Read/Process <NODEX>.DTP fields as described in section 3.
-
-
- So the new data layout in the <NODEX>.DAT file is like that:
-
- <_vers7 struct>
- <Not packed: Phone>
- <Not packed: Password>
- <Packed: <BBS name>
- <Sysop name>
- <City name>
- <8-hex-digit-offset into <NODEX>.DTP>
- >
-
-
-
- ΓòÉΓòÉΓòÉ 15.4. <NODEX>.DTP file layout ΓòÉΓòÉΓòÉ
-
- 3. <NODEX>.DTP file layout
- ==========================
-
- Let's define some glossary:
-
- byte 8 bit unsigned integer
- word 16 bit unsigned integer (LSB first)
- dword 32 bit unsigned integer (LSB first)
-
-
- The <NODEX>.DTP file has the following layout:
-
- <Header> File header
- <Entry> Entry for first compiled system
- <Entry> Entry for second compiled system
- <Entry> Entry for third compiled system
- ...
-
-
-
- ΓòÉΓòÉΓòÉ 15.4.1. <Header> ΓòÉΓòÉΓòÉ
-
- 3.1. <Header>
- ~~~~~~~~~~~~~
-
- <Header> has the following layout:
-
- <Control> Miscellaneous Information for Compatibility
- <TopLink> Link to top level fidonet hierarchy
-
-
-
- ΓòÉΓòÉΓòÉ 15.4.1.1. <Control> Structure ΓòÉΓòÉΓòÉ
-
- 3.1.1. <Control> Structure
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- struct _DTPCtl {
- word size; // Size of this control structure
- byte Version; // Version of DTP file
- byte AllFixSize; // sizeof (_DTPAllLnk)
- byte AddFixSize; // sizeof (_DTPNodeLnk)
- };
-
-
-
- size:
- This structure may be expanded in the future, so size is
- provided to allow compatible positioning on the following
- <TopLink> record.
-
- Version:
- This is the V7+ Version, currently 0.
- The compatibility towards previous versions is guaranteed,
- so correctly behaved applications will have no problems
- dealing with newer versions of V7+.
-
- When new features will be added, new applications will be
- able to check for the version level of the V7+ database,
- while old ones will remain compatible.
-
- The check will be "if Version >= n then ...".
-
- AllFixSize:
- This is the size of the fixed-length structure associated
- with ANY system in the nodelist. It is provided to allow
- compatible positioning on the following field, in the case
- of future extensions.
-
- AddFixSize:
- This is the size of the fixed-length structure associated
- with Nodes only (no points) and with <TopLink>. It is
- provided to allow compatible positioning on the following
- field, in the case of future extensions.
-
-
- ΓòÉΓòÉΓòÉ 15.4.1.2. <TopLink> ΓòÉΓòÉΓòÉ
-
- 3.1.2. <TopLink>
- ~~~~~~~~~~~~~~~~
-
- V7+ has pointers to link the entire fidonet structure, from the
- top coordinators to the points.
-
- The <NODEX>.DTP header contains the link to the first (in
- zone/region/net/hub/node/point order) "top level" system found
- in the nodelist, usually ZC1.
-
- struct _DTPNodeLnk {
- word ndowns; // number of systems in lower level
- dword FlOfs; // DAT offset of "Lower Fido Level"
- };
-
-
-
- ndowns:
- The number of direct downlinks; in this case it is the
- number of "top level" systems (systems that do not have
- uplinks in the nodelist).
-
- Usually it's the number of ZCs.
-
- Please note that if you have included a Region segment and
- the corresponding Zone is not included in other nodelists
- compiled to the same <NODEX>.*, this RC will be a "Top
- Level" system. The same happens in the case of lower level
- systems that are "orphans" of the upper coordinator.
-
- FlOfs:
- Offset into <NODEX>.DAT for the first direct downlink; in
- this case it's usually ZC1.
-
-
- ΓòÉΓòÉΓòÉ 15.4.2. <Entry> ΓòÉΓòÉΓòÉ
-
- 3.2. <Entry>
- ~~~~~~~~~~~~
-
- This is the <NODEX>.DTP entry for each and every compiled
- system, pointed to by the 8-hex-digit offset found at the end of
- the _vers7 packed data.
-
-
- The layout is:
-
- <Links> Fixed size info (see <Header>)
- <Raw-size> word (size of following raw-line)
- <Raw-nodelist-line> variable size raw nodelist line
-
-
-
- This layout may be expanded in the future, both in the
- fixed-length and variable-length sections.
-
- Please, always use the size information found in the <Header> to
- remain compatible with future V7+ extensions.
-
-
- ΓòÉΓòÉΓòÉ 15.4.2.1. <Links> ΓòÉΓòÉΓòÉ
-
- 3.2.1. <Links>
- ~~~~~~~~~~~~~~
-
- The layout is:
-
- <AllLinks> Common to all entries
- [<NodeLink>] Not present for Points
-
-
-
- ΓòÉΓòÉΓòÉ 15.4.2.1.1. <AllLinks> ΓòÉΓòÉΓòÉ
-
- 3.2.1.1. <AllLinks>
- ~~~~~~~~~~~~~~~~~~~
-
- The following structure is used for all the systems in the
- nodelist.
-
-
- struct _DTPAllLnk {
- word Region; // Region
- word Hub; // Hub
- dword SOfs; // DAT offset of next Same SysOp entry
- dword POfs; // DAT offset of next Same Phone entry
- dword FeOfs; // DAT offset of next "Equal Fido Level"
- byte Sn; // Number (base 0) of SysOp entry (ADR order)
- byte Pn; // Number (base 0) of Phone entry (ADR order)
- };
-
-
-
- Region:
- Region number, 0 if none.
-
- Hub:
- Hub number, 0 if none.
-
- Please note that the "NodeHub" field of _vers7 may not
- always be the same as this one, not only because it is
- absent for points, but also because the compiler may
- infer the Hub from other nodelist entries while linking
- <NODEX>.DTP.
-
- DO NOT USE NodeHub in _vers7 for reliable Hub information.
-
- SOfs:
- Offset into <NODEX>.DAT for next system with the same
- SysOp name (in order of Address).
-
- 0xffffffff if none.
-
- This is a RING link, that is the last entry points to the
- first one.
-
- POfs:
- Offset into <NODEX>.DAT for next system with the same
- Phone number (in order of Address).
-
- 0xffffffff if none.
-
- This is a RING link, that is the last entry points to the
- first one.
-
- FeOfs:
- Offset into <NODEX>.DAT for next system at the same
- "fidonet level", that is with the same direct
- uplink/coordinator.
-
- 0xffffffff if none.
-
- This is a LIST link, that is the last entry points nowhere
- (0xffffffff).
-
- Please note that "equal level" systems are not necessarily
- all of the same coordination level (all HCs or RCs etc.).
-
- For example a ZC may have as direct downlinks (linked with
- FeOfs between one another):
-
- - his points (usually administrative entries should not
- have points, but it may happen),
-
- - Independent nodes in the Zone
-
- - Independent HCs in the Zone
-
- - Independent NCs in the Zone
-
- - RCs in the zone
-
- Sn:
- Number of same-sysop entry (0 based).
- 0xff if no link available.
-
- Please do NOT use Sn to check for links, use SOfs instead.
-
- Pn:
- Number of same-phone entry (0 base).
- 0xff if no link available.
-
- Please do NOT use Pn to check for links, use POfs instead.
-
-
- When you are looking for a SysOp or Phone that has multiple
- entries in the index, you get one and then you follow the links
- (SOfs, POfs) through all the remaining entries.
-
- Since the first entry (got from the index) may be in the middle
- of the "Ring", you can use Sn and Pn to know how many "lower"
- entries you will find. This may be useful for keeping the
- "Address order" while gathering all the information throughout
- the RING.
-
- Please note that some "common" entries (as "-Unpublished-" for
- the phone number), may have more than 254 links; so be aware
- that Sn and Pn may (under exceptional conditions) overflow,
- arrive at 0xff and restart from 0x00.
-
- This should be no concern when doing a normal lookup, but
- "statistical programs" that list all the Rings must be careful.
-
- The proper way to check whether you have finished the RING is to
- check the new SOfs/POfs against the first encountered one; Sn/Pn
- should be used for reference only.
-
-
-
- ΓòÉΓòÉΓòÉ 15.4.2.1.2. <NodeLink> ΓòÉΓòÉΓòÉ
-
- 3.2.1.2. <NodeLink>
- ~~~~~~~~~~~~~~~~~~~
-
- The following structure is absent for points, since they do not
- have downlinks. It's the same structure used in the <Header> for
- <TopLink>.
-
-
- struct _DTPNodeLnk {
- word ndowns; // number of systems in lower level
- dword FlOfs; // DAT offset of "Lower Fido Level"
- };
-
-
-
- ndowns:
- The number of direct downlinks.
-
- It includes the lower level coordinators and all the
- systems that, for some reason, are orphans of the upper
- coordinator (not included in compilation or not existent).
-
- Examples:
-
- ZCs -> ZC's points
- independent nodes in the zone
- independent HCs in the zone
- independent NCs in the zone
- RCs in the zone
-
- RCs -> RC's points
- independent nodes in the region
- independent HCs in the region
- NCs in the region
-
- NCs -> NC's points
- independent nodes in the net
- HCs in the net
-
- HCs -> HC's points
- nodes in the Hub
-
- Node -> Node's points
-
-
-
- FlOfs:
- Offset into <NODEX>.DAT for the first direct downlink, in
- "zone/region/net/hub/node/point" order.
-
-
-
- ΓòÉΓòÉΓòÉ 15.4.2.2. <Raw-size> ΓòÉΓòÉΓòÉ
-
- 3.2.2. <Raw-size>
- ~~~~~~~~~~~~~~~~~
-
- This is a word specifying the length of the following
- <raw-nodelist-line> field.
-
-
- ΓòÉΓòÉΓòÉ 15.4.2.3. <Raw-nodelist-line> ΓòÉΓòÉΓòÉ
-
- 3.2.3. <Raw-nodelist-line>
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- This is the zero terminated raw nodelist line, taken verbatim
- from the source nodelist; neither carriage-return nor line-feed
- is present.
-
- REQUIREMENTs for applications that use this field:
-
- - The line's fields must be recognized ONLY by considering the
- comma ',' as a separator.
-
- - Fields containing space are to be handled normally.
-
- - Unknown qualifiers at the start of the line (the field usued
- for Hub, Host, Region, Zone) must be accepted.
-
- - The second field (where the node number is usually placed)
- may contain further information and space: it must be accepted
- without error.
-
-
- ΓòÉΓòÉΓòÉ 15.4.3. DTP extensions ΓòÉΓòÉΓòÉ
-
- 3.3. DTP extensions
- ~~~~~~~~~~~~~~~~~~~
-
- The DTP format is suitable for backward compatible extensions.
-
- If you would like new fields, please contact Alberto Pasquale
- (2:332/504@fidonet) and/or Thomas Waldmann (2:2474/400@fidonet)
- for discussion.
-
- If the new field is considered useful, a draft for the new
- version of V7+ will be issued by Alberto Pasquale.
-
-
-
- ΓòÉΓòÉΓòÉ 15.5. <NODEX>.PDX Phone Index ΓòÉΓòÉΓòÉ
-
- 4. <NODEX>.PDX Phone Index
- ==========================
-
- The purpose of the Phone Index is to allow an indexed search of
- a system entry from its phone number.
-
- This is especially useful with CID (caller ID) enabled systems.
-
-
- ΓòÉΓòÉΓòÉ 15.5.1. <NODEX>.PDX format ΓòÉΓòÉΓòÉ
-
- 4.1. <NODEX>.PDX format
- ~~~~~~~~~~~~~~~~~~~~~~~
-
- The index is a btree, just like those for the Address and SysOp
- indices that are standard in Version 7.
-
- Phone numbers will be indexed in the "processed" dialable form
- (i.e. as in the V7 phone field) after removal of dashes.
-
- Special non-numerical phone entries, including IP addresses and
- internet domains, are indexed verbatim (the possible
- translations operated by the nodelist compiler to allow the
- dialing on some mailers is NOT applied to the indexed entry).
-
- The indexing is NOT case sensitive, although the case is
- retained in the index entries.
-
- The index look-up must be done just the same way as for the SysOp
- index: from the "phone number" string you obtain a pointer to
- the corresponding entry in the <NODEX>.DAT.
-
- Please be aware that multiple entries with the same "phone" are
- possible, e.g for administrative akas; the Phone links in
- <NODEX>.DTP allow easy browsing of all the "same phone" entries
- once you have got one by index.
-
- Currently there is no purpose in doing a case sensitive lookup;
- in the case it becomes useful in the future, the application may
- optionally provide settings to allow that by skipping
- non-case-matching entries.
-
-
- ΓòÉΓòÉΓòÉ 15.5.2. The Look-up problem ΓòÉΓòÉΓòÉ
-
- 4.2. The Look-up problem
- ~~~~~~~~~~~~~~~~~~~~~~~~
-
- Since most ISDN devices do NOT report the CID as a "ready to
- dial" number, some processing is required before looking up the
- index.
-
- Let's classify the CID reported by ISDN devices in various
- nations into categories:
-
- Cat A reports CID with domestic and international dialing codes,
- local numbers have the area code.
-
- Cat B reports CID with NO long distance dialing code,
- local numbers have the area code.
-
- Cat C reports CID exactly as dialable.
-
- Cat D reports CID with NO long distance dialing code,
- local numbers are exactly dialable.
-
-
-
- I will now explain with an example:
-
- I live in Modena, Italy;
-
- Country code : 39
- District (area) code : 59
- domestic code : 0
- international code : 00
-
-
- Call Type A-CID B-CID Dialable
-
- Local 059246112 59246112 246112
- Domestic 0513456789 513456789 0513456789
- International 00492312345 492312345 00492312345
-
-
- C-CID D-CID
-
- Local 246112 246112
- Domestic 0513456789 513456789
- International 00492312345 492312345
-
-
-
- Processing needed:
-
- Category A: for local calls we need to remove the domestic and
- district codes; domestic and international calls do not need any
- processing.
-
- Category B: we need to attempt finding a domestic number then,
- in case of failure, try the international one; unfortunately the
- CID reported by these devices allows for some ambiguity.
-
- Category C: no processing needed.
-
- Category D: we need to attempt finding a local number, if not
- found we look for a domestic number, if still not found we try
- the international one. Even more ambigous than B.
-
-
- ΓòÉΓòÉΓòÉ 15.5.3. The ALGORITHM ΓòÉΓòÉΓòÉ
-
- 4.3. The ALGORITHM
- ~~~~~~~~~~~~~~~~~~
-
- The application must have configurable District/Area, domestic
- and international codes; let's name them:
-
- AreaCode
- DomesticPrefix
- IntlPrefix
-
- Besides, the application must have a configurable "category",
- which must have selections for cases A,B,C,D; let's name this
- variable:
-
- Category
-
-
- Let "Search" be the name of a function that does the index
- look-up. Please be aware that the index may contain multiple
- entries with the same "phone" value (perhaps administrative
- akas).
-
- "Restore CID" means "restore the CID as got from the device".
-
- Start:
-
- get CID
-
- if (category == A) {
- If (CID begins with DomesticPrefix+AreaCode)
- Remove DomesticPrefix and AreaCode // is local
- Search
- goto END
- }
-
-
- if (category == B) {
- If (CID begins with AreaCode) { // local or intl
- remove AreaCode // try local
- Search
- if (found)
- goto END // is local
- else {
- Restore CID
- Add IntlPrefix // try international
- Search
- goto END
- }
- } else { // domestic or intl
- Add DomesticPrefix // try domestic
- Search
- if (found)
- goto END // is domestic
- else {
- Restore CID // try intl
- Add IntlPrefix
- Search
- goto END
- }
-
- }
- }
-
-
- if (category == C) { // no processing required
- Search
- goto END
- }
-
- if (category == D) {
- Search // try local
- if (found) // is local
- goto END
- else {
- Add DomesticPrefix // try domestic
- Search
- if (found) // is domestic
- goto END
- else { // try international
- Restore CID
- Add IntlPrefix
- Search
- goto END
- }
- }
- }
-
-
- END: report results (pointer to NODEX.DAT or nothing found)
-
-
- The Phone links in <NODEX>.DTP allow easy browsing of all
- remaining "same phone" entries.
-
-
- ΓòÉΓòÉΓòÉ 15.6. V7+ Semaphore ΓòÉΓòÉΓòÉ
-
- 5. V7+ Semaphore
- ================
-
- To avoid collisions between the nodelist compiler and V7+
- applications, a semaphore is used.
-
- When the compiler needs exclusive access to the nodelist files,
- it creates (if non existent) and keeps open in SH_DENYRW mode a
- "<NODEX>.BSY" file.
-
- When the application must access the nodelist files, it creates
- (if non existent) and keeps open for reading in SH_DENYWR mode
- the "<NODEX>.BSY" file.
-
- This method allows for concurrent access by multiple programs in
- "read" mode, while granting exclusive access to the compiler.
-
- Please note that <NODEX>.BSY does NOT need to be deleted in case
- of abnormal termination or power failure since it's considered
- busy only while kept open.
-
-
- Example for a program that must read V7+:
-
- bsyname is the "<NODEX>.BSY" file name;
- timeout is the timeout in seconds;
- the file handle is returned on success, -1 on timeout
-
-
- int waitopen (const char *bsyname, int timeout) // -1 on timeout
- {
- int ret = -1;
- int i = 0;
-
- do {
- if (i > 0)
- sleep (1);
- if (access (bsyname, F_OK)) { // file not existent
- int handle = open (bsyname, O_WRONLY | O_CREAT, S_IWRITE);
- if (handle != -1)
- close (handle);
- }
- ret = sopen (bsyname, O_RDONLY, SH_DENYWR);
- i ++;
- } while ((ret == -1) && (i < timeout) &&
- ((errno == EACCES) || (errno == ENOENT)));
- // sharing violation or file not found
- return ret;
- }
-
-
-
-
- ΓòÉΓòÉΓòÉ 15.7. Space/Time needed for V7+ database vs. usability ΓòÉΓòÉΓòÉ
-
- 6. Space/Time needed for V7+ database vs. usability
- ===================================================
-
- The V7+ DTP file may be considered redundant, since it contains
- the entire "source" nodelist line, that duplicates some of the
- information already present in the V7 DAT file.
-
- Let's look at the time and space overhead involved and at the
- gain in usability:
-
-
- Time:
-
- Accessing V7+ is as fast as V7, if you use the normal V7 access
- method (and if you are NOT interested in the additional data).
-
- If you access the additional data in the <NODEX>.DTP file, you
- have 1 direct file access more. Nothing to worry about...
-
- Generating a V7+ database will take somewhat longer since there
- is more data to be written to disk, links to be set, indices to
- be prepared; on modern machines this should not be a concern.
-
-
- Space:
-
- Space needed is about twice as much as for V7, but this should
- be no concern on modern machines.
-
-
- Usability:
-
- - Full and complete (no lossy compression) nodelist information
-
- - Phone Index for easy CID lookup
-
- - SysOp/Phone/Fidonet links for easy nodelist browsing
-
- - Backward compatible extendability
-
-
-
- ΓòÉΓòÉΓòÉ 15.8. Sample "C" source code (taken from BT-XE) ΓòÉΓòÉΓòÉ
-
- 7. Sample "C" source code (taken from BT-XE)
- ============================================
-
- See archive v7p_src.* ...
-
- Attention: this source code is far from being final - in fact it
- is the very first V7+ implementation in BT-XE and does
- not support all stuff that has been defined in this
- document. But it can read and parse V7+ data and is
- maybe better than no source code at all ...
-
-
- ΓòÉΓòÉΓòÉ 15.9. History of this document ΓòÉΓòÉΓòÉ
-
- 8. History of this document
- ===========================
-
- Draft 1->8: preliminary thoughts about possible versions of V7+.
-
- Draft 9: completely rewritten, this should be the final
- "Version_0" of V7+.
-
- Version 0: first release version.
-
-