home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 January / PCO0198.ISO / filesbbs / os2 / flst2201.exe / FASTLST.INF (.txt) < prev    next >
Encoding:
OS/2 Help File  |  1997-10-29  |  183.5 KB  |  7,361 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Readme First ΓòÉΓòÉΓòÉ
  3.  
  4.  
  5. FastLst Readme First
  6.  
  7.           Development of V7/V7+ programs
  8.  
  9. How to develop programs that use the Version 7 nodelist:
  10.  
  11. If you are interested in developing programs that access the V7
  12. nodelist, you can find all the necessary information in the
  13. BinkleyTerm 2.60 sources (BSRC_260.ZIP) or you can use the OS/2
  14. DLL provided by Jim Dailey (V7NL.ZIP); both files are
  15. requestable from 2:332/504@fidonet.
  16.  
  17. For a criterion to avoid problems in concurrent access to the
  18. V7/V7+ files while FastLst is building/renaming them, please see
  19. "V7+ Semaphore" in the V7Plus.Doc file.
  20.  
  21.  
  22.            Version 7 Plus format
  23.  
  24.  
  25. For information about the new extensions to Version 7, please
  26. see "Version 7 Plus" or the V7Plus.Doc text file.
  27.  
  28.  
  29. ΓòÉΓòÉΓòÉ 1.1. Files in the archive ΓòÉΓòÉΓòÉ
  30.  
  31.  
  32. Files in the original archive:
  33.  
  34. File_Id.Diz   The standard description
  35.  
  36. Fastlst.Exe   The executable
  37. FastLst.Ico   An Icon for FastLst
  38. FastLst.Inf   The Inf documentation
  39.  
  40. Readme.1st   This file
  41. Whatsnew.Txt  Fixes and additions
  42. Fast_Min.Cfg  The sample minimal configuration file
  43. Fast_Ful.Cfg  The sample full configuration file
  44. Compress.Cfg  The sample compression definition file
  45. FastLst.Doc   The Ascii documentation
  46.  
  47. License.Doc   The License
  48. Register.Doc  The Registration Docs
  49. Register.For  The Registration Form
  50. BmtMicro.For  The BMT Micro registration form
  51. PsL.Crd     The PsL Credit Card registration form supplement
  52.  
  53. V7Plus.Doc   The Version 7+ standard
  54. v7p_src.zip   The Version 7+ example source code
  55.  
  56.               OS/2 Only
  57.  
  58. FastLst2.Ico  An Icon for FastLst/2, by Andrea Vavassori
  59.  
  60.  
  61.               Dos Only
  62.  
  63. Dos4Gw.Exe   Dos Extender
  64. Dos4Gw.Doc   Dos Extender Documentation
  65.  
  66.  
  67. The OS/2 Inf manual is provided with other versions too,
  68. since there are INF viewers under Dos. For example, the very
  69. nice viewer by Damir Ujcic: VIEW01.ZIP, available for F/R from
  70. 2:332/504@fidonet: it contains a text mode viewer in both OS/2
  71. and Dos versions.
  72.  
  73.  
  74. ΓòÉΓòÉΓòÉ 1.2. Whatsnew ΓòÉΓòÉΓòÉ
  75.  
  76.               Whatsnew
  77.  
  78. If you are using an older version of the program, please read
  79. WhatsNew.Txt before using this version.
  80.  
  81.  
  82. ΓòÉΓòÉΓòÉ 1.3. How to contact the author ΓòÉΓòÉΓòÉ
  83.  
  84.  
  85.           How to contact the author
  86.  
  87. If you have suggestions, bug reports, observations about the
  88. docs, please feel free to contact me at the following
  89. addresses:
  90.  
  91. Alberto Pasquale of 2:332/504@fidonet
  92.  
  93.    bug@apworks.com     Bug Reports
  94. feedback@apworks.com     General Feedback (no answer required)
  95.   info@apworks.com     Request for information
  96.   sales@apworks.com     Commercial stuff
  97.  support@apworks.com     Technical Support
  98.  
  99. 2:332/504@fidonet +39-59-246112 X75 V120 X2 V34+ VFC V32T H16
  100. 2:332/524@fidonet +39-59-246113 X75 CCB
  101. Fax:        +39-59-246113
  102.  
  103. Alberto Pasquale, Viale Verdi 106, 41100 Modena, Italy
  104.  
  105. IMPORTANT: if you call crash and require an answer, please state
  106. whether you want it routed (might not be reliable) or ON HOLD
  107. (in which case an answer should be available in 48h maximum,
  108. apart from the holiday periods).
  109.  
  110.  
  111. ΓòÉΓòÉΓòÉ 1.4. Support ECHO ΓòÉΓòÉΓòÉ
  112.  
  113.  
  114.              Support ECHO
  115.  
  116. I am originating an international support echo for all my
  117. programs. If you are interested, please ask your echo feeder to
  118. find a suitable link for the APWORKS area. In addition, I
  119. regularly read the international OS2BBS echo.
  120.  
  121.  
  122. ΓòÉΓòÉΓòÉ 1.5. TIC distribution ΓòÉΓòÉΓòÉ
  123.  
  124.  
  125.             TIC distribution
  126.  
  127. All my BBS related programs are distributed via a TIC file area.
  128. If you want to join, please ask your file feeder to find a
  129. suitable link for the APBBS (OS/2), APBBSDOS (Dos),
  130. APBBSWIN (W32) areas.
  131.  
  132. Public Beta versions are distributed without restrictions in
  133. APBBSBETA.
  134.  
  135. There are also APTOOLS for 3rd party tools related to APWORKS
  136. programs and APWORKSG for German documentation by Roland
  137. Schiradin.
  138.  
  139.  
  140. ΓòÉΓòÉΓòÉ 1.6. APWorks Programs and Support Areas ΓòÉΓòÉΓòÉ
  141.  
  142.  
  143.             Where to look for
  144.         APWorks Programs and Support Areas
  145.  
  146. In North America the APWORKS support echo should be easily
  147. available, since it is on the Zone 1 backbone.
  148.  
  149.  
  150. The following systems carry the ApWorks echo and file areas:
  151.  
  152.  
  153.               Author's
  154. APWORKS
  155.   Alberto Pasquale, Modena, Italy
  156.   info@apworks.com
  157.   2:332/504@fidonet +39-59-246112 X75 V120 X2 V34+ VFC V32T H16
  158.   2:332/524@fidonet +39-59-246113 X75 CCB
  159.   File requests could be declined between 23:00 and 06:00 GMT.
  160.   Request APFILES for a (short) list of APWORKS files only.
  161.  
  162.  
  163.                Europe
  164.  
  165. ApWorks_Germany
  166.   Roland Schiradin, Eltville, Germany
  167.   schiradi@tap.de
  168.   2:2454/169@fidonet
  169.  
  170. Cyberia/2
  171.   Harald Kamm, Bamberg, Germany
  172.   2:2490/3045@fidonet
  173.  
  174. Air Applewood
  175.   Vince Coen, Roydon, Harlow, Essex, United Kingdom
  176.   2:257/609@fidonet
  177.  
  178. Solace
  179.   Henrik O A Barkman, Stromsund Jamtland, Sweden
  180.   2:205/454@fidonet
  181.  
  182.  
  183.              North America
  184.  
  185. COMM Port OS/2
  186.   Bob Juge, Sugar Land, TX, USA
  187.   bob@juge.com
  188.   1:106/2000@fidonet
  189.  
  190. Common Sense
  191.   Mike Burgett, Newark, CA, USA
  192.   burgett@cmnsens.zoom.com
  193.   1:215/705@fidonet
  194.  
  195. Eclectic Lab 1
  196.   Mary-Anne Wise, New Westminster, BC, Canada
  197.   1:153/831@fidonet
  198.  
  199. Filebone:  MaxFDN
  200.   Available via Planet Connect, PageSat, Filebone,
  201.   paonline ftphub and the Filegate Project.
  202.  
  203.  
  204.               Australia
  205.  
  206. Tardis BBS
  207.   Malcolm Miles, North Balwyn, VIC, Australia
  208.   3:633/260@fidonet
  209.  
  210.  
  211. ΓòÉΓòÉΓòÉ 1.6.1. File Areas on the Internet ΓòÉΓòÉΓòÉ
  212.  
  213.           File Areas on the Internet
  214.  
  215. The following site contains all ApWorks products and is maintained by the
  216. author himself.
  217.  
  218. http://apworks.com
  219. ftp://ftp.apworks.com
  220.  
  221.  
  222. The following site contains programs that can be registered at BmtMicro:
  223.  
  224. ftp://ftp.bmtmicro.com/bmtmicro
  225.  
  226.  
  227. The following sites receive ApWorks files via TIC:
  228.  
  229. ftp://ftp.juge.com
  230.  
  231. ftp://cmnsens.zoom.com/pub/apworks/bbs
  232.                  /bbsdos
  233.                  /bbswin
  234.                  /tools
  235.                  /beta
  236.  
  237.  
  238. The following site receives ApWorks files via email:
  239.  
  240. ftp://ftp.oeonline.com/pub/Maximus
  241.  
  242.  
  243. ΓòÉΓòÉΓòÉ 1.7. Latest Versions ΓòÉΓòÉΓòÉ
  244.  
  245.  
  246.             How to Request the
  247.         Latest Version of APWORKS Programs
  248.  
  249.  
  250. The following magics are honoured by APWORKS and some of the
  251. support sites:
  252.  
  253. Magic   Name     Description
  254.  
  255. APFILES  ApFiles.Lst     List of Programs by Alberto Pasquale
  256.  
  257. FASTLST2 FLST2???.RAR OS/2  The ultimate v7+ Nodelist processor.
  258.               Fully automated processing and
  259.               maintenance, no need for clumsy batch
  260.               files. Can report to Squish or *.MSG
  261.               areas, multitasking friendly, many
  262.               options.
  263.  
  264. FASTLSTW FLSTW???.RAR Win32
  265.  
  266. FASTLSTD FLSTD???.RAR DOS32
  267.  
  268. FASTLSTG           German Docs by Roland Schiradin
  269.               Available on 2:2454/169
  270.  
  271. NEF2   NEF???.RAR  OS/2  TIC file distribution and
  272.               announcement for Binkley-style
  273.               outbound and *.MSG or Squish message
  274.               base, file-Areafix included with
  275.               FileBone support, full multitasking
  276.               aware (BSY, file sharing etc.),
  277.               exceptionally flexible Multi-Aka
  278.               support.
  279.  
  280. NEFW   NEFW???.RAR  NT
  281.  
  282. NEFD   NEFD???.RAR  DOS32
  283.  
  284. NEFG   NEFG???.*      German Docs by Roland Schiradin
  285.  
  286. FLM2   FLM???.RAR  OS/2  File List Manager for Maximus,
  287.               very flexible way of compiling
  288.               many different lists at a time.
  289.               Internal file base support
  290.               (no need for FBP).
  291.  
  292. FLMW   FLMW???.RAR  NT
  293.  
  294. FLMD   FLMD???.RAR  DOS32
  295.  
  296. FLMG   FLMG???.*      German Docs by Roland Schiradin
  297.  
  298. NMFW2   NMFW???.RAR  OS/2  Multi-Robot: netmail forward to
  299.               Sysop's point, Maximus user and file
  300.               management via netmail messages,
  301.               areafix for squish, point routing to
  302.               their boss if no phone number for
  303.               them in the nodelist, etc.
  304.  
  305. NMFWW   NMFWW???.RAR NT
  306.  
  307. NMFWD   NMFWD???.RAR DOS32
  308.  
  309. QFB2   QFB???.RAR  OS/2  Substitute for FBP.EXE
  310.               Generates a separate file-request
  311.               index with no duplicates.
  312.               FreeWare
  313.  
  314. QFBW   QFBW???.RAR  NT
  315.  
  316. QFBD   QFBD???.RAR  DOS32
  317.  
  318. QFBG             German Docs by Roland Schiradin
  319.               Available on 2:2454/169
  320.  
  321. SQPRV2  SQPV???.RAR  OS/2  Local area (private/public) forward
  322.               to points for Squish. The (Co)SysOp
  323.               points can receive the whole area.
  324.  
  325. SQPRVD  SQPVD???.RAR DOS
  326.  
  327. -----   SQFM110.RAR  OS/2  Allows to change the "from address"
  328.               of PKTs before they are compressed.
  329.               To be used with Squish.
  330.               For example, it is useful to Hub
  331.               coordinators who want to continue
  332.               processing mail with their primary
  333.               address for current links while
  334.               processing with the administrative
  335.               address for their uplink BackBone.
  336.               FreeWare.
  337.  
  338. -----   SQFMW110.RAR NT
  339.  
  340. -----   HBRT110.RAR  OS/2  Useful to coordinators (above HCs)
  341.               that use Squish. Automatically
  342.               updates the Hub definitions in
  343.               ROUTE.CFG taking the data from a V7
  344.               nodelist.
  345.               FreeWare
  346.  
  347. -----   HBRTW110.RAR NT
  348.  
  349. -----   HBRTD110.RAR DOS
  350.  
  351. -----   SqSl100.Rar  OS/2  Sets renum limits in all Squish Areas
  352.               taking the parameters from
  353.               Squish.Cfg.
  354.               FreeWare
  355.  
  356. -----   SqSlw100.Rar NT
  357.  
  358. -----   SqSld100.Rar DOS
  359.  
  360. -----   Apsc2101.Rar OS/2  Simple Scheduler
  361.               Executes commands and batch files
  362.               at configured events.
  363.               FreeWare
  364.  
  365. -----   CpyB2100.Rar OS/2  To Copy/Move files with FILES.BBS
  366.               description.
  367.               Uses the .LONGNAME EA to preserve long
  368.               names on FAT.
  369.               Existing files are properly overwritten
  370.               or skipped.
  371.               Useful for storing long names on
  372.               floppies or removable FAT disks.
  373.               FreeWare
  374.  
  375. -----   DirB2100.Rar OS/2  To Show directories of files with their
  376.               FILES.BBS description.
  377.               Looks for the .LONGNAME EA to report
  378.               long names on FAT.
  379.               Useful for checking long names of files
  380.               saved on floppies or removable FAT disks
  381.               (if they were copied with a program that
  382.               preserves long names in the .LONGNAME
  383.               extended attribute).
  384.               FreeWare
  385.  
  386. -----   AdjFDate.Rar OS/2  Changes by +-N days the File Date.
  387.               Can choose between Creation and
  388.               Modification dates on HPFS.
  389.               Show and Touch options.
  390.               FreeWare
  391.  
  392. -----   AdjF_Dos.Rar DOS  Changes by +-N days the File Date.
  393.  
  394.  
  395. Current versions (October 29th 1997): NEF 2.38, FastLst 2.01,
  396. FLM 1.40, NMFWD 2.07, QFB 1.10, SQPrv 1.04.
  397.  
  398.  
  399. ΓòÉΓòÉΓòÉ 1.8. Bug Reports ΓòÉΓòÉΓòÉ
  400.  
  401.  
  402.              Bug Reports
  403.  
  404. If you find out a real bug, I will do my best to fix it and make
  405. the new version available in a few days. To do that, I need your
  406. cooperation: when you find a strange behaviour, double check
  407. your configuration and the manual to be really sure it's not
  408. your fault, then study the conditions in which the bug appears
  409. and, in the end, send me your detailed report about the bug
  410. together with your config file and all the stuff necessary to
  411. replicate the problem. I can fix a bug only if I am enabled to
  412. reproduce it !
  413.  
  414.  
  415. ΓòÉΓòÉΓòÉ 1.9. Wish List ΓòÉΓòÉΓòÉ
  416.  
  417.             Wish List
  418.  
  419.  
  420. To help me provide a better and better program, please let
  421. me know your problems and your wishes about future versions.
  422.  
  423. Please let me know your opinion:
  424.  
  425. Alberto Pasquale 2:332/504@fidonet
  426. feedback@apworks.com
  427.  
  428. BBS:   +39-59-246112 X75 V120 X2 V34+ VFC V32T H16
  429.      +39-59-246113 X75 CCB
  430. Fax:   +39-59-246113
  431.  
  432. Viale Verdi 106
  433. 41100 Modena
  434. Italy
  435.  
  436.  
  437. ΓòÉΓòÉΓòÉ 2. Whatsnew ΓòÉΓòÉΓòÉ
  438.  
  439.  
  440.             FASTLST
  441.  
  442.          Changes and Additions
  443.  
  444.  
  445. ΓòÉΓòÉΓòÉ 2.1. 2.01 ΓòÉΓòÉΓòÉ
  446.  
  447.  
  448. 2.01  Public Release, October 29th 1997
  449.  
  450.    - Support for the new method of listing IP addresses in
  451.     the Zone 2 Fidonet nodelist.
  452.  
  453.     Example:
  454.  
  455.     a phone of "000-194-155-233-455"
  456.     is changed to  "194.155.233.455".
  457.  
  458.     Then any switch-based phone translation is operated,
  459.     just as if the nodelist contained "194.155.233.455".
  460.  
  461.  
  462.    - Support for environment variables in the configuration
  463.     file.
  464.  
  465.     If a '%' is followed by 2 or more characters (different
  466.     from '%' and ' '), it is considered as an environment
  467.     variable and substituted with the corresponding value.
  468.  
  469.     The variable name is terminated by space or another '%'.
  470.  
  471.     Environment variable may also be nested.
  472.  
  473.     To specify a '%' character, write two of them "%%".
  474.  
  475.     Example:
  476.  
  477.     in your environment there is "BBSPATH=d:\bbs\";
  478.  
  479.     you can the use this variable in FastLst.Cfg:
  480.  
  481.     StatusLog %BBSPATH%log\fastlst.log
  482.  
  483.  
  484. ΓòÉΓòÉΓòÉ 2.2. 2.00 ΓòÉΓòÉΓòÉ
  485.  
  486.  
  487. 2.00  Public Release, June 19th 1997
  488.  
  489.    - WARNING: this is not a Drop-In replacement.
  490.     Some statements have been dropped.
  491.  
  492.   New Features
  493.  
  494.    - Support for new V7+ nodelist format, via the "Version7+"
  495.     statement.
  496.  
  497.     To enable V7+, just use "Version7+" in the place of
  498.     "Version7".
  499.  
  500.     Version7+ <path> <nodex> [<sysop>[.<ext>]]
  501.  
  502.     Examples:
  503.  
  504.     Version7+ \bbs\v7 NODEX SYSOP
  505.     Version7+ \bbs\v7 NODEX
  506.  
  507.     If SysOp is not specified, <NODEX>.SDX is assumed.
  508.  
  509.     Generated files:
  510.  
  511.     <nodex>.DAT
  512.     <nodex>.NDX
  513.     <nodex>.DTP V7+ data file
  514.     <nodex>.PDX Phone Index
  515.     <nodex>.SDX or as specified by <sysop>
  516.  
  517.  
  518.    - The DTP file is linked "in memory" by default.
  519.     Since this can be a quite memory hungry task, FastLst
  520.     will automatically revert to "On Disk" linking mode if
  521.     there is not sufficient memory.
  522.  
  523.  
  524.    - New LinkOnDisk statement (after Version7) to make
  525.     FastLst link the DTP file using Disk instead of memory.
  526.  
  527.     Version7+ \bbs\v7 NODEX
  528.      LinkOnDisk
  529.  
  530.  
  531.    - New errolevel 17 "Error Linking"
  532.  
  533.  
  534.    - Additional arguments for "Nodelist" statement:
  535.     Nodelist <list> [PartAddr [<region> [<hub>]]]
  536.  
  537.     Since FastLst links the "fidonet" hierarchy, it is
  538.     important to specify region and hub when the nodelist
  539.     segment does not contain this type of information.
  540.  
  541.  
  542.    - Additional arguments for the "NODE" keyword:
  543.  
  544.     Node,<4Daddr>[ <region>[ <hub>]],...
  545.  
  546.  
  547.    - It is now possible to assign call and user costs
  548.     depending on modem type for Verbatim phone numbers.
  549.  
  550.     In the Typedef lines you can configure the costs:
  551.  
  552.     Typedef
  553.       [...]
  554.       VMODEM 200 100 0
  555.       [...]
  556.     End
  557.  
  558.     The call cost is 100, the user cost is 0.
  559.  
  560.  
  561.    - It is now possible to configure special dial
  562.     translations for non-PSTN "phone numbers" that FastLst
  563.     takes "verbatim" by default.
  564.  
  565.     These dial translations DO NOT affect the indexed entry
  566.     (in <NODEX>.PDX) and are intended as a work around for
  567.     the dial translations operated by the mailer program.
  568.  
  569.     The syntax requires a set of strings to be put on the
  570.     Typedef line that defines the affected "Modem Flag".
  571.  
  572.     The first character of each string will be substituted
  573.     with the remaining characters.
  574.  
  575.     A string containing space MUST be included in quotation
  576.     marks. If the quotation mark is needed inside the quoted
  577.     string, it must be double.
  578.  
  579.     15 strings of 5 characters are allowed.
  580.  
  581.     ATTENTION: This feature is only available in normal (non
  582.     BitType) mode.
  583.  
  584.     Example:
  585.  
  586.     You need to translate '.' to '*', ':' to ' ', 'v' to
  587.     'V'; call_cost=100, user_cost=0:
  588.  
  589.     Typedef
  590.      [...]
  591.      VMODEM 200 100 0 .* ": " vV
  592.      [...]
  593.     End
  594.  
  595.     You want to translate '.' to '\.', ':' to ' ', 'v' to
  596.     'V'; call_cost=150, user_cost=100:
  597.  
  598.     Typedef
  599.      [...]
  600.      VMODEM 200 150 100 .\. ": " vV
  601.      [...]
  602.     End
  603.  
  604.  
  605.     Recommended dial translations for Binkley and VMODEM:
  606.  
  607.     -\- .* vV ~\~ ": "
  608.  
  609.  
  610.    - New "digital" costs.
  611.     For people who want to differentiate analog and digital
  612.     costs.
  613.  
  614.     In the Dial or Cost table you can indicate 2 more
  615.     fields; let's consider a Dial-table line
  616.  
  617.     Prefix New   Call  User Comment
  618.     to   Prefix  Cost  Cost
  619.     match
  620.  
  621.     43   0043-  4    0   ; Austria
  622.  
  623.     If you do not define the optional new fields, the
  624.     indicated costs are for both analog and digital.
  625.  
  626.  
  627.  
  628.     43   0043-  4    0   8   0  ; Austria
  629.  
  630.     In this line:
  631.     Analog  Call cost = 4
  632.     Analog  User cost = 0
  633.     Digital Call cost = 8
  634.     Digital User cost = 0
  635.  
  636.     If the Digital User cost is omitted, it is taken equal
  637.     to the Digital Call one.
  638.  
  639.  
  640.     How can FastLst know about digital calls ?
  641.  
  642.     A new parameter is available in Typedef:
  643.  
  644.     Typedef
  645.      X75  1 DIGITAL       ; X75  digital PSTN
  646.      V120 2 DIGITAL       ; V120 digital PSTN
  647.      V34  3 ANALOG       ; V34  analog  PSTN
  648.      V32  4           ; V32  analog  PSTN
  649.      VM  5 5 0 .* vV ": "   ; VMODEM with costs and dial
  650.                   ; translations
  651.     End
  652.  
  653.  
  654.     The ANALOG specification is optional.
  655.  
  656.  
  657.    - Multiple PasswordFile statements now allowed without
  658.     restrictions.
  659.  
  660.  
  661.    - New statement "Include <filename>" to allow inclusion of
  662.     files in FastLst's configuration.
  663.  
  664.  
  665.    - New statement: NoPointLstPhone.
  666.     Can be used in Input, Output or Global blocks.
  667.     It is useful when you want to _remove_ the phone numbers
  668.     specified in the PointLists (German or "Boss" styles)
  669.     and change them to "-Unpublished-".
  670.  
  671.     If you use Squish and Binkley, you usually will like
  672.     pointlists with the Boss' phone in the point entries
  673.     (otherwise a crash message to a point will have to be
  674.     manually readdressed to its Boss).
  675.  
  676.     But if you use a netmail manager (as NmFwd) that already
  677.     routes the crash messages for points that do not have a
  678.     phone to their Boss, then you will probably like this
  679.     statement.
  680.  
  681.  
  682.    - New statement: LogStats.
  683.     Can be used in the output section of an output block.
  684.     It makes FastLst output the statistics for the (output)
  685.     nodelist to MsgLogArea.
  686.  
  687.     Example:
  688.  
  689.     Version7...
  690.      LogStats
  691.  
  692.   Dropped Support
  693.  
  694.    - Dos 16 bit version dropped.
  695.  
  696.     The 32 bit version has the following memory
  697.     requirements: 100K of base memory, 7MB of DPMI for 60000
  698.     nodes.
  699.  
  700.    - Now indices are always processed in memory: dropped
  701.     "FileMode" and "TmpPath" configuration statements and
  702.     "-t" command line switch.
  703.  
  704.    - Dropped support for SysOpLst, SysDup and IncSysOp
  705.     configuration statements: the SysOp index will always
  706.     contain all the entries that are compiled to
  707.     <nodex>.DAT.
  708.  
  709.    - Dropped NoDash keyword: no use.
  710.  
  711.    - The '#' does not mean "take the phone verbatim" anymore.
  712.     Now any phone containing non-numeric characters is taken
  713.     verbatim.
  714.  
  715.    - Dropped support for stripping flags in Dial/Cost table.
  716.  
  717.    - ATTENTION: The "separate Cost Table" and the "BitType"
  718.     options are still supported in this version of FastLst
  719.     but are considered obsolete and their support will be
  720.     dropped in the future.
  721.  
  722.  
  723.  Changed Behaviour
  724.  
  725.    - When a timeout happens accessing the BSY semaphore,
  726.     FastLst now proceeds with the following "Output Block"
  727.     (previously it aborted).
  728.  
  729.    - In the case FastLst terminates with errorlevel 12 or 14,
  730.     next time it will retry compilation, as expected
  731.     (previously it had to be forced with -f in case of
  732.     errorlevel 12).
  733.  
  734.  Bug Fixes
  735.  
  736.    - When Version7 specified a path containing the '.'
  737.     character, FastLst didn't add the default ".NDX"
  738.     extension to the SysOp index filename.
  739.     Fixed.
  740.  
  741.  
  742. ΓòÉΓòÉΓòÉ 2.3. 1.36 ΓòÉΓòÉΓòÉ
  743.  
  744.  
  745. 1.36  Public Release, July 18th 1996
  746.  
  747.    - "LocalValues" can now be used multiple times for
  748.     users at the crossroads of multiple area codes.
  749.     See the docs under "Dial Table".
  750.  
  751.    - The "Phone" statement has been extended to:
  752.  
  753.     Phone <Addr> [#]<Phone> [<NodeFlags> [<Cost> [<UCost>]]]
  754.  
  755.    - Phone specifications starting with '#' are taken
  756.     verbatim (no dial translation, no cost look-up); this
  757.     may be handy for internet addresses and script names.
  758.  
  759.    - New statement "CostVerbatimPhone <cost> <ucost>" to
  760.     specify default costs for "verbatim" phone
  761.     specifications.
  762.  
  763.  
  764. ΓòÉΓòÉΓòÉ 2.4. 1.34 ΓòÉΓòÉΓòÉ
  765.  
  766.  
  767. 1.34  Public Release, July 1st 1996
  768.  
  769.    - OS/2: New statement "ArcDate Write|Creation" to choose
  770.     which date must be used by FastLst to compute the age
  771.     of archived nodelist files, defaults to Creation,
  772.     ignored by non-OS2 versions.
  773.  
  774.    - New errorlevel 16: nothing found after unarchiving a
  775.     fixed-name nodelist.
  776.  
  777.    - When dealing with fixed-name nodelists, FastLst now
  778.     always sets the archive date to the same value of the
  779.     included file.
  780.  
  781.    - Under certain conditions the old versions of FastLst
  782.     might re-archive the original nodelist file, so that
  783.     it may fail TIC CRC-check when forwarded.
  784.  
  785.     The problem arises when the following conditions are
  786.     satisfied at the same time:
  787.     - new nodelist archive file
  788.     - new configuration
  789.     - zipmethod includes the original archive type
  790.  
  791.    - Improved documentation.
  792.  
  793.  
  794. ΓòÉΓòÉΓòÉ 2.5. 1.33 ΓòÉΓòÉΓòÉ
  795.  
  796.  
  797. 1.33
  798.    - OS/2: Version 1.32 invoked the command processor when
  799.     executing external commands with no .exe or .com
  800.     extension specified, instead of trying to load the
  801.     executable directly.
  802.  
  803.     This was due to an overlook of the DosExecPgm OS/2 API,
  804.     used to improve compatibility in the case of substitution
  805.     parameters containing "special" OS/2 characters.
  806.  
  807.     Now FastLst tries to load the command as specified, then
  808.     it tries with .COM extension appended, in the end with
  809.     .EXE.
  810.  
  811.  
  812. ΓòÉΓòÉΓòÉ 2.6. 1.32 ΓòÉΓòÉΓòÉ
  813.  
  814.  
  815. 1.32
  816.    - New "MultiLineDesc <nnn> [<c>]" statement for enabling
  817.     Multi-Line description support.
  818.  
  819.    - New "FlagDef" table to associate nodelist flags to user
  820.     defined bits.
  821.  
  822.    - In "Version7 <path> <Nodex> <SysopNdx>" you can now
  823.     specify an extension for <SysopNdx>.
  824.     If no extension is specified, ".NDX" is assumed if
  825.     <SysopNdx> is different from <Nodex>, otherwise the
  826.     ".SDX" extension is used.
  827.  
  828.    - New <nodex>.BSY V7 semaphore to avoid concurrent access
  829.     to nodelist files during compilation.
  830.  
  831.    - New errorlevel 14 exit on timeout on V7 semaphore.
  832.  
  833.    - The "MsgRem" used alone, will report all comment lines,
  834.     excluding the empty ones.
  835.  
  836.    - Use of "Phone <addr> <newnumber>" for scripts and
  837.     internet addresses (not new, just explained):
  838.  
  839.      Examples:
  840.  
  841.     My country code is 39 (Italy) and the area code is 59
  842.     (Modena):
  843.  
  844.     Phone 1:106/2000  39-59-#juge*com  ; VMODEM address
  845.     Phone 1:123/4567  39-59-12*34*56*78 ; telnet IP address
  846.     Phone 2:245/6789  39-59-"Bob.scr"  ; quoted script name
  847.  
  848.    - Some configuration errors better flagged.
  849.  
  850.    - V7 packing algorithm improved in speed.
  851.  
  852.    - Dropped OS/2 16 bit version
  853.  
  854.    - New NT version. Unfortunately it doesn't work under W95
  855.     (the external commands seem not to work so that nodelists
  856.     can't be packed/unpacked. Maybe when I will upgrade the
  857.     Watcom compiler, I will support W95 too.
  858.  
  859.    - New icon FastLst2.Ico for OS/2.
  860.  
  861.    - New Registration sites.
  862.  
  863.  
  864. ΓòÉΓòÉΓòÉ 2.7. 1.31 ΓòÉΓòÉΓòÉ
  865.  
  866.  
  867. 1.31
  868.    - New "CostNullPhone <cost> [<ucost>]" global keyword, to
  869.     allow the specification of costs to be assigned to nodes
  870.     with empty (unpublished, etc.) phone number.
  871.  
  872.     <ucost> defaults to <cost>.
  873.  
  874.     If CostNullPhone is not used, <cost> defaults to 65535
  875.     and <ucost> to 0.
  876.  
  877.     Example:
  878.  
  879.         CostNullPhone 1000 0
  880.  
  881.     Some programs might have bugs that cause problems dealing
  882.     with high costs (such as the default 65535). Should you
  883.     experience problems with entries that have a "NullPhone",
  884.     try setting a lower cost e.g. "CostNullPhone 900 0".
  885.  
  886.    - Before applying a diff, the CRC of the OLD nodelist (as
  887.     reported in its first line) is compared to the one
  888.     reported in the diff file. Previously this check was not
  889.     done, so in the remote case you were applying a diff to
  890.     an illegal nodelist (e.g. a european diff to an american
  891.     nodelist), the error was discovered only at the end of
  892.     the application, when checking the CRC of the resulting
  893.     nodelist.
  894.  
  895.    - Checks added to warn about illegal empty Cost or Dial
  896.     tables. Previously the program hanged.
  897.  
  898.    - No more Access Violations when "ArcDiff" is used without
  899.     "NodeDiff" (it is a strange configuration, but it is now
  900.     legal).
  901.  
  902.    - Fixed bug that caused access violation applying a
  903.     nodediff when using "NodeDiff" without "ArcDiff" (anyway
  904.     you are encouraged letting FastLst do all the work it is
  905.     designed for...).
  906.  
  907.    - The number of archived nodelists to be kept (as specified
  908.     in the ArcList statement) is now checked a second time
  909.     after nodediff application, so that the required number
  910.     of archives is kept exactly. Previously, after nodediff
  911.     application, there was one archive more than specified.
  912.  
  913.    - When specifying <ArcKeep> 0 in "ArcList", the nodelist is
  914.     not archived (previously was archived and then deleted).
  915.  
  916.    - Changed Compress.Cfg to support the OS/2 RAR.
  917.  
  918.    - Dos versions are now distributed with the same executable
  919.     names as the OS/2 versions: FASTLST.EXE (32 bit) and
  920.     FASTL16.EXE (16 bit).
  921.  
  922.  
  923. ΓòÉΓòÉΓòÉ 2.8. 1.30 ΓòÉΓòÉΓòÉ
  924.  
  925.  
  926. 1.30
  927.    - WARNING: FastLst v 1.30 is NOT a true "Drop In"
  928.     replacement for v 1.20, anyway there is little to change:
  929.  
  930.     - Add a "CompressCfg <squish_compress_cfg_file>" line to
  931.      the "Global Info" section of your fastlst.cfg.
  932.  
  933.     - Remove all "Arc" and "UnArc" lines.
  934.  
  935.     - In each "Input block" section where you would like to
  936.      be able to compress new nodelists (e.g. where Nodediffs
  937.      are processed and you were using "Arc" statements), add
  938.      one or more "ArcMethod <meth>,[<f>] ..." lines, where
  939.      <meth> represents one of the archiving methods defined
  940.      in <squish_compress_cfg_file> (e.g. ZIP, LH, etc.) and
  941.      the optional <f> is an override for the initial
  942.      character of the archived file extension (in the case
  943.      it is named after the day of the year and you do not
  944.      want to use the first character of the default
  945.      extension, as defined in <squish_compress_cfg_file>).
  946.  
  947.     - See FastLst.Doc for more information.
  948.  
  949.  
  950.    - DOS: There is a new 32 bit version with the DOS4GW
  951.     extender.
  952.  
  953.    - OS/2: There is a new 16 bit version for those who still
  954.     use OS/2 1.3.
  955.  
  956.    - OS/2 32: the "Priority" statement can be used to change
  957.     the priority for the FastLst process.
  958.  
  959.    - The 32 bit versions can now be configured to use the
  960.     temporary file instead of working in memory.
  961.     The "FileMode" statement and the "-t" command line switch
  962.     are used for selecting the mode.
  963.  
  964.    - The routines used in 32 bit versions for "in memory" work
  965.     (no temporary file) have been completely rewritten in
  966.     order to need far less memory. This way, the 32 bit
  967.     versions usually allocate about 1/4 of the memory they
  968.     needed with v 1.20. This is an important issue on systems
  969.     with not too much physical RAM (especially for the DOS
  970.     version, that cannot efficiently use virtual memory), but
  971.     the benefits are noticeable even on systems with plenty
  972.     of RAM (less OS/2 swap reorganization when FastLst ends).
  973.  
  974.    - The "TmpPath" config statement is no longer needed:
  975.     FastLst will use the TMP or TEMP environment variable if
  976.     no TmpPath statement is used.
  977.  
  978.    - If you want FastLst to kill all uncompressed nodelist
  979.     (except for those that are not stored in compressed
  980.     format too), just add a "KillSource" line to the "Global
  981.     Info" section of FastLst.cfg.
  982.  
  983.    - All the ArcList and Arcdiff statements can now work
  984.     WITHOUT the specification of the first letter of the
  985.     extension, i.e. "ArcList NodeList.z??" can be changed to
  986.     "ArcList NodeList.???" and "ArcDiff NodeDiff.z??" can be
  987.     changed to "ArcDiff NodeDiff.???". This way FastLst will
  988.     automatically handle any archive type that shows up in
  989.     the ArcList directory.
  990.  
  991.    - Now all the nodelists and nodediffs can be maintained in
  992.     many different archived formats. The archiving method for
  993.     NodeDiffs must be specified using "ArcDiffMethod
  994.     <meth>,[<f>] ...".
  995.  
  996.    - The "block" structure of the config file remains, but it
  997.     becomes a lot more flexible: the majority of config verbs
  998.     can now be anywhere in the config file, but they have
  999.     effect on different nodelists depending on their position
  1000.     in the cfg. E.G.: "PasswordFile", being an address
  1001.     related verb, can be both in the "Output Nodelist" and
  1002.     "Input Nodelist" sections. If you use it after "Version7"
  1003.     but before the first "NodeList", then it will be used for
  1004.     all the NodeLists of that "Output block". If you use it
  1005.     after a "NodeList", it will be used (as in the past) for
  1006.     that Nodelist only. Other non-address related verbs (e.g.
  1007.     ArcMethod) can be everywhere (global, output nodelist,
  1008.     input nodelist) and the will affect the operations
  1009.     depending on their position (global: all the nodelists;
  1010.     output: all the nodelist in the current output block;
  1011.     input: the current nodelist only).
  1012.  
  1013.    - "NoRedir" verb: the nodes that should be redirected will
  1014.     acquire the empty string as phone number, so that you
  1015.     will never call a system different from that you think
  1016.     you are calling.
  1017.  
  1018.    - Many new verbs have been added to support external
  1019.     operations; the names are self explaining:
  1020.  
  1021.  
  1022.     BeforeArcList
  1023.     AfterArcList
  1024.     BeforeUnArcList
  1025.     AfterUnArcList
  1026.     BeforeUnArcDiff
  1027.     AfterUnArcDiff
  1028.     BeforeArcDiff
  1029.     AfterArcDiff
  1030.  
  1031.     All the preceding verbs support the %a (complete archive
  1032.     name) and %f (add/extract file name, no path) parameters.
  1033.  
  1034.  
  1035.     BeforeEdit
  1036.     AfterEdit
  1037.  
  1038.     The preceding verbs support the %l and %d parameters
  1039.     standing for the full pathnames of the NodeList and
  1040.     NodeDiff files.
  1041.  
  1042.  
  1043.     BeforeCompile
  1044.     AfterCompile
  1045.  
  1046.     The preceding verbs support the %l parameter only.
  1047.  
  1048.  
  1049.     BeforeKillSource
  1050.  
  1051.     The preceding verb does not support any parameter.
  1052.     It is executed even if "KillSource" is not used.
  1053.     It is a means to invoke a command before FastLst ends.
  1054.     The "NeededBeforeKill" verb must be used to specify the
  1055.     NodeLists needed by this command.
  1056.  
  1057.     See FastLst.Doc for more information.
  1058.  
  1059.    - A new cfg section is now available: "NoCompile".
  1060.     It is a means for maintaining a NodeList (applying
  1061.     nodediffs, archiving with different archivers etc.)
  1062.     without compiling it.
  1063.  
  1064.    - The 3D German PointListst is now internally supported by
  1065.     FastLst. Just use the "GermanPointList" verb in the
  1066.     pertaining block.
  1067.  
  1068.    - When all goes well, FastLst exists with errorlevel 0 if
  1069.     it has compiled something, 100 if nothing new to compile
  1070.     was found.
  1071.  
  1072.    - New method for evaluating the age of a variable extension
  1073.     arcfile: the file date is considered in addition to the 2
  1074.     digits in the extension. This way you can keep a greater
  1075.     number of old files without creating problems to fastlst,
  1076.     even at the year crossing.
  1077.  
  1078.    - File descriptions in FILES.BBS are now maintained
  1079.     (deleted or added). New statements are available:
  1080.  
  1081.     ArcListDesc <description>
  1082.     ArcDiffDesc <description>
  1083.  
  1084.     <description> can contain the following parameters:
  1085.  
  1086.     %d day
  1087.     %a archiver
  1088.     %D date, USA format
  1089.     %L Local date
  1090.  
  1091.    - The dash is now recognized as insignificant while doing
  1092.     the Dial and Cost translations.
  1093.  
  1094.    - The line # is specified when reporting a config error.
  1095.  
  1096.    - Some information about the compilation can now be
  1097.     reported to a fido/squish message area: see FastLst.Doc
  1098.     for a description for "MsgLogArea", "MsgRemArea" and
  1099.     related statements.
  1100.  
  1101.    - FastLst is now multitasking smarter: e.g. it retries for
  1102.     15s when it has to delete the old compiled nodelists and
  1103.     rename the new ones.
  1104.  
  1105.    - New Export capability: FastLst is now able to "export"
  1106.     segments of nodelist: see the "Export" section in the
  1107.     docs.
  1108.  
  1109.    - The Dial and Cost tables can be unified: the old syntax
  1110.     is still supported, but a new way can be used for cost
  1111.     and dial specifications. I think that Europeans can
  1112.     continue using the old syntax (if they like), while the
  1113.     Americans should appreciate the new way (due to the
  1114.     complex dial translations needed).
  1115.  
  1116.    - Fixed bug that caused access violations when no
  1117.     "StatusLog" was used.
  1118.  
  1119.  
  1120. ΓòÉΓòÉΓòÉ 2.9. 1.20 ΓòÉΓòÉΓòÉ
  1121.  
  1122.  
  1123. 1.20
  1124.    - WARNING: FastLst v 1.20 is NOT a "Drop In" replacement
  1125.     for previous versions; you MUST modify the config file
  1126.     following the comments in it before using this version.
  1127.  
  1128.    - In order to make available new powerful options without
  1129.     using clumsy syntax and risking subtle side effects and
  1130.     strange interactions, some obsolete features have been
  1131.     dropped and the methods to specify the files to be
  1132.     compiled have been modified.
  1133.  
  1134.    - FastLst is faster than ever: on my system and with my
  1135.     configuration, the OS/2 version is about 25% faster
  1136.     than v 1.16.
  1137.     If you time it, be aware that the OS/2 version optimizes
  1138.     memory allocation (and speed) basing on the needs of the
  1139.     previous compilation, so it is usually a bit slower on
  1140.     the first run with a new cfg.
  1141.  
  1142.    - The ancient "Version6" nodelist support has been
  1143.     dropped. However the sometime-useful fidouser.lst is
  1144.     still available.
  1145.  
  1146.    - The "MergeList" and "Kill999" options have been dropped.
  1147.     With version7 you can simply compile segments after the
  1148.     full list, since updated entries are put in the indices
  1149.     in the place of old ones.
  1150.  
  1151.    - Added support for compiling multiple V7 nodelists
  1152.     with different output names.
  1153.  
  1154.    - Added support for automatic decompression of
  1155.     nodelists and nodediffs: no more complex batch files.
  1156.  
  1157.    - Now FastLst compiles an output nodelist only if some
  1158.     of its input lists are new: the -f command line switch
  1159.     has been added to force compilation.
  1160.  
  1161.    - Pay Attention: version 1.14 introduced a new behaviour
  1162.     in generating V7 indices to circumvent a bug in
  1163.     Binkley 2.50 V7 search function.
  1164.     Now Binkley 2.58 should have fixed the bug, so
  1165.     FastLst goes back to the "correct" V7 index.
  1166.     A new cfg option has been added to keep using the
  1167.     "bug-circumvent" index form: see "V7BugFix" in the
  1168.     example config file.
  1169.  
  1170.        *******************************************************
  1171.        * If you are using an older Binkley or some program   *
  1172.        * that have got inspiration from Binkley 2.50 sources,*
  1173.        * you could experience "address not found" problems,  *
  1174.        * unless you explicitly activate the "V7BugFix"       *
  1175.        * option in fastlst.cfg.                              *
  1176.        *******************************************************
  1177.  
  1178.  
  1179.    - The "KillOld" and "AutoErase" verbs have been dropped.
  1180.     Old nodelist and nodediff files are always erased.
  1181.     You can control how many archived files are to be kept
  1182.     via the new archive processing verbs.
  1183.  
  1184.    - The -o -s -l -g -m -p -b command line switches have
  1185.     been dropped since they are now useless.
  1186.  
  1187.    - The "include" cfg keyword and the -i command line
  1188.     switch have been dropped.
  1189.     You can still include lists of passwords in a separate
  1190.     file via the "PasswordFile" cfg keyword, that allows
  1191.     to optionally omit the " Password" keyword in front of
  1192.     each password specification.
  1193.  
  1194.    - Due to the frequent misunderstanding of the real meaning
  1195.     and function of the "Address" config option, I have
  1196.     decided to drop it.
  1197.     These days it is not much useful (in a nodelist
  1198.     compiler), since many systems have various different
  1199.     addresses and we are used to write addresses in the full
  1200.     4D format to avoid ambiguities.
  1201.     In the various config options that require an address
  1202.     or a part of it, you now need to specify all the
  1203.     required fields, always starting with the zone number:
  1204.     no assumption is made on your zone/net/node.
  1205.  
  1206.    - The obsolete "MaxBaud" and "Baud" verb have been dropped.
  1207.     Should you use an old 2400 non error-correcting
  1208.     modem that needs equal DTE and DCE rates, make sure
  1209.     your front-end is configured to dial using its own
  1210.     max baud rate instead of the baud rate reported by
  1211.     the nodelist for the callee (AutoBaud in Binkley.cfg).
  1212.  
  1213.    - The "Country" and "UCost" verbs have been dropped,
  1214.     the "Dial" and "Cost" tables have been slightly modified
  1215.     to specify domestic and international defaults in a more
  1216.     coherent manner and to include "UCost" info.
  1217.  
  1218.    - The "TypeExact" verb has been substituted by the
  1219.     complementary "BitType" option.
  1220.     Thus the default is now the "Exact Type" used by
  1221.     Binkley 2.55 and newer.
  1222.  
  1223.    - The "TypeCost" verb has been dropped.
  1224.     It was used to differentiate CallCost basing on
  1225.     modem type. This way, in a multi-line environment,
  1226.     you could make each line call the appropriate modem
  1227.     types.
  1228.     To achieve the same goal, please use the front-end
  1229.     dial string selection options (ModemTrans in Binkley).
  1230.  
  1231.    - The totally useless "Name" and "Comments" options
  1232.     have been dropped.
  1233.  
  1234.    - The "Gated" config option has been dropped and the
  1235.     "GateAddr", "GateCoord" verbs have been replaced by
  1236.     "IncAddr", "ExcAddr", "IncCoord".
  1237.  
  1238.    - The "Interlist" config option has been dropped.
  1239.     It is substituted by the "IncSysOp" verb.
  1240.  
  1241.    - The "Type" and "CM" keywords have been dropped.
  1242.     Their functions are more cleanly implemented via
  1243.     the "NodeFlags" verb.
  1244.  
  1245.    - The "TypeDef" statement has been modified to a "table"
  1246.     form, for better coherency.
  1247.  
  1248.    - The addresses in Fidouser.Lst now always have the
  1249.     heading zone number, even if it is the same as yours.
  1250.  
  1251.    - Fixed little bug that could cause some cfg keywords
  1252.     not to be recognized unless followed by a comment
  1253.  
  1254.  
  1255. ΓòÉΓòÉΓòÉ 2.10. 1.16 ΓòÉΓòÉΓòÉ
  1256.  
  1257.  
  1258. 1.16
  1259.    - Fixed bug in the Register routine that caused
  1260.     some keys not to work (1 every 256).
  1261.  
  1262.  
  1263. ΓòÉΓòÉΓòÉ 2.11. 1.15 ΓòÉΓòÉΓòÉ
  1264.  
  1265.  
  1266. 1.15
  1267.    - Some programs skip the first entry in V6 nodelist,
  1268.     assuming it is a dummy entry that contains the version
  1269.     number of the nodelist. These programs could loose
  1270.     the "zone number" of the first zone compiled, thus
  1271.     assuming zone 0.
  1272.     Now FastLst puts the "version ID" entry at the start
  1273.     of nodelist V6.
  1274.  
  1275.  
  1276. ΓòÉΓòÉΓòÉ 2.12. 1.14 ΓòÉΓòÉΓòÉ
  1277.  
  1278.  
  1279. 1.14
  1280.    - Some programs do not correctly read V7 indices when
  1281.     an empty node appears (This happens when a key has no
  1282.     greater keys in the lower index level, so that it points
  1283.     to an empty node).
  1284.     Sometimes these programs could not find part of the
  1285.     V7 nodelist entries.
  1286.     Now FastLst adds a dummy duplicate key to avoid the problem.
  1287.  
  1288.    - New "Node,<address>,..." keyword to allow
  1289.     straightforwad addition of nodes without the need for
  1290.     Zone and Host lines.
  1291.  
  1292.    - Removed the Point flag in the output nodelist for
  1293.     point 0 entries (after the "Boss,..." keyword).
  1294.  
  1295.  
  1296. ΓòÉΓòÉΓòÉ 2.13. 1.13 ΓòÉΓòÉΓòÉ
  1297.  
  1298.  
  1299. 1.13
  1300.    - When a totally empty line was found in a nodelist
  1301.     file a strange undesired nodelist entry was compiled.
  1302.     It was not a bug since FTS-0005 does not allow
  1303.     empty nodelist lines, however it has been fixed
  1304.     to avoid problems with private manually written
  1305.     nodelist segments.
  1306.  
  1307.    - The .DOC now reports an "undocumented" feature:
  1308.     when using the "Boss,<address>" method for pointlists,
  1309.     you can also use the point #0 to easily add the Boss
  1310.     entry, if useful.
  1311.  
  1312.  
  1313. ΓòÉΓòÉΓòÉ 2.14. 1.12 ΓòÉΓòÉΓòÉ
  1314.  
  1315.  
  1316. 1.12
  1317.    - In the case of SysOps of multiple nodes, all the
  1318.     Name/Address couples are now put in the SysOp
  1319.     lists (fidouser.lst and sysop.ndx).
  1320.      This new behaviour allows to use the great "address
  1321.     choice" feature of TimEd (excellent Dos/OS2 message
  1322.     editor by Gerard van Essen 2:281/527).
  1323.  
  1324.    - New behaviour of "SysDup" option: since now all the
  1325.     name-duplicate sysop entries are kept by default,
  1326.     SysDup allows to keep (for a particular sysop name)
  1327.     only the entry with one of the specified addresses.
  1328.  
  1329.    - Many internal changes, not visible to users: if you
  1330.     find out a new unexpected behaviour, please let me
  1331.     know.
  1332.  
  1333.    - Removed redundant empty lines in nodelist.prn and
  1334.     nodelist.txt after comment lines.
  1335.  
  1336.  
  1337. ΓòÉΓòÉΓòÉ 2.15. 1.11 ΓòÉΓòÉΓòÉ
  1338.  
  1339.  
  1340. 1.11
  1341.    - CRC is now checked on all nodelist files that have
  1342.     the expected CRC on the first line (previously it
  1343.     was checked when applying nodediffs only).
  1344.  
  1345.    - New errorlevel 10 for CRC Error while compiling
  1346.     nodelist (errorlevel 9 is still used for CRC Error
  1347.     while applying nodediff).
  1348.  
  1349.    - When merging the first line is skipped if it contains
  1350.     the CRC.
  1351.  
  1352.    - New -r command line switch to avoid exit on CRC Error.
  1353.  
  1354.    - New -s command line switch to override SYSOP.NDX
  1355.     base name.
  1356.  
  1357.    - Any file specification can contain drive and path,
  1358.     including -n -d -o -s overrides.
  1359.  
  1360.    - When using Version7 only, the added nodelist segments
  1361.     are appended to the end of the full main nodelist
  1362.     instead of the end of your zone.
  1363.  
  1364.    - Some small changes in Nodelist.Prn and Nodelist.Txt
  1365.  
  1366.    - Fixed bug introduced in v 1.10: when a region segment
  1367.     (no zone entry) was compiled as the main nodelist,
  1368.     zone 0 was erroneously assumed.
  1369.     Now the address levels not present in the main nodelist
  1370.     correctly default to the config address.
  1371.  
  1372.  
  1373. ΓòÉΓòÉΓòÉ 2.16. 1.10 ΓòÉΓòÉΓòÉ
  1374.  
  1375.  
  1376. 1.10
  1377.    - OS/2: First 32 bit version, compiled by BC++.
  1378.  
  1379.    - OS/2: New "flat" index sorting (no more disk based
  1380.     merge-sort).
  1381.  
  1382.    - OS/2: "TmpPath" option in *.cfg not used any more.
  1383.  
  1384.    - OS/2: Long filename support
  1385.  
  1386.    - DOS: The "TmpPath" directory is now automatically
  1387.     created when necessary.
  1388.  
  1389.    - New improved Disk Full handling (errorlevel 4)
  1390.  
  1391.    - New "-o<nodebase>" command line switch to override
  1392.     output file names (NODEX.* -> <nodebase>.*).
  1393.  
  1394.    - New "KillAfter" config verb, to save old nodelist files
  1395.     in the case of compilation error.
  1396.  
  1397.    - New "Boss <address>" statement for easier pointlist
  1398.     support (see FastLst.DOC).
  1399.  
  1400.    - New optional partial address parameter in
  1401.     "MyList <nodefile> [default partial address]"
  1402.     to allow the addition of nodelist segments without
  1403.     the need of ZONE, HOST, node prefix lines (V7 only).
  1404.     See FastLst.DOC for more details.
  1405.  
  1406.    - New "-i<include>" command line switch to allow easier
  1407.     different file inclusions.
  1408.  
  1409.    - New "KillOld" config statement to kill old versions of
  1410.     nodelist files.
  1411.  
  1412.    - New "Kill999" config statement to kill the .999 file
  1413.     that remains after merging with MergeList.
  1414.  
  1415.    - Now the .999 file is killed whenever FastLst begins
  1416.     execution, thus you do not have to manually delete it
  1417.     if you stop using the MergeList command.
  1418.  
  1419.    - Now the "Gated" config keyword prevents Hub coordinators
  1420.     of other zones to be put in the output nodelist (only
  1421.     ZC and NC remain).
  1422.  
  1423.    - New "GateAddr" config keyword allows to have only
  1424.     selected zones, regions and nets in the output files.
  1425.  
  1426.    - New "GateCoord" config keyword allows to have in the
  1427.     output files only selected coordinators from the excluded
  1428.     zones, regions and nets.
  1429.  
  1430.    - New errorlevel 9 exit after CRC error while applying
  1431.     a nodediff. If "Autoerase" is active, the nodediff and
  1432.     the resulting nodelist files are erased, otherwise they
  1433.     are renamed to NODEDIFF.BAD and NODELIST.BAD.
  1434.  
  1435.    - New "StatusLog" config statement to specify the log
  1436.     filename in the .cfg instead of the command line.
  1437.  
  1438.    - New "TypeExact" config option to set modem types in a
  1439.     way more coherent with the behaviour of Binkley 2.55 and
  1440.     newer.
  1441.  
  1442.    - New "SysDup" config option to override FastLst's choice
  1443.     when killing duplicate SysOp Names.
  1444.  
  1445.  
  1446. ΓòÉΓòÉΓòÉ 2.17. 1.06 ΓòÉΓòÉΓòÉ
  1447.  
  1448.  
  1449. 1.06
  1450.    - OS/2: Fixed bug that caused some reg. keys not to work.
  1451.  
  1452.    - DOS: Fixed bug that sometimes caused memory problems
  1453.     during index sorting.
  1454.  
  1455.  
  1456. ΓòÉΓòÉΓòÉ 2.18. 1.05 ΓòÉΓòÉΓòÉ
  1457.  
  1458.  
  1459. 1.05
  1460.    - New UCOST verbs to set User Cost Different from Call Cost.
  1461.  
  1462.    - OS/2: Fixed bug that sometimes caused "Disk Full" error.
  1463.  
  1464.  
  1465. ΓòÉΓòÉΓòÉ 2.19. 1.04 ΓòÉΓòÉΓòÉ
  1466.  
  1467.  
  1468. 1.04
  1469.    - Changed redirection criteria: if you have a password with a
  1470.     hold/unpublished system or its coordinator, then it is NOT
  1471.     redirected; instead it gets an empty phone number string.
  1472.  
  1473.    - Slightly changed the algorithm to choose the entry for
  1474.     a multi-SysOp in Sysop.Ndx, so that he never gets data from
  1475.     an entry that is not used due to local segment override.
  1476.  
  1477.    - Added "Flags" Keyword to set the user defined bits.
  1478.  
  1479.    - OS/2: Fixed a bug that caused a "NULL POINTER" error when
  1480.     compiling only Version 6 and FidoUserLst.
  1481.  
  1482.  
  1483. ΓòÉΓòÉΓòÉ 2.20. 1.03 ΓòÉΓòÉΓòÉ
  1484.  
  1485.  
  1486. 1.03
  1487.    - Added <CR> before comment output to fix video output when
  1488.     both comments and report are active, Thanks to Roberto
  1489.     Zanasi.
  1490.  
  1491.    - OS/2: First (16 bit) version, ported by Pasquale Cantiello.
  1492.  
  1493.  
  1494. ΓòÉΓòÉΓòÉ 2.21. 1.02 ΓòÉΓòÉΓòÉ
  1495.  
  1496.  
  1497. 1.02
  1498.    - Null pointer bug fixed in Merge module, Thanks to Pasquale
  1499.     Cantiello.
  1500.  
  1501.  
  1502. ΓòÉΓòÉΓòÉ 2.22. 1.01 ΓòÉΓòÉΓòÉ
  1503.  
  1504.  
  1505. 1.01
  1506.    - Minor message and DOC adjusting.
  1507.  
  1508.  
  1509. ΓòÉΓòÉΓòÉ 2.23. 1.00 ΓòÉΓòÉΓòÉ
  1510.  
  1511.  
  1512. 1.00
  1513.    - First public release.
  1514.  
  1515.  
  1516. ΓòÉΓòÉΓòÉ 3. About FastLst ΓòÉΓòÉΓòÉ
  1517.  
  1518. **************************************************************
  1519. *                               *
  1520. *                               *
  1521. *  *******  **   ****  ******  ****   ****  ******  *
  1522. *   **  *  ****  **  **  * ** *  **   **  **  * ** *  *
  1523. *   ** *  **  **  **     **   **   **     **   *
  1524. *   ****  **  **  ****   **   **    ****   **   *
  1525. *   ** *  ******    **   **   **  *   **   **   *
  1526. *   **   **  **  **  **   **   **  ** **  **   **   *
  1527. *  ****   **  **  ****   ****  *******  ****   ****   *
  1528. *                               *
  1529. *                               *
  1530. *             Version 2.01            *
  1531. *                               *
  1532. *       The ultimate V7+ nodelist processor       *
  1533. *                               *
  1534. *                               *
  1535. **************************************************************
  1536. *                               *
  1537. *     (C) Copyright 1992-1997  by  Alberto Pasquale    *
  1538. *                               *
  1539. *       A L L  R I G H T S  R E S E R V E D      *
  1540. *                               *
  1541. **************************************************************
  1542.  
  1543.  
  1544.  
  1545.     FastLst 2.01 User's Manual, by Alberto Pasquale
  1546.  
  1547.  
  1548. ΓòÉΓòÉΓòÉ 4. Introduction ΓòÉΓòÉΓòÉ
  1549.  
  1550.              INTRODUCTION
  1551.  
  1552.  
  1553. -> For licensing information, please see License.Doc.
  1554.  
  1555. Thanks for evaluating FastLst: the ultimate "Version 7+"
  1556. nodelist processor.
  1557.  
  1558. Version 7 is a common format for binary nodelists to be used by
  1559. mailers, message editors and all the programs that need fast
  1560. access to a compiled nodelist.
  1561.  
  1562. Version 7+ is fully compatible with V7 and adds lots of new
  1563. powerful features for V7+ aware applications.
  1564.  
  1565.  
  1566. ΓòÉΓòÉΓòÉ 4.1. Main Features ΓòÉΓòÉΓòÉ
  1567.  
  1568.              Main Features
  1569.  
  1570.  
  1571. - Compiles to Version 7+ format nodelist.
  1572.  
  1573. - Support for Version 7.
  1574.  
  1575. - Support for old "Fidouser.Lst" sysop list.
  1576.  
  1577. - Multiple output nodelist (NODEX.*) compilation from one config
  1578.  file.
  1579.  
  1580. - The complete maintenance of archived lists and diffs is
  1581.  achieved through internal flexible configuration, with no need
  1582.  for clumsy batch files.
  1583.  
  1584. - Uses "Squish Style" Compress.Cfg.
  1585.  
  1586. - Can be invoked from a batch file at predefined events: the
  1587.  compilation will take place only if some new list/diff is
  1588.  found.
  1589.  
  1590. - Multitasking friendly
  1591.  
  1592. - The OS/2 version allows for priority setting in the
  1593.  configuration file.
  1594.  
  1595. - Compilation reports can be posted to Fido or Squish format
  1596.  message areas.
  1597.  
  1598. - Full 4D (point) support, both via the "Point,..." and
  1599.  "Boss,..." keywords.
  1600.  
  1601. - Internal support for "German type" pointlists.
  1602.  
  1603. - Easy addition of nodes via the "Node,<address>,..." keyword
  1604.  in a private list.
  1605.  
  1606. - Easy specification of phone strings to be taken "verbatim"
  1607.  for internet addresses and script names.
  1608.  
  1609. - In the case of SysOps of multiple nodes, keeps all the
  1610.  name/address entries in the sysop index.
  1611.  
  1612. - User Cost (Msg Fee) can be set different from Call Cost.
  1613.  
  1614.  
  1615. ΓòÉΓòÉΓòÉ 4.2. Credits ΓòÉΓòÉΓòÉ
  1616.  
  1617.               CREDITS
  1618.  
  1619. This program uses the Squish "MsgAPI" code, Copyright 1991-1994
  1620. by Lanius Corporation. "Squish" and "Maximus" are trademarks of
  1621. Lanius Corporation.
  1622.  
  1623. "BinkleyTerm" is a trademark of Bit Bucket Software Co.
  1624.  
  1625. "4OS2" is a trademark of JP Software Inc.
  1626.  
  1627. The archivers referred-to throughout this documentation are
  1628. Copyright and/or trademarks of the respective owners.
  1629.  
  1630. "VMODEM" and "SIO" are Copyright by Raymond L. Gwinn.
  1631.  
  1632. "U.S. Robotics" and "I-modem" are registered trademarks of U.S.
  1633. Robotics Access Corporation.
  1634.  
  1635.  
  1636. ΓòÉΓòÉΓòÉ 4.3. Overall Operation ΓòÉΓòÉΓòÉ
  1637.  
  1638.             OVERALL OPERATION
  1639.  
  1640.  
  1641. FastLst has been designed to be invoked regularly from one of
  1642. your main batch files, after mail has been received or at
  1643. pre-arranged times at your pleasure: if any new (compressed or
  1644. not) nodelist/nodediff is detected, Fastlst processes them as
  1645. required (exiting with Errorlevel 0), otherwise it immediately
  1646. exits (errorlevel 100) with no further delay.
  1647.  
  1648. When FastLst detects a changed config or password file, it
  1649. compiles all the affected nodelists even if they are not new.
  1650.  
  1651. If you want FastLst to compile all of your nodelists even if no
  1652. new ones are present, you need to use the -f or -i command line
  1653. switch.
  1654.  
  1655. For each "output block" in the config file:
  1656.  
  1657. - New compressed lists or diffs are detected, unarchived and
  1658.  optionally rearchived in supplementary formats.
  1659.  
  1660. - New diffs are detected and applied: the resulting new nodelist
  1661.  is archived. Before applying a diff, the day number and CRC of
  1662.  the old nodelist are compared against the ones requested by
  1663.  the diff; after application, the CRC of the new nodelist is
  1664.  checked.
  1665.  
  1666. - New lists are detected and the pertinent output nodelists are
  1667.  rebuilt. If no new list is found for a specific "output
  1668.  block", that output nodelist is not compiled, unless the -f or
  1669.  -i command line switch is specified.
  1670.  
  1671. OS commands can be issued before or after each operation: for
  1672. example you can hatch the just created archive file.
  1673.  
  1674.  
  1675. ATTENTION:
  1676.  
  1677. - Every time a config file is changed, FastLst rebuilds all
  1678.  the output nodelists, as if the -f command line switch were
  1679.  specified.
  1680.  
  1681. - Every time a PasswordFile is changed, FastLst rebuilds the
  1682.  nodelists that use it.
  1683.  
  1684. - The date of the archive files handled by FastLst is set to
  1685.  the same value of the contained file (see ArcDate).
  1686.  
  1687.  
  1688. ΓòÉΓòÉΓòÉ 5. Input Nodelist Format ΓòÉΓòÉΓòÉ
  1689.  
  1690.            INPUT NODELIST FORMAT
  1691.  
  1692.  
  1693. The source nodelists and nodediffs must be in standard "St.
  1694. Louis" format, as described in FTS-0005. Anyway, FastLst allows
  1695. some extensions in order to support 4D points, "German style"
  1696. pointlists, easy single node specifications and "verbatim" phone
  1697. strings.
  1698.  
  1699.  
  1700. ΓòÉΓòÉΓòÉ 5.1. 4D Point Support: POINT and BOSS Keywords ΓòÉΓòÉΓòÉ
  1701.  
  1702.  
  1703.  
  1704.         4D Point Support: POINT and BOSS keywords
  1705.  
  1706.  
  1707. First method:
  1708.  
  1709. Points are entered in the nodelist directly following their
  1710. bossnode.  Each one starts with the "Point,<point>" keyword.
  1711.  
  1712. Example:
  1713.  
  1714. ...
  1715. ...
  1716. ,504,Videl,Modena_I,Roberto_Zanasi,39-59-450600,9600,CM,XA,V34
  1717. Point,1,Pasquale,Modena_I,Alberto_Pasquale,-!Unpublished-,9600,
  1718. Point,2,SysOp,Modena_I,Roberto_Zanasi,-!Unpublished-,9600,
  1719. Point,3,Carta,Modena,Francesco_Carta,-!Unpublished-,9600,
  1720. ...
  1721. ...
  1722.  
  1723.  
  1724.  
  1725. Second method:
  1726.  
  1727. Points are entered in the nodelist following the
  1728. "Boss,<address>" keyword.
  1729.  
  1730. Example:
  1731.  
  1732. ...
  1733. ...
  1734. Boss,2:332/504
  1735. ,1,Pasquale,Modena_I,Alberto_Pasquale,-!Unpublished-,9600,
  1736. ,2,SysOp,Modena_I,Roberto_Zanasi,-!Unpublished-,9600,
  1737. ,3,Carta,Modena,Francesco_Carta,-!Unpublished-,9600,
  1738. ...
  1739. ...
  1740.  
  1741.  
  1742.  
  1743. ΓòÉΓòÉΓòÉ 5.2. German Point List ΓòÉΓòÉΓòÉ
  1744.  
  1745.  
  1746.             German Point List
  1747.  
  1748.  
  1749. This is a "normal" 3D nodelist that lists each Boss as a
  1750. "fakenet" HOST, with the real address as the system name,
  1751. followed by its points listed as nodes.
  1752.  
  1753. Example:
  1754.  
  1755. The following nodelist segment lists points 2:2400/1.1 .2 .3:
  1756.  
  1757. Host,20000,2400/1,City,Sysop_Name,49-951-999999,9600,CM,V34
  1758. ,1,System_Name_1,City_1,Sysop_Name_1,49-951-999999,9600,
  1759. ,2,System_Name_2,City_2,Sysop_Name_2,49-951-999999,9600,
  1760. ,3,System_Name_3,City_3,Sysop_Name_3,49-951-999999,9600,
  1761.  
  1762.  
  1763.  
  1764. ΓòÉΓòÉΓòÉ 5.3. The NODE Keyword ΓòÉΓòÉΓòÉ
  1765.  
  1766.  
  1767.             The NODE Keyword
  1768.  
  1769.  
  1770. Another extension over FTS-0005 is provided to allow easy
  1771. addition of nodes in small private lists.
  1772.  
  1773. When you need to add a node to your nodelist to call it or to
  1774. enforce a session password with it, you can use the
  1775. "Node,<address>[ <region>[ <hub>]],..." keyword to avoid the
  1776. necessity of adding the entries for its coordinators.
  1777.  
  1778. You should specify a full 4D address (point optional).
  1779.  
  1780. Any subsequent entry will take the current address as a starting
  1781. point.
  1782.  
  1783. E.g.: You want to add 9:888/777.3 of Region 88, Hub 700.
  1784.  
  1785. Please note that there is no need to specify Region and Hub
  1786. information when using the Node and Boss keywords, since:
  1787.  
  1788. - if the point's Boss is included via some other nodelist, the
  1789.  Region and Hub information will be taken from its entry;
  1790.  
  1791. - if the point's Boss is not present in the compiled lists, this
  1792.  point will be removed from the indices (in this case you may
  1793.  want to use two entries for including both the Boss and the
  1794.  point);
  1795.  
  1796.  
  1797. With "Node,...":
  1798.  
  1799. ...
  1800. ...
  1801. Node,9:888/777.3,System,City,SysOp,1-234-555-6666,9600,CM
  1802. ...
  1803. ...
  1804.  
  1805.  
  1806. With "Boss,...":
  1807.  
  1808. ...
  1809. ...
  1810. Boss,9:888/777
  1811. ,3,System,City,SysOp,1-234-555-6666,9600,CM
  1812. ...
  1813. ...
  1814.  
  1815.  
  1816. With the traditional method:
  1817.  
  1818. ...
  1819. ...
  1820. Zone,9,...
  1821. Region,88,...
  1822. Host,888,...
  1823. Hub,700,...
  1824. ,777,...
  1825. Point,3,System,City,SysOp,1-234-555-6666,9600,CM
  1826. ...
  1827. ...
  1828.  
  1829.  
  1830.  
  1831. Now let's add 8:101/611 and 8:101/612 in region 10, hub 600:
  1832.  
  1833. With "Node,...":
  1834. ...
  1835. ...
  1836.  
  1837. Node,8:101/611 10 600,System,City,SysOp,1-234-555-6666,9600,CM
  1838. ,612,System,City,SysOp,1-234-555-6667,9600,CM
  1839. ...
  1840. ...
  1841.  
  1842.  
  1843. With the traditional method:
  1844.  
  1845. ...
  1846. ...
  1847. Zone,8,...
  1848. Region,10,...
  1849. Host,101,...
  1850. Hub,600,...
  1851. ,611,System,City,SysOp,1-234-555-6666,9600,CM
  1852. ,612,System,City,SysOp,1-234-555-6666,9600,CM
  1853. ...
  1854. ...
  1855.  
  1856.  
  1857.  
  1858. ΓòÉΓòÉΓòÉ 5.4. Verbatim Phones ΓòÉΓòÉΓòÉ
  1859.  
  1860.  
  1861.             Verbatim Phones
  1862.  
  1863. When a phone entry contains non-numeric characters, it is taken
  1864. verbatim (i.e. no dial translation is applied to adjust the area
  1865. code and long distance or international prefixes).
  1866.  
  1867. Call defaults are defined by the CostVerbatimPhone statement.
  1868.  
  1869. Note: you might need to change the dots '.' in internet
  1870. addresses to asterisks '*', in order to avoid that the mailer
  1871. (e.g. Binkley) translates them: see TypeDef.
  1872.  
  1873. Examples:
  1874.  
  1875. Internet address:
  1876.  
  1877. ,6,System,City,SysOp,Fantasy.Com,9600,CM,VM
  1878.  
  1879. IP address:
  1880.  
  1881. ,6,System,City,SysOp,123.456.789.012,9600,CM,VM
  1882.  
  1883. Script name:
  1884.  
  1885. ,6,System,City,SysOp,"Fantasy.Scr",9600,CM,V34
  1886.  
  1887. See also the Phone statement.
  1888.  
  1889.  
  1890. ΓòÉΓòÉΓòÉ 5.5. IP addresses (Fido Zone 2 method) ΓòÉΓòÉΓòÉ
  1891.  
  1892.  
  1893.         IP addresses (Fido Zone 2 method)
  1894.  
  1895. The method used in the Zone 2 Fidonet nodelist wants to be
  1896. completely compatible with the past: an IP address is listed so
  1897. that it looks as a normal phone number.
  1898.  
  1899. To avoid PSTN calls to these numbers, an "international" prefix
  1900. of 000 is used.
  1901.  
  1902. The flags specify the type of connections allowed (VModem,
  1903. Telnet, BinkD etc.).
  1904.  
  1905. Example:
  1906.  
  1907. The IP address "194.155.233.455" is listed as
  1908. "000-194-155-233-455", with appropriate flags.
  1909.  
  1910. FastLst changes this "fake phone" string back to
  1911. "194.155.233.455" and then processes it just as if it were
  1912. listed this way in the nodelist.
  1913.  
  1914. All the processing for "Verbatim Phones" is applied, including
  1915. any switch-based phone translation.
  1916.  
  1917.  
  1918. ΓòÉΓòÉΓòÉ 6. Miscellaneous Info ΓòÉΓòÉΓòÉ
  1919.  
  1920.  
  1921.             MISCELLANEOUS INFO
  1922.  
  1923.  
  1924. ΓòÉΓòÉΓòÉ 6.1. Multiple Sysops ΓòÉΓòÉΓòÉ
  1925.  
  1926.  
  1927.             Multiple Sysops
  1928.  
  1929.  
  1930. In the case of SysOps of more than one system, all the
  1931. name/address couples of compiled entries are output to the SysOp
  1932. index.
  1933.  
  1934.  
  1935. ΓòÉΓòÉΓòÉ 6.2. Redirected Systems ΓòÉΓòÉΓòÉ
  1936.  
  1937.  
  1938.             Redirected Systems
  1939.  
  1940.  
  1941. Systems that have no valid phone number (Unpublished, on Hold),
  1942. are redirected, provided you do not exclude redirection using
  1943. the "NoRedir" config keyword.
  1944.  
  1945. A redirected system is given the phone number, baud rate, modem
  1946. type, cost and flags of the preceding coordinator, the Board
  1947. name is prepended with '-R-'.
  1948.  
  1949. If you have a session password with the system to be redirected
  1950. or with the system it should be redirected to, no redirection is
  1951. done in order to prevent password-mismatch errors in the case
  1952. the Unpublished/Hold system calls you.
  1953.  
  1954. Points are never redirected.
  1955.  
  1956. The systems that have no valid phone number and cannot be
  1957. redirected take an EMPTY phone number string, so that your
  1958. mailer does not send unexpected strings to your modem attempting
  1959. to call these systems, should something appear in your outbound
  1960. addressed to them.
  1961.  
  1962. Pay attention: if you want to directly call these
  1963. null_phone-systems or their coordinators, you have to give them
  1964. a phone number using the "Phone" statement in the configuration
  1965. file.
  1966.  
  1967.  
  1968.  
  1969. ΓòÉΓòÉΓòÉ 7. Installation ΓòÉΓòÉΓòÉ
  1970.  
  1971.  
  1972.              INSTALLATION
  1973.  
  1974.  
  1975. 1) There are 3 versions of FastLst:
  1976.  
  1977.   OS/2, W32, DOS 32 (with DOS4GW DOS Extender), distributed in
  1978.   separate archives (see Readme.1st).
  1979.  
  1980.   Choose the one that fits you better.
  1981.  
  1982. 2) Write your FastLst.Cfg.
  1983.   You can find useful examples in the Fast_*.Cfg files and
  1984.   detailed information in the "CFG REFERENCE" section of this
  1985.   documentation.
  1986.  
  1987.  
  1988. 3) Edit your batch file in order to call FastLst whenever you
  1989.   would like to test for the presence of new list/diff files
  1990.   and process them. If you do not pass a different pathname as
  1991.   a command line parameter, FastLst.Cfg must reside in the
  1992.   current directory.
  1993.  
  1994.  
  1995. 4) (OS/2): Make sure you have the MSGAPI32.DLL in a directory
  1996.    contained in your LIBPATH. MSGAPI32.DLL can be found in the
  1997.    Squish 1.11 archive (SQSHP111.LZH).
  1998.  
  1999.  
  2000.   (W32): Make sure you have the MSGAPINT.DLL in a directory
  2001.    contained in your PATH. MSGAPINT.DLL can be found in the
  2002.    Max 3.01 for Windows archive (MAX301N.ZIP).
  2003.  
  2004.  
  2005.   (DOS32): Make sure you have the DOS4GW.EXE Dos extender (from
  2006.    Tenberry Software Inc.) in your path.
  2007.  
  2008.    The DOS4GW extender requires an XMS or DPMI memory driver
  2009.    installed in your config.sys: e.g. HIMEM.SYS, QEMM (by
  2010.    QuarterDeck Office Systems Inc.).
  2011.  
  2012.  
  2013. 5) FastLst requires a lot of memory to compile long nodelists.
  2014.  
  2015.   A set of input nodelists totalling 60,000 nodes requires
  2016.   approximately 12MB for V7+ "in memory" compilation, 7MB when
  2017.   using "on disk" DTP linking and 4.5MB for simple V7.
  2018.  
  2019.   You have to decide whether to use the "LinkOnDisk"
  2020.   statement in the configuration file. If you have enough
  2021.   physical memory available you should use the default "in
  2022.   memory" mode. On the other hand, if the execution of FastLst
  2023.   is excessively slow, you probably are low on memory and you
  2024.   could benefit by the use of "on disk" DTP linking.
  2025.  
  2026.   (DOS): Even if "in memory" DTP linking is
  2027.    configured, FastLst automatically switches to "on disk"
  2028.    mode if it cannot allocate the needed memory.
  2029.  
  2030.    If you experience "out of memory" errors, then you have to
  2031.    enable the DOS4GW virtual memory mode, using the DOS4GVM
  2032.    environment variable (e.g. for 16MB virtual allocation
  2033.    size: SET DOS4GVM=VirtualSize#16384).
  2034.  
  2035.    This works under real Dos only: if you are using OS/2 dos
  2036.    sessions, use a higher DPMI_MEMORY_LIMIT in the Dos
  2037.    settings.
  2038.  
  2039.    Please note that FastLst tells you (on screen, in the
  2040.    logs, in the report message) how much memory remains during
  2041.    compilation, so that you can realize when you are running
  2042.    in marginal conditions and consequently adjust your
  2043.    configuration before you run out of memory.
  2044.  
  2045.  
  2046. ΓòÉΓòÉΓòÉ 8. Command Line Switches ΓòÉΓòÉΓòÉ
  2047.  
  2048.  
  2049.            COMMAND LINE SWITCHES
  2050.  
  2051.  
  2052. -c<cfg>
  2053.     Use <cfg> configuration file instead of FASTLST.CFG.
  2054.  
  2055. -f
  2056.     Force compilation even if no new list/diff has been
  2057.     detected.
  2058.  
  2059. -i
  2060.     Ignore FastLst.Dat: run as if it were the first time.
  2061.     All nodelists compiled, all exports executed.
  2062.  
  2063. -p
  2064.     Prepare: Unarc new lists and diffs, Apply diffs and Arc
  2065.     new nodelists, do not compile nodelists.
  2066.  
  2067. -r
  2068.     When applying a diff, FastLst usually deletes the newly
  2069.     generated source nodelist file if a CRC error is
  2070.     detected. With this switch the new nodelist is _not_
  2071.     deleted, so that it will be processed anyway.
  2072.  
  2073.     When compiling a list, FastLst usually aborts the
  2074.     compilation of the current output nodelist if a CRC
  2075.     error is detected. With this switch the current output
  2076.     nodelist will be entirely compiled anyway.
  2077.  
  2078. -h or -?
  2079.     for help
  2080.  
  2081.  
  2082. ΓòÉΓòÉΓòÉ 9. Errorlevels ΓòÉΓòÉΓòÉ
  2083.  
  2084.  
  2085.              ERRORLEVELS
  2086.  
  2087.  
  2088.  0 - Normal termination, something compiled
  2089.  1 - Help requested
  2090.  2 - File Open error
  2091.  3 - Abnormal termination
  2092.  4 - Disk Full
  2093.  5 - Can't find config file
  2094.  6 - Configuration error
  2095.  7 - Out of memory
  2096.  8 - Read error while applying diff
  2097.  9 - CRC error (applying diff)
  2098.  10 - CRC error (compiling list)
  2099.  11 - User Break
  2100.  12 - Cannot rename temporary output nodelist files
  2101.  13 - Cannot open source nodelist file
  2102.  14 - Timeout waiting on V7+ semaphore
  2103.  15 - Too many nodelists in inbound directories
  2104.  16 - Nothing found after unarchiving a fixed-name nodelist
  2105.  17 - Error Linking output files
  2106.  
  2107. 100 - Normal termination, nothing compiled
  2108.  
  2109. 250 - MsgApi: Init Error
  2110. 251 - MsgApi: Area Open Error
  2111. 252 - MsgApi: Area Lock Error
  2112. 253 - MsgApi: Area Close Error
  2113.  
  2114.  
  2115. ΓòÉΓòÉΓòÉ 10. Configuration ΓòÉΓòÉΓòÉ
  2116.  
  2117.  
  2118.              CONFIGURATION
  2119.  
  2120.  
  2121. Before analyzing the cfg keywords in detail, let's introduce the
  2122. overall mechanism that is at the basis of FastLst's
  2123. configuration.
  2124.  
  2125. If you are converting from a different nodelist compiler, please
  2126. forget the old configuration and start from scratch.
  2127.  
  2128. FastLst.Cfg is divided into several logical blocks and the
  2129. sequence of the various statements is essential: you cannot just
  2130. put keywords somewhere in the config file; they must be arranged
  2131. in the correct order.
  2132.  
  2133. At first, this characteristic of FastLst's configuration might
  2134. appear complex to understand, but, as soon as you will grasp its
  2135. logic, you will understand that it's really easy to write a
  2136. correct configuration file and you will appreciate its
  2137. extraordinary flexibility.
  2138.  
  2139. The first block of configuration is the "Global" one.
  2140. The verbs in this block refer to the compilation of all the
  2141. nodelists.
  2142.  
  2143. Then there are one or more "Output Blocks": each output block
  2144. refers to the compilation of a single nodelist (e.g.
  2145. NODEX.*).
  2146.  
  2147. Each "Output Block" has a "Output section" (with statements
  2148. regarding the compilation of the whole <NODEX>.* list) and one
  2149. or more "Input blocks" containing the verbs that describe how to
  2150. compile each of the source nodelists.
  2151.  
  2152. The first "Output Block" can optionally be of a special kind: a
  2153. "NoCompile" block, whose "Input Blocks" describe nodelists that
  2154. must be maintained (e.g. diffs applied) but not compiled to any
  2155. <NODEX>.* list.
  2156.  
  2157. Some statements can be used in blocks of a particular type only,
  2158. others can be used in many different places depending on what
  2159. nodelists you want to be affected. As a rule of thumb, you can
  2160. use each statement anywhere it seems to be logically acceptable.
  2161.  
  2162. If you feel frightened by such abstract considerations, please
  2163. take a look at the example Fast*.Cfg files, so that you can
  2164. quickly realize it's not that difficult.
  2165.  
  2166. To write your own configuration file you should start modifying
  2167. the example one that is more adequate to your needs.
  2168.  
  2169. Now, let's consider all the verbs that are allowed in FastLst's
  2170. configuration.
  2171.  
  2172.  
  2173. ΓòÉΓòÉΓòÉ 11. Cfg Reference ΓòÉΓòÉΓòÉ
  2174.  
  2175.  
  2176.              CFG REFERENCE
  2177.  
  2178.  
  2179.  
  2180. - Items between square brackets (e.g. [<item>]) are optional.
  2181.  
  2182. - The names of the various Keywords are NOT case sensitive.
  2183.  
  2184. - When a directory path is required, the trailing backslash '\'
  2185.  is optional.
  2186.  
  2187. - The ';' character starts comments: any character following the
  2188.  ';' is ignored, unless inside quoted strings.
  2189.  
  2190. - The maximum length of configuration lines is 254 characters,
  2191.  so don't go further (you can always split address lists into
  2192.  smaller ones).
  2193.  
  2194. - In the OS/2 version, any file specification can be a legal
  2195.  OS/2 name, between double quotes if necessary.
  2196.  
  2197. - Environment variables can be used anywhere in the
  2198.  configuration files.
  2199.  
  2200.  Variable names must be at least 2 character long, are preceded
  2201.  by '%' and followed by either '%' or space.
  2202.  
  2203.  Environment variable may also be nested.
  2204.  
  2205.  To specify a '%' character, write two of them "%%".
  2206.  
  2207.  Example:
  2208.  
  2209.   in a batch:    SET BBSPATH=d:\bbs\
  2210.  
  2211.   in FastLst.Cfg:  StatusLog %BBSPATH%log\fastlst.log
  2212.  
  2213.   expands to:    StatusLog d:\bbs\log\fastlst.log
  2214.  
  2215.  Nested Example:
  2216.  
  2217.   in a batch:
  2218.     SET BBSLOGS=%%BBSPATH%%log\
  2219.     SET BBSPATH=d:\bbs\
  2220.  
  2221.   in FastLst.Cfg:  StatusLog %BBSLOGS%fastlst.log
  2222.  
  2223.   expands to:    StatusLog d:\bbs\log\fastlst.log
  2224.  
  2225.  
  2226. ATTENTION
  2227.  
  2228. Please, note that the order of the configuration statements
  2229. follows some logical rule. In order not to create confusion in
  2230. the .cfg file and not to break some _necessary_ order relation,
  2231. please follow the scheme proposed in the example Fast*.CFG files
  2232. and in this reference documentation.
  2233.  
  2234. Please, be aware that the generation of text files (FidoTxt,
  2235. FidoPrn, FidoUserLst verbs) and the use of lots of options and
  2236. overrides can slow down the compilation process: use only the
  2237. options/overrides that you really need if you mind compilation
  2238. time.
  2239.  
  2240.  
  2241. ΓòÉΓòÉΓòÉ 11.1. Include ΓòÉΓòÉΓòÉ
  2242.  
  2243.  
  2244. Include <filename>
  2245.  
  2246.  You can split the configuration into multiple files, including
  2247.  them via this statement, which can be used everywhere and
  2248.  nested without limits.
  2249.  
  2250.  
  2251. ΓòÉΓòÉΓòÉ 11.2. Global ΓòÉΓòÉΓòÉ
  2252.  
  2253.              G L O B A L
  2254.  
  2255.  
  2256. The following verbs can be used in the Global section of
  2257. FastLst.cfg. Some of them can be used in other places also, so
  2258. they are divided into separate sections.
  2259.  
  2260.  
  2261.  
  2262.  
  2263. ΓòÉΓòÉΓòÉ 11.2.1. Section A ΓòÉΓòÉΓòÉ
  2264.  
  2265.              G L O B A L
  2266.  
  2267.               Section A
  2268.  
  2269.  
  2270.  
  2271. The following configuration verbs can be used in the GLOBAL
  2272. section of FastLst.Cfg.
  2273.  
  2274.  
  2275. ΓòÉΓòÉΓòÉ 11.2.1.1. RegKey ΓòÉΓòÉΓòÉ
  2276.  
  2277.  
  2278. RegKey <RegKey>
  2279.  
  2280.     Registered Users only: <RegKey> is the registration key
  2281.     and it is NOT case sensitive.
  2282.  
  2283.   Example:
  2284.  
  2285.     RegKey dfhyuwru6274623
  2286.  
  2287.  
  2288. ΓòÉΓòÉΓòÉ 11.2.1.2. Priority ΓòÉΓòÉΓòÉ
  2289.  
  2290.  
  2291. Priority <type> [<level>]
  2292.  
  2293.     Changes the execution priority of the FastLst process
  2294.     (OS/2 only).
  2295.  
  2296.     Ignored by NT and DOS versions.
  2297.  
  2298.     <type> is one of: Idle Regular High
  2299.  
  2300.     <level> is an integer in the range 0...31 and defaults
  2301.     to 0.
  2302.  
  2303.     If you do not use this statement, FastLst will run at
  2304.     the default priority, which normally is "Regular 0".
  2305.  
  2306.   Examples:
  2307.  
  2308.     Priority High 31
  2309.  
  2310.      Gives Fastlst the highest priority for "non
  2311.      time-critical" processes. It will run fast even if it
  2312.      is in the background and other processes are active.
  2313.  
  2314.  
  2315.     Priority Idle
  2316.  
  2317.      Gives FastLst the lowest priority, so that it loads
  2318.      the system as minimally as possible. It will run
  2319.      significantly slower, especially if in the background
  2320.      or when other CPU intensive processes are in
  2321.      execution.
  2322.  
  2323.  
  2324. ΓòÉΓòÉΓòÉ 11.2.1.3. StatusLog ΓòÉΓòÉΓòÉ
  2325.  
  2326.  
  2327. StatusLog <LogFile>
  2328.  
  2329.     <LogFile> is the name of the file where all the
  2330.     operations performed by FastLst will be logged,
  2331.     following the "Binkley Style".
  2332.  
  2333.     In multitasking environments, please be sure to use a
  2334.     file that cannot be used by other processes at the same
  2335.     time. For example: if (in your system) FastLst can be
  2336.     executed while Binkley is running, please use different
  2337.     log files.
  2338.  
  2339.     Should you not want the log file, you can comment this
  2340.     keyword out.
  2341.  
  2342.   Example:
  2343.  
  2344.     StatusLog d:\bbs\log\FastLst.log
  2345.  
  2346.  
  2347. ΓòÉΓòÉΓòÉ 11.2.1.4. CompressCfg ΓòÉΓòÉΓòÉ
  2348.  
  2349.  
  2350. CompressCfg <compress_cfg>
  2351.  
  2352.     This is a "Squish style" compress definition file.
  2353.  
  2354.     In the case you are using a case-sensitive
  2355.     de/compression program (e.g. OS/2 ZIP/UNZIP), please
  2356.     make sure to use the correct switches in <compress_cfg>
  2357.     and/or the correct case (Lower/Upper) in <NodeList> and
  2358.     <NodeDiff> specifications.
  2359.  
  2360.     You can find the suggested <compress_cfg> in the example
  2361.     Compress.Cfg file included in the FastLst pack.
  2362.  
  2363.     If you are already using Squish and/or Maximus, you can
  2364.     just specify the name of their compress.cfg (but do
  2365.     check that they indicate the necessary switches to avoid
  2366.     case sensitiveness during extraction).
  2367.  
  2368.     Refer to the "Compress Definition File" section at the
  2369.     end of this document for the syntax of <compress_cfg>.
  2370.  
  2371.  
  2372. ΓòÉΓòÉΓòÉ 11.2.1.5. InputPath ΓòÉΓòÉΓòÉ
  2373.  
  2374.  
  2375. InputPath <NodeDir>
  2376.  
  2377.     Specifies the default path for input files (source
  2378.     nodelists/nodediffs). You can override it by using a
  2379.     full pathname in input-file specifications.
  2380.  
  2381.     Created if not existing.
  2382.  
  2383.   Example:
  2384.  
  2385.     InputPath d:\bbs\nodelist\
  2386.  
  2387.  
  2388. ΓòÉΓòÉΓòÉ 11.2.1.6. ArcPath ΓòÉΓòÉΓòÉ
  2389.  
  2390.  
  2391. ArcPath <ArcNodeDir>
  2392.  
  2393.     Specifies the default path for Archived nodelist files.
  2394.     It usually points to the file area where your TIC
  2395.     processor moves the inbound nodelist archives.
  2396.  
  2397.     You can override it by using a full pathname in
  2398.     Archived-file specifications.
  2399.  
  2400.   Example:
  2401.  
  2402.     ArcPath d:\bbs\file\nodelist\
  2403.  
  2404.  
  2405. ΓòÉΓòÉΓòÉ 11.2.1.7. ArcDate ΓòÉΓòÉΓòÉ
  2406.  
  2407.  
  2408. ArcDate Write|Creation
  2409.  
  2410.   (OS/2)
  2411.     Selects the date to be used for computing the age of
  2412.     fixed-name archived nodelist files.
  2413.  
  2414.     This setting is useful for HPFS (which has separate
  2415.     Write and Creation dates) and ignored for FAT.
  2416.  
  2417.     If not specified, "Creation" is assumed.
  2418.  
  2419.     Attention: in order to avoid problems in the case the
  2420.     date has been corrupted during the transfer of the file,
  2421.     it is best to choose the same date that your mailer sets
  2422.     as "receive/upload" date or that is touched by your TIC
  2423.     processor.
  2424.  
  2425.   Examples:
  2426.  
  2427.     ArcDate Write    ; Use the Write date
  2428.     ArcDate Creation   ; same as default
  2429.  
  2430.  
  2431. ΓòÉΓòÉΓòÉ 11.2.1.8. MultiLineDesc ΓòÉΓòÉΓòÉ
  2432.  
  2433.  
  2434. MultiLineDesc <nnn> [<c>]
  2435.  
  2436.     By default, files.bbs description must be on a single
  2437.     line; this statement enables Multi-Line support.
  2438.  
  2439.     <nnn> is the number of spaces that must precede the
  2440.     continuation lines.
  2441.  
  2442.     <c> is the continuation character.
  2443.  
  2444.     If <c> is NOT specified, it is assumed that the
  2445.     continuation lines must be preceded by <nnn> spaces.
  2446.  
  2447.     If <c> IS specified, it is assumed that the continuation
  2448.     lines must be preceded by <nnn> spaces, the <c>
  2449.     character and one more space.
  2450.  
  2451.     For example, to have the 2nd and following description
  2452.     lines in files.bbs start at the 32nd column, use:
  2453.  
  2454.     MultiLineDesc 31
  2455.  
  2456.     A description in files.bbs would be like:
  2457.  
  2458.     Test.Zip This is the first description line
  2459.                     this is the 2nd line
  2460.                     this is the 3rd line
  2461.     ^               ^^
  2462.     1              31  32
  2463.  
  2464.     To have the continuation lines preceded by a '|'
  2465.     character, use:
  2466.  
  2467.     MultiLineDesc 29 |
  2468.  
  2469.     A description in files.bbs would be like:
  2470.  
  2471.     Test.Zip This is the first description line
  2472.                    | this is the 2nd line
  2473.                    | this is the 3rd line
  2474.     ^              ^  ^
  2475.     1              29  32
  2476.  
  2477.  
  2478. ΓòÉΓòÉΓòÉ 11.2.1.9. KillAfter ΓòÉΓòÉΓòÉ
  2479.  
  2480.  
  2481. KillAfter
  2482.  
  2483.     Old output files are killed after the new ones have been
  2484.     successfully written.
  2485.  
  2486.     The new output files are written to temporary names,
  2487.     then the old ones are killed and the new ones renamed
  2488.     (and FastLst retries for 30s in case of error, to be
  2489.     multitasking smart).
  2490.  
  2491.     Thus you will always have a valid compiled nodelist,
  2492.     even in the case of a compilation error and consequent
  2493.     compile abortion. Besides, your multitasking system can
  2494.     continue operations while FastLst is working. On the
  2495.     other hand you might need some more spare disk space to
  2496.     hold the old and new files during compilation.
  2497.  
  2498.  
  2499. ΓòÉΓòÉΓòÉ 11.2.1.10. KillSource ΓòÉΓòÉΓòÉ
  2500.  
  2501.  
  2502. KillSource
  2503.  
  2504.     Tells FastLst to kill all uncompressed nodelists (that
  2505.     are also available in archived format) before
  2506.     terminating.
  2507.  
  2508.     Please note that FastLst deletes a source nodelist only
  2509.     if the ArcList statement is defined.
  2510.  
  2511.     Besides, when the NodeDiff statement is used, an
  2512.     ArcMethod must be defined to allow the deletion of the
  2513.     nodelist.
  2514.  
  2515.     When no NodeDiff is defined, FastLst assumes that the
  2516.     uncompressed NodeList has been extracted from a
  2517.     corresponding archive.
  2518.  
  2519.  
  2520. ΓòÉΓòÉΓòÉ 11.2.1.11. BeforeKillSource ΓòÉΓòÉΓòÉ
  2521.  
  2522.  
  2523. BeforeKillSource <command>
  2524.  
  2525.     This statement is used to invoke a command of your
  2526.     choice before the source nodelists are killed, upon
  2527.     FastLst completion.
  2528.  
  2529.     <command> is executed even if "KillSource" is not used.
  2530.     It is a means of invoking a command before FastLst ends.
  2531.  
  2532.     The "NeededBeforeKill" verb must be used to specify the
  2533.     NodeLists needed by this command: if one of these
  2534.     nodelists is found new, then this command is invoked
  2535.     after decompressing all the nodelists that have the
  2536.     "NeededBeforeKill" attribute (and have not been
  2537.     decompressed yet).
  2538.  
  2539.     IMPORTANT: <command> is executed ONLY if some nodelist
  2540.     affected by a "NeededBeforeKill" verb has been detected
  2541.     as new.
  2542.  
  2543.     <command> can be any command that is valid for the
  2544.     command interpreter specified in your COMSPEC
  2545.     environment variable.
  2546.  
  2547.     If <command> invokes an executable file, it is loaded
  2548.     and executed directly; otherwise your command
  2549.     interpreter is invoked, so that you can execute a batch
  2550.     file or any other valid command.
  2551.  
  2552.     No variable parameters are supported.
  2553.  
  2554.  
  2555. ΓòÉΓòÉΓòÉ 11.2.1.12. Dash2Comma ΓòÉΓòÉΓòÉ
  2556.  
  2557.  
  2558. Dash2Comma
  2559.  
  2560.     Change dashes to commas in the phone numbers.
  2561.  
  2562.     Useful for people that are still connected to ancient
  2563.     "rotary pulse" electromechanic telephone exchanges.
  2564.  
  2565.  
  2566. ΓòÉΓòÉΓòÉ 11.2.1.13. NoReport ΓòÉΓòÉΓòÉ
  2567.  
  2568.  
  2569. NoReport
  2570.  
  2571.     Do not output nodelist statistics
  2572.  
  2573.  
  2574. ΓòÉΓòÉΓòÉ 11.2.1.14. NoRedir ΓòÉΓòÉΓòÉ
  2575.  
  2576.  
  2577. NoRedir
  2578.  
  2579.     Nodes that do not have a valid phone number (Hold,
  2580.     Unpublished) are usually redirected to their
  2581.     coordinators.
  2582.  
  2583.     When this verb is used, redirection does not take place
  2584.     and the node is given an empty phone number, so that you
  2585.     never call a system different from that you think you
  2586.     are calling.
  2587.  
  2588.     Please note that (even with no NoRedir verb):
  2589.     - points are never redirected;
  2590.     - if you have a password with a system or its
  2591.      coordinator, this node will never be redirected.
  2592.  
  2593.  
  2594. ΓòÉΓòÉΓòÉ 11.2.1.15. V7BugFix ΓòÉΓòÉΓòÉ
  2595.  
  2596.  
  2597. V7BugFix
  2598.  
  2599.     Circumvents a bug with V7 nodelist in Binkley 2.50 (and
  2600.     perhaps in many other programs whose V7 search function
  2601.     was inspired by Binkley's sources) that can sometimes
  2602.     hide segments of V7 nodelist.
  2603.  
  2604.     Binkley 2.60 is OK, but some other programs may not: if
  2605.     you are unsure, keep this keyword active.
  2606.  
  2607.  
  2608. ΓòÉΓòÉΓòÉ 11.2.1.16. MsgLogArea ΓòÉΓòÉΓòÉ
  2609.  
  2610.  
  2611. MsgLogArea <path> [-$]
  2612.  
  2613.     Some information about the compilation can be reported
  2614.     to a fido or squish message area.
  2615.  
  2616.     <path> indicates a message area for reporting
  2617.         compilation logs.
  2618.  
  2619.     -$   specifies that the area is in Squish format;
  2620.         otherwise it is assumed to be *.MSG.
  2621.  
  2622.     The "MsgLog" and "LogStats" statements can be used
  2623.     to add some information that is not reported by default.
  2624.  
  2625.   Examples:
  2626.  
  2627.     MsgLogArea \bbs\mail\net -$
  2628.     MsgLogArea \bbs\mail\net\
  2629.  
  2630.  
  2631. ΓòÉΓòÉΓòÉ 11.2.1.17. MsgRemArea ΓòÉΓòÉΓòÉ
  2632.  
  2633.  
  2634. MsgRemArea <path> [-$]
  2635.  
  2636.     The comments found in the compiled nodelists can be
  2637.     selectively reported to a fido or squish message area.
  2638.  
  2639.     <path> indicates a message area for reporting
  2640.         compilation logs.
  2641.  
  2642.     -$   specifies that the area is in Squish format;
  2643.         otherwise it is assumed to be *.MSG.
  2644.  
  2645.     The "MsgRem" statement (see Global Section C) MUST be
  2646.     used to specify which types of comments you want to be
  2647.     reported.
  2648.  
  2649.     Please note that no comments are reported if no "MsgRem"
  2650.     statement is used.
  2651.  
  2652.   Examples:
  2653.  
  2654.     MsgRemArea \bbs\mail\net -$
  2655.     MsgRemArea \bbs\mail\net\
  2656.  
  2657.  
  2658. ΓòÉΓòÉΓòÉ 11.2.1.18. MsgFromNode/MsgToNode ΓòÉΓòÉΓòÉ
  2659.  
  2660.  
  2661. MsgFromNode <address>
  2662. MsgToNode <address>
  2663.  
  2664.     Specify the addresses for the created messages.
  2665.  
  2666.     <address> is a 4D address.
  2667.  
  2668.   Example:
  2669.  
  2670.     MsgFromNode 2:332/504
  2671.     MsgToNode  2:332/504.1
  2672.  
  2673.  
  2674. ΓòÉΓòÉΓòÉ 11.2.1.19. MsgTo ΓòÉΓòÉΓòÉ
  2675.  
  2676.  
  2677. MsgTo <name>
  2678.  
  2679.     Specifies the name of the addressee of the created
  2680.     messages.
  2681.  
  2682.   Example:
  2683.  
  2684.     MsgTo Alberto Pasquale
  2685.  
  2686.  
  2687. ΓòÉΓòÉΓòÉ 11.2.1.20. MsgAttr ΓòÉΓòÉΓòÉ
  2688.  
  2689.  
  2690. MsgAttr <attributes>
  2691.  
  2692.     Specifies the attributes for the created messages.
  2693.  
  2694.     <attributes> can be a (not case sensitive) combination
  2695.     of:
  2696.  
  2697.     P : Private
  2698.     K : Kill/Sent
  2699.     C : Crash
  2700.     H : Hold
  2701.     D : Direct (crash + hold in squish messages)
  2702.  
  2703.   Examples:
  2704.  
  2705.     MsgAttr P
  2706.     MsgAttr pk
  2707.  
  2708.  
  2709. ΓòÉΓòÉΓòÉ 11.2.1.21. MsgSize ΓòÉΓòÉΓòÉ
  2710.  
  2711.  
  2712. MsgSize <bytes>
  2713.  
  2714.     Specifies the maximum size of a single message: after
  2715.     this length, the message is split.
  2716.  
  2717.     Defaults to 7K, greater values are recommended, so that
  2718.     the message is not divided into too many parts.
  2719.  
  2720.   Example:
  2721.  
  2722.     MsgSize 60000
  2723.  
  2724.  
  2725. ΓòÉΓòÉΓòÉ 11.2.1.22. CostNullPhone ΓòÉΓòÉΓòÉ
  2726.  
  2727.  
  2728. CostNullPhone <Cost> [<UCost>]
  2729.  
  2730.     Specifies the costs to be assigned to nodes with empty
  2731.     (unpublished, etc.) phone number.
  2732.  
  2733.     <Cost> is the "call cost" .
  2734.     <UCost> is the "user cost" (fee for netmail messages).
  2735.  
  2736.     <UCost> defaults to <Cost>.
  2737.  
  2738.     If CostNullPhone is not used, <Cost> defaults to 65535
  2739.     and <UCost> to 0.
  2740.  
  2741.   Example:
  2742.  
  2743.     CostNullPhone 1000 0
  2744.  
  2745.   Note:
  2746.  
  2747.     Some programs might have bugs that cause problems
  2748.     dealing with high costs (such as the default 65535).
  2749.     Should you experience problems with entries that have a
  2750.     "NullPhone", try setting a lower cost e.g.
  2751.     "CostNullPhone 900 0".
  2752.  
  2753.  
  2754. ΓòÉΓòÉΓòÉ 11.2.1.23. CostVerbatimPhone ΓòÉΓòÉΓòÉ
  2755.  
  2756.  
  2757. CostVerbatimPhone <Cost> [<UCost>]
  2758.  
  2759.     Specifies the costs to be assigned to nodes that have
  2760.     a verbatim phone specification.
  2761.  
  2762.     <Cost> is the "call cost" .
  2763.     <UCost> is the "user cost" (fee for netmail messages).
  2764.  
  2765.     <UCost> defaults to <Cost>.
  2766.  
  2767.     If the statement is not used, both costs default to 0.
  2768.  
  2769.   Example:
  2770.  
  2771.     CostVerbatimPhone 10 0
  2772.  
  2773.  
  2774. ΓòÉΓòÉΓòÉ 11.2.1.24. Dial/Cost Table ΓòÉΓòÉΓòÉ
  2775.  
  2776.  
  2777.          Dial/Cost translation Table
  2778.  
  2779.  
  2780. With this table you specify the dial translations and the costs
  2781. to be applied depending on the phone number.
  2782.  
  2783. Note: This table is not used against "Verbatim Phones".
  2784.  
  2785. The table begins with "Dial" and ends with the "End" keyword.
  2786.  
  2787. Each entry has the following format:
  2788.  
  2789. <PartPhone> <PreSuf> [<Costs>]
  2790.  
  2791.  
  2792. The following two keywords allow to specify groups of exchanges
  2793. that must be handled by a certain dial table entry:
  2794.  
  2795.  
  2796. LocalValues <PartPhone> <PreSuf> [<Costs>]
  2797.  
  2798.     This keyword is provided for clarity only: it is
  2799.     taken just as a normal specification with no
  2800.     heading "LocalValues".
  2801.  
  2802.  
  2803. LocalExchanges <num> ...
  2804.  
  2805.     Lists all the exchanges that must be handled as per the
  2806.     preceding dial translation entry (which may be preceded
  2807.     by the "LocalValues" keyword for clarity).
  2808.  
  2809.     Please remember that the line length is limited to 254
  2810.     characters.
  2811.  
  2812.     You can use multiple "LocalExchanges <num> ..."
  2813.     statements if you like short lines or need more than
  2814.     254 characters.
  2815.  
  2816.     Please note that all numbers that (after <PartPhone>
  2817.     stripping) begin with <num> are considered local.
  2818.     For example, if 220, 221, 222, 223, 224, 225, 226, 227,
  2819.     228, 229 are all local exchanges, you can indicate 22 to
  2820.     include them all.
  2821.  
  2822.  
  2823. The use of these two statements in the place of a long list of
  2824. normal table lines (one for each local exchange) should also
  2825. speed up the processing of all the nodelist entries that are not
  2826. in your area code.
  2827.  
  2828.  
  2829.  
  2830. <PartPhone>
  2831.     is a partial phone number to be matched with the initial
  2832.     part of nodelist entries. The dashes are ignored. The
  2833.     <PartPhone> of the last entry must be a single dash "-",
  2834.     to mean that all the remaining numbers will take the
  2835.     parameters specified there.
  2836.  
  2837. <PreSuf>
  2838.     can be one of:
  2839.       a: <Prefix>
  2840.       b: /<Suffix>
  2841.       c: <Prefix>/<Suffix>
  2842.       d: /
  2843.  
  2844.     <PartPhone> is stripped from numbers beginning with it,
  2845.     then <PreSuf> is used to prepend/append the specified
  2846.     strings to the remainder.
  2847.  
  2848.     Case a: <Prefix> is prepended.
  2849.         e.g.: "39- 0"
  2850.         strips "39-" and adds "0" at the beginning of
  2851.         the number.
  2852.  
  2853.     Case b: <Suffix> is appended.
  2854.         e.g.: "39-59- /!"
  2855.         strips "39-59-" and adds "!" at the end of the
  2856.         number.
  2857.  
  2858.     Case c: <Prefix> is prepended and <Suffix> appended.
  2859.         e.g.: "39- 0/!"
  2860.         strips "39-", adds "0" at the beginning and "!"
  2861.         at the end.
  2862.  
  2863.     Case d: Nothing is prepended nor appended.
  2864.         e.g.: "/"
  2865.         The slash is needed to allow the correct
  2866.         interpretation of the subsequent fields.
  2867.  
  2868.     No spaces are allowed between prefix, suffix and the
  2869.     separating slash.
  2870.  
  2871. <Costs>
  2872.  
  2873. You can specify up to 4 cost fields:
  2874.  
  2875. <Cost> [<UCost> [<DigCost> [<DigUCost>]]]
  2876.  
  2877. Each one has a range 0-65535.
  2878.  
  2879. <Cost>   is the Call cost, default: 65535.
  2880. <UCost>   is the User cost, default: <Cost>.
  2881. <DigCost>  is the Digital Call cost, default: <Cost>.
  2882. <DigUCost> is the Digital User cost.
  2883.  
  2884. <DigUCost> defaults to <DigCost> if it is specified, otherwise
  2885. it defaults to <UCost>.
  2886.  
  2887. If you like your users to send netmail messages from the BBS
  2888. with no need for "credits", you should set <UCost> and
  2889. <DigUCost> to 0.
  2890.  
  2891. When searching for "PartPhone", the first matching entry is
  2892. applied: in the case of entries with an initial part in common,
  2893. you have to specify them in sequence from the longest to the
  2894. shortest. If no match is possible, the last line specifies the
  2895. default (thereby international) parameters.
  2896.  
  2897. WARNING: This table CANNOT be left totally empty: it must
  2898. contain at least the default entry  "- [<PreSuf>]".
  2899.  
  2900.  
  2901.   Example 1a/b/c (North American viewpoint):
  2902.  
  2903.     There are some groups of phone numbers:
  2904.  
  2905.     1 - Local numbers.
  2906.       These are usually "toll free" numbers.
  2907.       As a rule of thumb, you must only dial the local
  2908.       number, stripping the Country Code "1" and the
  2909.       Area Code.
  2910.       In the case you live at the crossroads of two or
  2911.       more area codes, it is possible that you have local
  2912.       numbers in area codes that you must _not_ strip.
  2913.  
  2914.     2 - Area Code numbers.
  2915.       They have your same Area Code but they are long
  2916.       distance.
  2917.       As far as I know, there are many different
  2918.       situations regarding the need to dial the long
  2919.       distance access code "1" and the Area Code.
  2920.       In any case you usually want to differentiate costs.
  2921.  
  2922.       The Country "1" and Area Codes must be stripped and
  2923.       replaced by:
  2924.  
  2925.       (a) the long distance access code "1"
  2926.       (b) the long distance access code "1" +
  2927.         the Area Code
  2928.       (c) nothing
  2929.  
  2930.       In case (b) the number really remains untouched.
  2931.  
  2932.       Even if the Country Code for USA/Canada "1" is
  2933.       numerically equal to your long distance acces code,
  2934.       they are conceptually quite different, and so they
  2935.       will be treated.
  2936.  
  2937.     3 - Domestic numbers.
  2938.       USA/Canada numbers, with a leading "1", that is the
  2939.       international Country Code for USA and Canada.
  2940.       They must be left untouched, since the american long
  2941.       distance access code is equal to the international
  2942.       Country Code for North America.
  2943.  
  2944.     4 - International numbers.
  2945.       These are numbers out of USA and Canada.
  2946.       They must be prefixed by "011", that is the
  2947.       international access code.
  2948.  
  2949.     And now let's see how to achieve our goal using
  2950.     FastLst's Dial Table.
  2951.  
  2952.  
  2953.  
  2954.   Example 1a:
  2955.  
  2956.     Let's suppose:
  2957.  
  2958.     - we are in Area Code 414
  2959.     - the 414 must be stripped for LD calls
  2960.     - the local exchanges are 231, 232, 233, 235, 236, 424
  2961.  
  2962.  
  2963.         Dial
  2964.                 ; strip 1-414- from local numbers, do not add
  2965.                 ; a prefix, set call and user costs to 0.
  2966.  
  2967.           LocalValues 1-414- / 0
  2968.           LocalExchanges 231 232 233 235 236 424
  2969.  
  2970.                 ; Remaining "1-414-" numbers are long distance:
  2971.                 ; strip the 414 Area Code and assign costs = 25.
  2972.  
  2973.           1-414-  1-  25
  2974.  
  2975.                 ; Remaining "1-" numbers are Domestic Long
  2976.                 ; Distance.
  2977.                 ; Set costs to 50
  2978.  
  2979.           1-      1-  50
  2980.  
  2981.                 ; Remaining numbers are international.
  2982.                 ; Prepend 011 and set call cost to 250 and
  2983.                 ; user cost to 500
  2984.  
  2985.           -       011 250 500
  2986.         End
  2987.  
  2988.  
  2989.  
  2990.  
  2991.   Example 1b:
  2992.  
  2993.     Let's suppose:
  2994.  
  2995.     - we are in Area Code 604
  2996.     - the 604 must NOT be stripped for LD calls
  2997.     - the local exchanges are 220 221 222 224 228 230 231
  2998.      240 241 244 250 251 252 253 254 255 257 258 261 263
  2999.      264 266
  3000.  
  3001.  
  3002.         Dial
  3003.                 ; strip 1-604- from local numbers, do not add
  3004.                 ; a prefix, set call and user costs to 0.
  3005.  
  3006.           LocalValues 1-604- / 0
  3007.           LocalExchanges 220 221 222 224 228 230 231 240
  3008.           LocalExchanges 241 244 250 251 252 253 254 255
  3009.           LocalExchanges 257 258 261 263 264 266
  3010.  
  3011.                 ; Remaining "1-604-" numbers are long distance:
  3012.                 ; assign costs = 25.
  3013.  
  3014.           1-604-  1-604-  25
  3015.  
  3016.                 ; Remaining "1-" numbers are Domestic Long
  3017.                 ; Distance.
  3018.                 ; Set costs to 50
  3019.  
  3020.           1-      1-  50
  3021.  
  3022.                 ; Remaining numbers are international.
  3023.                 ; Prepend 011 and set call cost to 250 and
  3024.                 ; user cost to 500
  3025.  
  3026.           -       011 250 500
  3027.         End
  3028.  
  3029.  
  3030.  
  3031.  
  3032.   Example 1c:
  3033.  
  3034.     Let's suppose:
  3035.  
  3036.     - we are at the crossroads of Area Codes 510, 408, 415
  3037.     - "1-510" must always be stripped
  3038.     - "1-408" and "1-415" must never be stripped
  3039.     - some exchanges are toll-free, others are not
  3040.  
  3041.  
  3042.         Dial
  3043.                 ; strip 1-510- from local numbers, do not add
  3044.                 ; a prefix, set call and user costs to 0.
  3045.  
  3046.           LocalValues 1-510- / 0
  3047.           LocalExchanges 224 225 226 227 247 249 252 264 276
  3048.           LocalExchanges 278 293 317 353 354 416 417
  3049.  
  3050.                 ; Specify local exchanges for area code 408,
  3051.                 ; keep "1-408".
  3052.  
  3053.           LocalValues 1-408- 1-408- 0
  3054.           LocalExchanges 232 251 254 258 259 262 263 272 276
  3055.           LocalExchanges 321 324 325 383 428 432 433 434
  3056.  
  3057.                 ; Specify local exchanges for area code 415,
  3058.                 ; keep "1-415".
  3059.  
  3060.           LocalValues 1-415- 1-415- 0
  3061.           LocalExchanges 233 234 321 322 323 324 325 326 327
  3062.           LocalExchanges 328 329 354 424 462 473 493
  3063.  
  3064.                 ; Remaining "1-510-" numbers are not free,
  3065.                 ; the country and area codes are stripped.
  3066.  
  3067.           1-510- /      25
  3068.  
  3069.                 ; Remaining numbers in area codes 408 and
  3070.                 ; 415 are not free, nothing is stripped.
  3071.  
  3072.           1-408- 1-408- 25
  3073.           1-415- 1-415- 25
  3074.  
  3075.                 ; Remaining numbers in country code "1"
  3076.                 ; are domestic: nothing changed, cost 100.
  3077.  
  3078.           1-     1-     100
  3079.  
  3080.                 ; Remaining numbers are international.
  3081.                 ; Prepend 011 and set cost to 2000.
  3082.  
  3083.           -      011    2000
  3084.  
  3085.         End
  3086.  
  3087.  
  3088.  
  3089.  
  3090.   Example 2 (European viewpoint):
  3091.  
  3092.     We differentiate between city, district, domestic and
  3093.     international.
  3094.  
  3095.         Dial
  3096.           LocalValues 39-59- / 5
  3097.           LocalExchanges 2 3 4 56 81 82    ; city
  3098.           39-59- /      30   ; district
  3099.           39-    0      60   ; domestic long distance
  3100.           43     0043- 100   ; Austria
  3101.           32     0032- 100   ; Belgium
  3102.           45     0045- 100   ; Denmark
  3103.           33     0033- 100   ; France
  3104.           49     0049- 100   ; Germany
  3105.           44     0044- 100   ; UK
  3106.           31     0031- 100   ; Netherlands
  3107.           34     0034- 100   ; Spain
  3108.           46     0046- 100   ; Sweden
  3109.           41     0041- 100   ; Switzerland
  3110.           1      001-  200   ; USA/Canada
  3111.           -      00    300   ; others
  3112.         End
  3113.  
  3114.  
  3115.  
  3116.   Example 3 (Separate Analog/Digital costs):
  3117.  
  3118.     For people who pay different charges for analog and
  3119.     digital calls, FastLst allows to specify separate
  3120.     digital costs (that will be used for nodes that are
  3121.     given a Digital ModemType).
  3122.  
  3123.     Let's suppose we want null User Costs and Digital Costs
  3124.     twice as high as the Analog ones.
  3125.  
  3126.         Dial
  3127.           LocalValues 39-59- / 5 0 10 0
  3128.           LocalExchanges 2 3 4 56 81 82    ; city
  3129.           39-59- /      30 0  60 0  ; district
  3130.           39-    0      60 0 120 0  ; domestic long distance
  3131.           -      00    300 0 600 0  ; international
  3132.         End
  3133.  
  3134.  
  3135.  
  3136.   Example 4:
  3137.  
  3138.     Minimal table for sysops that make dial translations and
  3139.     cost assignments somewhere else.
  3140.  
  3141.         Dial
  3142.           -
  3143.         End
  3144.  
  3145.  
  3146.  
  3147. ΓòÉΓòÉΓòÉ 11.2.1.25. Modem Type Table ΓòÉΓòÉΓòÉ
  3148.  
  3149.  
  3150.             Modem Type Table
  3151.  
  3152.  
  3153. This table allows to set the Modem Type, costs and dial
  3154. translations depending on the nodelist flags.
  3155.  
  3156. Syntax:
  3157.  
  3158. TypeDef
  3159.   <Flag> <ModemType> [<Cost> <UCost> [<DialTrans>]]
  3160.   <Flag> <ModemType> [Digital|Analog]
  3161.   ...
  3162. End
  3163.  
  3164.  
  3165. <Flag> is a Nodelist flag (max 49 chars),
  3166. <ModemType> is a number 0->255.
  3167.  
  3168. The nodelist flags of each node are searched for <Flag>s, in the
  3169. same order as they are listed in the TypeDef table.
  3170.  
  3171. The <Flag> must match completely a nodelist flag: if <Flag> is
  3172. V32 and the nodelist flag is V32B, it's not a match.
  3173. The search is not case sensitive.
  3174.  
  3175. The ModemType field of the compiled nodelist will be determined
  3176. by the first match only: If you define X75 before V34, a node
  3177. with both V34 and X75 will have a X75 modem type.
  3178.  
  3179. When <Flag> is for a PSTN system, you can optionally indicate
  3180. whether it is DIGITAL or ANALOG (which is the default); this is
  3181. useful for assigning special Digital costs if you have
  3182. configured them in the Dial/Cost table.
  3183.  
  3184. When <Flag> is for a non-PSTN system (e.g. internet) you can
  3185. specify the costs (which override the CostVerbatimPhone) and
  3186. dial translations.
  3187.  
  3188. <Cost>  The Call Cost, range: 0-65535
  3189. <UCost> The User Cost, range: 0-65535
  3190.  
  3191. <DialTrans> The Dial Translations, for "verbatim" phones.
  3192.  
  3193.   These dial translations DO NOT affect the indexed entry (in
  3194.   <NODEX>.PDX) and are intended as a work around for the dial
  3195.   translations operated by the mailer or the modem-emulator.
  3196.  
  3197.   The syntax requires a set of strings.
  3198.  
  3199.   The first character of each string will be substituted
  3200.   with the remaining characters.
  3201.  
  3202.   A string containing space ' ' or semi-colon ';' MUST be
  3203.   included in quotation marks. If the quotation mark is needed
  3204.   inside the quoted string, it must be double.
  3205.  
  3206.   15 strings of 5 characters are allowed.
  3207.  
  3208.   Example:
  3209.  
  3210.   You need to translate '.' to '*', ':' to ' ', 'v' to
  3211.   'V'; call_cost=100, user_cost=0:
  3212.  
  3213.   Typedef
  3214.    [...]
  3215.    VM 200 100 0 .* ": " vV
  3216.    [...]
  3217.   End
  3218.  
  3219.   You want to translate '.' to '\.', ':' to ' ', 'v' to
  3220.   'V'; call_cost=150, user_cost=100:
  3221.  
  3222.   Typedef
  3223.    [...]
  3224.    VM 200 150 100 .\. ": " vV
  3225.    [...]
  3226.   End
  3227.  
  3228.  
  3229.   Recommended dial translations for Binkley and VMODEM:
  3230.  
  3231.   -\- .* vV ~\~ ": "
  3232.  
  3233.  
  3234. Full example of TypeDef table:
  3235.  
  3236.     for USR Courier I-modem + VMODEM:
  3237.  
  3238.  
  3239.         TypeDef
  3240.           X75   1   Digital
  3241.           ISDNC 1   Digital
  3242.           V120  2   Digital
  3243.           V120H 2   Digital
  3244.           V120L 3   Digital
  3245.           V34   4   Analog
  3246.           VFC   5   Analog
  3247.           V32T  6   Analog
  3248.           H16   7   Analog
  3249.           V32B  8   Analog
  3250.           ZYX   8   Analog ; ZYX implies V32B
  3251.           Z19   8   Analog
  3252.           Z16   8   Analog
  3253.           H14   9   Analog
  3254.           V32   10  Analog
  3255.           HST   11  Analog
  3256.           VM    200 100 0 -\- .* vV ~\~ ": " ; VMODEM
  3257.         End
  3258.  
  3259.  
  3260.  
  3261.   In Binkley.Cfg for the I-modem you can use:
  3262.  
  3263.  
  3264.         ModemTrans   0
  3265.         ModemTrans   1 AT*V2=6D/    ; X75
  3266.         ModemTrans   2 AT*V2=1D/    ; V120
  3267.         ModemTrans   3 AT*V2=1D/    ; V120L
  3268.         ModemTrans   4 AT*V2=3B0D/  ; V34
  3269.         ModemTrans   5 AT*V2=3B0D/  ; VFC
  3270.         ModemTrans   6 AT*V2=3B0D/  ; V32T
  3271.         ModemTrans   7 AT*V2=3B1D/  ; H16
  3272.         ModemTrans   8 AT*V2=3B0D/  ; V32B
  3273.         ModemTrans   9 AT*V2=3B1D/  ; H14
  3274.         ModemTrans  10 AT*V2=3B0D/  ; V32
  3275.         ModemTrans  11 AT*V2=3B1D/  ; HST
  3276.         ModemTrans 200
  3277.  
  3278.  
  3279.   In Binkley.Cfg for VMODEM you can use:
  3280.  
  3281.  
  3282.         ModemTrans   0
  3283.         ModemTrans   1
  3284.         ModemTrans   2
  3285.         ModemTrans   3
  3286.         ModemTrans   4
  3287.         ModemTrans   5
  3288.         ModemTrans   6
  3289.         ModemTrans   7
  3290.         ModemTrans   8
  3291.         ModemTrans   9
  3292.         ModemTrans  10
  3293.         ModemTrans  11
  3294.         ModemTrans 200 ATDT#/   ; VMODEM
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300. ΓòÉΓòÉΓòÉ 11.2.1.26. User Flags Table ΓòÉΓòÉΓòÉ
  3301.  
  3302.  
  3303.             User Flags Table
  3304.  
  3305.  
  3306. This is an optional table used to handle the "user defined" bits
  3307. in the Flags word of the compiled nodelist entry.
  3308.  
  3309. These bits are named 5,6,7,8,9,A,B,D,E,F where bit 5 is the 6th
  3310. bit and F is the 16th bit of the word.
  3311.  
  3312. Using this table, you can associate (source) nodelist flags to
  3313. user defined bits in the output binary nodelist.
  3314.  
  3315. The table is delimited by the "FlagDef" and "End" keywords; each
  3316. line is in the form "<sFlag> <bFlags>" where <sFlag> is a flag
  3317. (max 9 chars) to be looked for in the source nodelists while
  3318. <bFlags> represents one or more user-defined bits in the output
  3319. Flags word.
  3320.  
  3321.   Example:
  3322.  
  3323.         FlagDef
  3324.           V42B  AB  ; V42B -> user bits A and B
  3325.           V32B  DE  ; V32B -> user bits D and E
  3326.         End
  3327.  
  3328.  
  3329.  
  3330. To add further flags on a node by node basis, please use the
  3331. "Flags <Addr> <Flags>" statement.
  3332.  
  3333. To remove flags, please specify the source flags via the
  3334. "NodeFlags <Addr> <NodeFlags>" statement.
  3335.  
  3336.  
  3337. ΓòÉΓòÉΓòÉ 11.2.2. Section B ΓòÉΓòÉΓòÉ
  3338.  
  3339.  
  3340.              G L O B A L
  3341.  
  3342.               Section B
  3343.  
  3344.  
  3345.  
  3346. The statements in this section affect the processing of all
  3347. the output blocks and thereby of all the input nodelists.
  3348.  
  3349. These statements can also be used in the "OUTPUT" section of an
  3350. OUTPUT block or inside an INPUT block, in which case they affect
  3351. the compilation of the relevant block only.
  3352.  
  3353. In the case you use a verb that has already been used in a
  3354. "higher level" block, it will behave as a local override.
  3355.  
  3356.  
  3357. ΓòÉΓòÉΓòÉ 11.2.2.1. NeededBeforeKill ΓòÉΓòÉΓòÉ
  3358.  
  3359.  
  3360. NeededBeforeKill
  3361.  
  3362.     Tells FastLst that the affected NodeList(s) are needed
  3363.     by the command run via the "BeforeKillSource" statement.
  3364.  
  3365.     The "BeforeKillSource" verb allows you to run a command
  3366.     (executable or batch file) after the compilation has
  3367.     completed, just before FastLst ends and (if "KillSource"
  3368.     is used) deletes the source files that are also present
  3369.     in archived form.
  3370.  
  3371.     The lists affected by "NeededBeforeKill" are extracted,
  3372.     if not already present, before the "BeforeKillSource"
  3373.     command is executed.
  3374.  
  3375.  
  3376. ΓòÉΓòÉΓòÉ 11.2.2.2. ArcMethod ΓòÉΓòÉΓòÉ
  3377.  
  3378.  
  3379. ArcMethod <meth>[,<f>] ...
  3380.  
  3381.     Tells FastLst that it must make sure that all new
  3382.     nodelists are archived using the specified methods.
  3383.     The original archive is NOT killed.
  3384.  
  3385.     Obviously, a new nodelist is not rearchived to its
  3386.     original method.
  3387.  
  3388.     <meth> is the name of an archiver defined in
  3389.     compress.cfg.
  3390.  
  3391.     <f> is the optional specification of the letter to be
  3392.     used for the variable archive extension. If not
  3393.     specified, it is assumed equal to the first letter of
  3394.     the defaults extension for this archiver.
  3395.  
  3396.     Multiple ArcMethod statements are allowed.
  3397.  
  3398.  
  3399.   Example 1:
  3400.  
  3401.     ArcMethod ZIP LH,H
  3402.  
  3403.     NodeList.Z48 arrives: it is archived to NodeList.H48
  3404.     also, using the LH archiver.
  3405.  
  3406.  
  3407.   Example 2:
  3408.  
  3409.     ArcMethod ZIP LH
  3410.  
  3411.     NodeDiff.Z48 arrives: the resulting nodelist is archived
  3412.     to NodeList.Z48 using the ZIP archiver and to
  3413.     NodeList.L48 using LH.
  3414.  
  3415.  
  3416. ΓòÉΓòÉΓòÉ 11.2.2.3. ArcDiffMethod ΓòÉΓòÉΓòÉ
  3417.  
  3418.  
  3419. ArcDiffMethod <meth>[,<f>] ...
  3420.  
  3421.     Tells FastLst that it must make sure that all new
  3422.     nodediffs are archived using the specified methods.
  3423.     The original archive is NOT killed.
  3424.  
  3425.     Obviously, a new nodediff is not rearchived to its
  3426.     original method.
  3427.  
  3428.     <meth> is the name of an archiver defined in
  3429.     compress.cfg.
  3430.  
  3431.     <f> is the optional specification of the letter to be
  3432.     used for the variable archive extension. If not
  3433.     specified, it is assumed equal to the first letter of
  3434.     the defaults extension for this archiver.
  3435.  
  3436.     Multiple ArcDiffMethod statements are allowed.
  3437.  
  3438.  
  3439.   Example:
  3440.  
  3441.     ArcDiffMethod ZIP LH,H
  3442.  
  3443.     NodeDiff.Z48 arrives: it is archived to NodeDiff.H48
  3444.     also, using the LH archiver.
  3445.  
  3446.  
  3447.  
  3448. ΓòÉΓòÉΓòÉ 11.2.2.4. External Commands ΓòÉΓòÉΓòÉ
  3449.  
  3450.  
  3451.             EXTERNAL COMMANDS
  3452.  
  3453.  
  3454. The following verbs allow to invoke external commands.
  3455.  
  3456. <command> can be any legal command-line command: it can be the
  3457. name of an executable file, a batch file or any command that can
  3458. be understood by your command-line interpreter (OS/2's CMD,
  3459. 4OS2, etc.).
  3460.  
  3461. If <command> does not directly invoke an executable file,
  3462. FastLst automatically invokes your default command line
  3463. interpreter (as specified by the COMSPEC environment variable).
  3464.  
  3465.  
  3466. ΓòÉΓòÉΓòÉ 11.2.2.4.1. Archive Related Commands ΓòÉΓòÉΓòÉ
  3467.  
  3468.           Archive Related Commands
  3469.  
  3470.  
  3471. The following verbs share the same syntax:
  3472.  
  3473. Two parameters are allowed in <command>:
  3474.  
  3475. %a is translated to the full pathname of the archive file.
  3476.  
  3477. %f is translated to the name of the file to be added or
  3478.   extracted (no path).
  3479.  
  3480. <command> is run from the path where %f belongs.
  3481.  
  3482.  
  3483. ΓòÉΓòÉΓòÉ 11.2.2.4.1.1. BeforeArcList ΓòÉΓòÉΓòÉ
  3484.  
  3485.  
  3486. BeforeArcList <command>
  3487.  
  3488.     Command to be run before archiving a nodelist.
  3489.  
  3490.  
  3491. ΓòÉΓòÉΓòÉ 11.2.2.4.1.2. AfterArcList ΓòÉΓòÉΓòÉ
  3492.  
  3493.  
  3494. AfterArcList <command>
  3495.  
  3496.     Command to be run after archiving a nodelist.
  3497.  
  3498.  
  3499. ΓòÉΓòÉΓòÉ 11.2.2.4.1.3. BeforeUnArcList ΓòÉΓòÉΓòÉ
  3500.  
  3501.  
  3502. BeforeUnArcList <command>
  3503.  
  3504.     Command to be run before extracting a nodelist.
  3505.  
  3506.  
  3507. ΓòÉΓòÉΓòÉ 11.2.2.4.1.4. AfterUnArcList ΓòÉΓòÉΓòÉ
  3508.  
  3509.  
  3510. AfterUnArcList <command>
  3511.  
  3512.     Command to be run after extracting a nodelist.
  3513.  
  3514.  
  3515. ΓòÉΓòÉΓòÉ 11.2.2.4.1.5. BeforeArcDiff ΓòÉΓòÉΓòÉ
  3516.  
  3517.  
  3518. BeforeArcDiff <command>
  3519.  
  3520.     Command to be run before archiving a nodediff.
  3521.  
  3522.  
  3523. ΓòÉΓòÉΓòÉ 11.2.2.4.1.6. AfterArcDiff ΓòÉΓòÉΓòÉ
  3524.  
  3525.  
  3526. AfterArcDiff <command>
  3527.  
  3528.     Command to be run after archiving a nodediff.
  3529.  
  3530.  
  3531. ΓòÉΓòÉΓòÉ 11.2.2.4.1.7. BeforeUnArcDiff ΓòÉΓòÉΓòÉ
  3532.  
  3533.  
  3534. BeforeUnArcDiff <command>
  3535.  
  3536.     Command to be run before extracting a nodediff.
  3537.  
  3538.  
  3539. ΓòÉΓòÉΓòÉ 11.2.2.4.1.8. AfterUnArcDiff ΓòÉΓòÉΓòÉ
  3540.  
  3541.  
  3542. AfterUnArcDiff <command>
  3543.  
  3544.     Command to be run after extracting a nodediff.
  3545.  
  3546.  
  3547. ΓòÉΓòÉΓòÉ 11.2.2.4.1.9. Example ΓòÉΓòÉΓòÉ
  3548.  
  3549.               Example
  3550.  
  3551. To hatch the new nodelist (note that you probably need to
  3552. specify the location of the config file since the command is
  3553. executed from the directory where %f resides):
  3554.  
  3555.   AfterArcList Hatch %a NODELIST "New NodeList"
  3556.  
  3557.  
  3558.  
  3559. ΓòÉΓòÉΓòÉ 11.2.2.4.2. NodeDiff Related Commands ΓòÉΓòÉΓòÉ
  3560.  
  3561.  
  3562.           NodeDiff Related Commands
  3563.  
  3564.  
  3565. The following verbs accept different parameters:
  3566.  
  3567. %l is translated to the full pathname of the nodelist.
  3568.  
  3569. %d is translated to the full pathname of the nodediff.
  3570.  
  3571. <command> is run from the current directory.
  3572.  
  3573.  
  3574. ΓòÉΓòÉΓòÉ 11.2.2.4.2.1. BeforeEdit ΓòÉΓòÉΓòÉ
  3575.  
  3576.  
  3577. BeforeEdit <command>
  3578.  
  3579.     Command to be run before applying a nodediff.
  3580.  
  3581.  
  3582. ΓòÉΓòÉΓòÉ 11.2.2.4.2.2. AfterEdit ΓòÉΓòÉΓòÉ
  3583.  
  3584.  
  3585. AfterEdit <command>
  3586.  
  3587.     Command to be run after applying a nodediff.
  3588.     Only %l can be used.
  3589.  
  3590.  
  3591. ΓòÉΓòÉΓòÉ 11.2.3. Section C ΓòÉΓòÉΓòÉ
  3592.  
  3593.  
  3594.              G L O B A L
  3595.  
  3596.               Section C
  3597.  
  3598.  
  3599.  
  3600. The statements in this section affect the processing of all
  3601. the output blocks and thereby of all the input nodelists.
  3602.  
  3603. These statements can also be used in the "OUTPUT" section of an
  3604. OUTPUT block (except for the "NoCompile" one) or inside an INPUT
  3605. block, in which case they affect the compilation of the relevant
  3606. block only.
  3607.  
  3608. In the case you use a verb that has already been used in a
  3609. "higher level" block, it will behave as a local override.
  3610.  
  3611.  
  3612. ΓòÉΓòÉΓòÉ 11.2.3.1. MsgRem ΓòÉΓòÉΓòÉ
  3613.  
  3614.  
  3615. MsgRem [<string>]
  3616.  
  3617.     If MsgRemArea is used, FastLst reports the following
  3618.     comments:
  3619.  
  3620.     No MsgRem statement: none;
  3621.  
  3622.     MsgRem with no <string>: all;
  3623.  
  3624.     MsgRem with <string>: only the comments that begin with
  3625.     ";<l> " where <l> is one of the characters in <string>.
  3626.  
  3627.     The ";" character in <string> means that the comments
  3628.     beginning with "; " or ";<word>" can be reported.
  3629.  
  3630.     Common types of comment lines:
  3631.  
  3632.         ;S This is a comment for SysOps
  3633.         ;U This is a comment for users
  3634.         ;F This comment should appear in formatted Fido lists
  3635.         ;A This is a comment of general interest
  3636.         ;E This comment is an error message
  3637.  
  3638.  
  3639.   Example:
  3640.  
  3641.     "MsgRem SE"
  3642.  
  3643.     Only comments destined to SysOps and Error messages are
  3644.     reported (lines beginning with ";S " and ";E ").
  3645.  
  3646.  
  3647. ΓòÉΓòÉΓòÉ 11.2.3.2. MsgLog ΓòÉΓòÉΓòÉ
  3648.  
  3649.  
  3650. MsgLog [NullPhone] [Redirected] [Points]
  3651.  
  3652.     Some common situations (not really errors) are not
  3653.     reported to MsgLogArea by default: if you want FastLst
  3654.     to report them anyway, you can use this statement, but
  3655.     be aware that very long reports could come out.
  3656.  
  3657.     "NullPhone": systems with empty phone string are logged.
  3658.  
  3659.     "Redirected": systems redirected to their coordinators
  3660.     are logged (Hold, unpublished).
  3661.  
  3662.     "Points": points with empty phone string are logged; be
  3663.     aware that most pointlists contain unpublished (thereby
  3664.     with empty phone) points.
  3665.  
  3666.  Examples:
  3667.  
  3668.     MsgLog Redirected
  3669.     MsgLog Redirected NullPhone
  3670.  
  3671.  
  3672. ΓòÉΓòÉΓòÉ 11.2.3.3. GermanPointList ΓòÉΓòÉΓòÉ
  3673.  
  3674.  
  3675. GermanPointList
  3676.  
  3677.     Instructs FastLst to consider the affected nodelist as a
  3678.     3D German style pointlist. Zone 2 is assumed, if not
  3679.     explicitly specified in the "NodeList" statement.
  3680.  
  3681.     This verb is usually used inside an Input Block, so that
  3682.     it affects that nodelist only.
  3683.  
  3684.     WARNING: Be aware that using this statement in the
  3685.     global section or in an Output block affects all the
  3686.     involved nodelists !
  3687.  
  3688.   Example Input Block:
  3689.  
  3690.         NodeList Points24.???
  3691.           GermanPointList
  3692.           Nodediff Pr24Diff.???
  3693.           ArcList Points24.??? 1
  3694.           ArcDiff Pr24Diff.??? 5
  3695.           ArcListDesc R24 PointList for day %d (%D), %a format
  3696.           ArcDiffDesc R24 PointDiff for day %d (%D), %a format
  3697.  
  3698.  
  3699.  
  3700. ΓòÉΓòÉΓòÉ 11.2.3.4. NoPointLstPhone ΓòÉΓòÉΓòÉ
  3701.  
  3702.  
  3703. NoPointLstPhone
  3704.  
  3705.     Changes to "-Unpublished-" the phone numbers specified
  3706.     in the PointLists (German or "Boss" styles).
  3707.  
  3708.     If you use Squish and Binkley, you usually will like
  3709.     pointlists with the Boss' phone in the point entries
  3710.     (otherwise a crash message to a point will have to be
  3711.     manually readdressed to its Boss).
  3712.  
  3713.     But if you use a netmail manager (as NmFwd) that already
  3714.     routes the crash messages for points that do not have a
  3715.     phone to their Boss, then you will probably like this
  3716.     statement.
  3717.  
  3718.     You will usually find convenient to use this statement
  3719.     in the global section, so that it is valid for all the
  3720.     nodelists.
  3721.  
  3722.  
  3723. ΓòÉΓòÉΓòÉ 11.2.3.5. BeforeCompile ΓòÉΓòÉΓòÉ
  3724.  
  3725.  
  3726. BeforeCompile <command>
  3727.  
  3728.     Command to be run before compiling the affected
  3729.     nodelist.
  3730.  
  3731.     This statement follows the same rules explained in
  3732.     "External Commands" in section B.
  3733.  
  3734.     The %l parameter is translated to the full pathname of
  3735.     the nodelist.
  3736.  
  3737.     <command> is run from the current directory.
  3738.  
  3739.  
  3740. ΓòÉΓòÉΓòÉ 11.2.3.6. AfterCompile ΓòÉΓòÉΓòÉ
  3741.  
  3742.  
  3743. AfterCompile <command>
  3744.  
  3745.     Command to be run after compiling the affected nodelist.
  3746.  
  3747.     This statement follows the same rules explained in
  3748.     "External Commands" in section B.
  3749.  
  3750.     The %l parameter is translated to the full pathname of
  3751.     the nodelist.
  3752.  
  3753.     <command> is run from the current directory.
  3754.  
  3755.  
  3756. ΓòÉΓòÉΓòÉ 11.2.3.7. FidoTxt ΓòÉΓòÉΓòÉ
  3757.  
  3758.  
  3759. FidoTxt [<FidoTxt>]
  3760.  
  3761.     Generate an 80 Column Text List of nodes.
  3762.     Nodes included via the "Node,..." method and points are
  3763.     excluded.
  3764.  
  3765.     <FidoTxt> optionally specifies an output file name,
  3766.     which defaults to "NodeList.Txt". If the same file name
  3767.     has already been used for other nodelists, the output is
  3768.     appended.
  3769.  
  3770.   Example:
  3771.  
  3772.     FidoTxt
  3773.  
  3774.  
  3775. ΓòÉΓòÉΓòÉ 11.2.3.8. FidoPrn ΓòÉΓòÉΓòÉ
  3776.  
  3777.  
  3778. FidoPrn [<FidoPrn>]
  3779.  
  3780.     Generate a 132 Column Text List of nodes.
  3781.     Nodes included via the "Node,..." method and points are
  3782.     excluded.
  3783.  
  3784.     <FidoPrn> optionally specifies an output file name,
  3785.     which defaults to "NodeList.Prn". If the same file name
  3786.     has already been used for other nodelists, the output is
  3787.     appended.
  3788.  
  3789.   Example:
  3790.  
  3791.     FidoPrn
  3792.  
  3793.  
  3794. ΓòÉΓòÉΓòÉ 11.2.3.9. IncCoord ΓòÉΓòÉΓòÉ
  3795.  
  3796.  
  3797. IncCoord <CoordLev>
  3798.  
  3799.     The coordinators of the specified and upper levels will
  3800.     be always included, even if excluded by "IncAddr" and
  3801.     "ExcAddr". <CoordLev> can be ZC, RC, NC, HC.
  3802.  
  3803.   Example:
  3804.  
  3805.     IncCoord NC
  3806.  
  3807.  
  3808. ΓòÉΓòÉΓòÉ 11.2.4. Export Section ΓòÉΓòÉΓòÉ
  3809.  
  3810.  
  3811.            Global Export Section
  3812.  
  3813.  
  3814. You can use here the statements described in the "Export Global
  3815. Section" of the "Export Block" (see "Input Block" inside "Output
  3816. Block").
  3817.  
  3818.  
  3819.  
  3820. ΓòÉΓòÉΓòÉ 11.3. Output Block ΓòÉΓòÉΓòÉ
  3821.  
  3822.  
  3823.           O U T P U T  B L O C K
  3824.  
  3825.  
  3826.  
  3827. The following verbs define the compilation of a single output
  3828. binary nodelist.
  3829.  
  3830. The block begins with a "Output Section", that affects the
  3831. compilation of all the source (input) nodelists, followed by a
  3832. sequence of "Input Blocks" that define how to handle each of the
  3833. source nodelists.
  3834.  
  3835. The first "output block" can be of a special kind: if the
  3836. "NoCompile" statement is used instead of "Version7+", this block
  3837. indicates the actions necessary to maintain the specified
  3838. nodelists, but they are not compiled.
  3839.  
  3840.  
  3841. ΓòÉΓòÉΓòÉ 11.3.1. Version7+ ΓòÉΓòÉΓòÉ
  3842.  
  3843.  
  3844. Version7[+] <Path> <Nodex> [<Sysop>[.<Ext>]]
  3845.  
  3846.     Start of a block of config verbs defining the generation
  3847.     of an output nodelist. You can generate one or more
  3848.     compiled nodelists with different names and path for the
  3849.     output files. Each "Version7" statement marks the
  3850.     beginning of a new output-nodelist definition.
  3851.  
  3852.     Version7+ is for V7+ while Version7 allows to save space
  3853.     and generate the V7 files only.
  3854.  
  3855.     <Path> is the path where the output binary data and
  3856.     index files are placed.
  3857.  
  3858.     <Nodex> is the file name (no extension) for the output
  3859.     files.
  3860.  
  3861.     <Sysop>.<Ext> is the file name for the sysop-index.
  3862.     When no extension is given, .NDX is assumed if
  3863.     <Sysop> is different from <Nodex>, otherwise the .SDX
  3864.     extension is used.
  3865.  
  3866.     If you omit <Sysop> with Version7+, <Nodex>.SDX is used
  3867.     for the SysOp index.
  3868.  
  3869.     If you omit <Sysop> with Version7, no SysOp index is
  3870.     generated.
  3871.  
  3872.     Usually <Nodex> should be "NODEX" and <Sysop> "SYSOP".
  3873.  
  3874.     If you use V7+ and all of your applications accept
  3875.     <NODEX>.SDX as the SysOp index, you may omit <Sysop>.
  3876.  
  3877.     For compatibility with V7 applications that require
  3878.     "SYSOP.NDX" as SysOp index, "SYSOP" is recommended for
  3879.     <SysOp>.
  3880.  
  3881.     All the following verbs, up to the next "Version7" (if
  3882.     any), are related to the preceding "Version7" output
  3883.     files.
  3884.  
  3885.   Examples:
  3886.  
  3887.                                            ; SysOp Index name
  3888.         Version7+ d:\bbs\v7\ NODEX  SYSOP  ; SYSOP.NDX
  3889.         Version7+ d:\bbs\v7\ NODEX  NODEX  ; NODEX.SDX
  3890.         Version7+ d:\bbs\v7\ NODEX         ; NODEX.SDX
  3891.         Version7  d:\bbs\v7\ NODEX  SYSOP  ; SYSOP.NDX
  3892.         Version7  d:\bbs\v7\ NODEX  NODEX  ; NODEX.SDX
  3893.         Version7  d:\bbs\v7\ NODEX         ; no index
  3894.  
  3895.  
  3896.   Version7 Output files:
  3897.  
  3898.         <Nodex>.DAT     Nodelist Data
  3899.         <Nodex>.NDX     Address Index
  3900.         <Sysop>.NDX     SysOp Index (optional)
  3901.  
  3902.  
  3903.     Some Version7 programs also accept <Nodex>.SDX for the
  3904.     SysOp Index.
  3905.  
  3906.   Version7+ Output files:
  3907.  
  3908.         <Nodex>.DAT     Nodelist Data
  3909.         <Nodex>.DTP     Additional Data
  3910.         <Nodex>.NDX     Address Index
  3911.         <Nodex>.SDX     SysOp Index
  3912.         <Nodex>.PDX     Phone Index
  3913.  
  3914.  
  3915.     Version7+ programs must also be configurable to accept
  3916.     <Sysop>.NDX as the SysOp Index for compatibility with V7
  3917.     programs.
  3918.  
  3919.  
  3920. ΓòÉΓòÉΓòÉ 11.3.2. NoCompile ΓòÉΓòÉΓòÉ
  3921.  
  3922.  
  3923. NoCompile
  3924.  
  3925.     This verb can be used to start the first "Output Block",
  3926.     instead of "Version7".
  3927.  
  3928.     This way the first output block becomes a "NoCompile"
  3929.     block and the indicated nodelists are maintained but not
  3930.     compiled.
  3931.  
  3932.     This is a means for maintaining a NodeList (applying
  3933.     nodediffs, archiving with different archivers etc.)
  3934.     without compiling it.
  3935.  
  3936.     The statements related to nodelist compilation (see
  3937.     Global section C) are obviously illegal in a "NoCompile"
  3938.     block.
  3939.  
  3940.  
  3941.  
  3942. ΓòÉΓòÉΓòÉ 11.3.3. Output section ΓòÉΓòÉΓòÉ
  3943.  
  3944.  
  3945.            O U T P U T  Section
  3946.  
  3947.  
  3948. The following verbs affect the compilation of the current output
  3949. block and must precede the definitions of the input blocks
  3950. (which start with the Nodelist statement).
  3951.  
  3952.  
  3953. ΓòÉΓòÉΓòÉ 11.3.3.1. FidoUserLst ΓòÉΓòÉΓòÉ
  3954.  
  3955.  
  3956. FidoUserLst [<FidoUserLst>]
  3957.  
  3958.     Generate "fidouser.lst style" text SysOp list.
  3959.     <FidoUserLst> optionally specifies an output file name,
  3960.     which defaults to "FidoUser.Lst". Different output
  3961.     blocks require different names.
  3962.  
  3963.   Example:
  3964.  
  3965.     Version7+ d:\bbs\v7 NODEX SYSOP
  3966.       FidoUserLst
  3967.  
  3968.  
  3969. ΓòÉΓòÉΓòÉ 11.3.3.2. LinkOnDisk ΓòÉΓòÉΓòÉ
  3970.  
  3971.  
  3972. LinkOnDisk
  3973.  
  3974.     Forces "on disk" DTP linking.
  3975.  
  3976.     This can be useful to avoid FastLst using virtual memory
  3977.     for linking the <NODEX>.DTP file.
  3978.  
  3979.     If you do not have enough free physical memory (12MB for
  3980.     60,000 nodes), the "on disk" mode is faster.
  3981.  
  3982.   Example:
  3983.  
  3984.     Version7+ d:\bbs\v7 NODEX
  3985.       LinkOnDisk
  3986.  
  3987.  
  3988. ΓòÉΓòÉΓòÉ 11.3.3.3. LogStats ΓòÉΓòÉΓòÉ
  3989.  
  3990.  
  3991. LogStats
  3992.  
  3993.     Output Statistics to MsgLogArea.
  3994.  
  3995.     This statements makes FastLst write the statistics for
  3996.     the current output-nodelist to the area specified with
  3997.     MsgLogArea.
  3998.  
  3999.   Example:
  4000.  
  4001.     Version7+ ...
  4002.      LogStats
  4003.  
  4004.  
  4005. ΓòÉΓòÉΓòÉ 11.3.3.4. Block Specifications ΓòÉΓòÉΓòÉ
  4006.  
  4007.  
  4008.             Block Specifications
  4009.  
  4010.  
  4011. You can use here the same statements described in the "Global
  4012. Section B" and (if this is not a "NoCompile" block) "Global
  4013. Section C" and "Export Global Section" (see the Export Block
  4014. below).
  4015.  
  4016.  
  4017. ΓòÉΓòÉΓòÉ 11.3.3.5. Address Specific Stuff ΓòÉΓòÉΓòÉ
  4018.  
  4019.  
  4020.            ADDRESS SPECIFIC STUFF
  4021.  
  4022.  
  4023.  
  4024. The following verbs define address specific stuff that will
  4025. affect the compilation of all the source nodelists compiled in
  4026. the current output block. These statements are illegal in a
  4027. "NoCompile" block.
  4028.  
  4029. If you prefer, you can specify this type of information in the
  4030. "Address Specific Stuff" section of the pertinent input block.
  4031.  
  4032. WARNING: make sure all addresses have full info (incl. zone).
  4033.  
  4034.  
  4035. ΓòÉΓòÉΓòÉ 11.3.3.5.1. Password ΓòÉΓòÉΓòÉ
  4036.  
  4037.  
  4038. Password <Addr> <Password>
  4039.  
  4040.     Allows to specify <Password> one <Addr> at a time.
  4041.  
  4042.     Version 7 has no limit on password length, however the
  4043.     programs that use it are usually limited to 8 chars.
  4044.     Some (rare) programs have problems with 8 chars and need
  4045.     a maximum of 7 or 6 chars.
  4046.  
  4047.   Example:
  4048.  
  4049.     Password 2:332/504.4 Password
  4050.  
  4051.  
  4052. ΓòÉΓòÉΓòÉ 11.3.3.5.2. PasswordFile ΓòÉΓòÉΓòÉ
  4053.  
  4054.  
  4055. PasswordFile <PasswordFile>
  4056.  
  4057.     Allows to include a password file that contains many
  4058.     address/password couples, one per line.
  4059.  
  4060.     In this file you can omit the "Password" keyword.
  4061.  
  4062.     If you like, you can use some "Password" keywords
  4063.     together with one or more "PasswordFile".
  4064.  
  4065.     Please note that the definitions found in this file have
  4066.     effect on the current (Output or Input) block ONLY.
  4067.  
  4068.     FastLst writes to the log file which source or output
  4069.     nodelist is affected by each passwordfile; so, in case
  4070.     of doubts, just check the logs.
  4071.  
  4072.   Example:
  4073.  
  4074.     PasswordFile fidonet.pwd
  4075.  
  4076.  
  4077. ΓòÉΓòÉΓòÉ 11.3.3.5.3. Phone ΓòÉΓòÉΓòÉ
  4078.  
  4079.  
  4080. Phone <Addr> <Phone> [<NodeFlags> [<Cost> [<UCost>]]]
  4081.  
  4082.     Allows to override a nodelist phone number and
  4083.     optionally the corresponding "NodeFlags" and costs.
  4084.  
  4085.     if <Phone> contains non-numeric characters, it is taken
  4086.     verbatim
  4087.  
  4088.     If <Phone> contains only digits and dashes '-', it is
  4089.     considered a PSTN number and MUST be in the form used in
  4090.     the source nodelist (dial translation will be applied
  4091.     normally).
  4092.  
  4093.     <NodeFlags> has the same meaning as in the NodeFlags
  4094.     statement. To specify an overriding empty <NodeFlags>,
  4095.     use a single comma.
  4096.  
  4097.     <Cost> and <UCost> have the same meaning as in the Cost
  4098.     statement.
  4099.  
  4100.  
  4101.   Examples:
  4102.  
  4103.     <Phone> override only:
  4104.  
  4105.         Phone 2:332/501.1 39-59-399999      ; Normal override
  4106.         Phone 1:106/2000  juge.com          ; internet address
  4107.         Phone 1:123/4567  123.456.789.012   ; IP address
  4108.         Phone 2:245/6789  "Bob.scr"         ; quoted script name
  4109.  
  4110.  
  4111.     <Phone> and <NodeFlags> overrides:
  4112.  
  4113.         Phone 2:332/501.0 39-59-499999 V34,CM ; Set new flags
  4114.         Phone 2:332/501.1 39-59-399999 ,      ; Set NO flags
  4115.  
  4116.  
  4117.     <Phone>, <NodeFlags> and <Cost>/<UCost> overrides:
  4118.  
  4119.         Phone 2:332/501 39-59-499999 V34,CM 10 0
  4120.         Phone 2:332/502 mega.com VM 0      ; <Cost> == <UCost>
  4121.  
  4122.  
  4123.  
  4124. ΓòÉΓòÉΓòÉ 11.3.3.5.4. NodeFlags ΓòÉΓòÉΓòÉ
  4125.  
  4126.  
  4127. NodeFlags <Addr> <NodeFlags>
  4128.  
  4129.     Allows to substitute the flags listed in the nodelist
  4130.     entry of <Addr>.
  4131.  
  4132.     If you want to change the CM flag or modem type flags
  4133.     (HST, V32b, ZYX) etc, you can use this verb. Please note
  4134.     that the old flags are lost, so you need to indicate all
  4135.     the necessary flags.
  4136.  
  4137.     Please note that <NodeFlags> might be empty.
  4138.  
  4139.   Example:
  4140.  
  4141.     NodeFlags 2:332/501.0 CM,H16,V32b
  4142.  
  4143.  
  4144. ΓòÉΓòÉΓòÉ 11.3.3.5.5. Flags ΓòÉΓòÉΓòÉ
  4145.  
  4146.  
  4147. Flags <Addr> <Flags>
  4148.  
  4149.     The Flags statement allows to set the "user defined"
  4150.     bits in the Flags word of the compiled nodelist entry.
  4151.     These bits are named 5,6,7,8,9,A,B,D,E,F where bit 5 is
  4152.     the 6th bit and F is the 16th bit of the word.
  4153.  
  4154.     These bits are "ORed" with those already set by the
  4155.     "FlagDef" table.
  4156.  
  4157.     If you need to zero some of the bits, please specify the
  4158.     source flags with the "NodeFlags" statement.
  4159.  
  4160.   Example:
  4161.  
  4162.     Flags 2:332/501.0 AB5  ; Set bits 5,A & B.
  4163.  
  4164.  
  4165. ΓòÉΓòÉΓòÉ 11.3.3.5.6. Cost ΓòÉΓòÉΓòÉ
  4166.  
  4167.  
  4168. Cost <Addr> <Cost> [<UCost>]
  4169.  
  4170.     <Cost> and <UCost> are in the range 0->65535.
  4171.     Overrides the Cost and User_Cost fields of <Addr> in the
  4172.     compiled nodelist. If no <UCost> is given, it's taken
  4173.     equal to <Cost>.
  4174.  
  4175.   Example:
  4176.  
  4177.     Cost 2:332/501.0 150
  4178.  
  4179.  
  4180. ΓòÉΓòÉΓòÉ 11.3.3.6. Segment Selection ΓòÉΓòÉΓòÉ
  4181.  
  4182.  
  4183.             SEGMENT SELECTION
  4184.  
  4185.  
  4186. The following verbs allow to include or exclude selected
  4187. <NodeList> segments. If you do not use them, the full <NodeList>
  4188. is compiled. Be aware that the process of checking each address
  4189. against the list of segments to be included or excluded might
  4190. slow down the compilation, even if some gain could come from the
  4191. exclusion of large segments.
  4192.  
  4193. These statements are obviously illegal in a "NoCompile" block.
  4194.  
  4195. These statements can be used in an Input block to affect that
  4196. nodelist only.
  4197.  
  4198.  
  4199. ΓòÉΓòÉΓòÉ 11.3.3.6.1. IncAddr ΓòÉΓòÉΓòÉ
  4200.  
  4201.  
  4202. IncAddr <PartAddrLst>
  4203.  
  4204.     If you want to selectively include nodelist segments,
  4205.     you can use this option: only zones, regions, nets,
  4206.     hubs, nodes, points that are listed in <PartAddrLst>
  4207.     will be present in the output files. You can specify
  4208.     zone, region/net, hub/node and point numbers.
  4209.  
  4210.   Example:
  4211.  
  4212.     IncAddr 1 2:33 2:200/100 3:632 4:801/17
  4213.  
  4214.      Compiles: zone 1, region 33 of zone 2, hub 100 of net
  4215.      200 of zone 2, net 632 of zone 3, node 4:801/17
  4216.  
  4217.  
  4218. ΓòÉΓòÉΓòÉ 11.3.3.6.2. ExcAddr ΓòÉΓòÉΓòÉ
  4219.  
  4220.  
  4221. ExcAddr <PartAddrLst>
  4222.  
  4223.     If you want to exclude some segments from the
  4224.     compilation, you can list them in <PartAddrLst>, in the
  4225.     same way as for "IncAddr". You can use either "IncAddr"
  4226.     or "ExcAddr" or both of them to Include only selected
  4227.     segments and exclude sub-segments.
  4228.  
  4229.   Example:
  4230.  
  4231.     ExcAddr 2:332/500
  4232.  
  4233.      Excludes Hub 500 of net 332 of zone 2.
  4234.  
  4235.  
  4236.  
  4237.  
  4238. ΓòÉΓòÉΓòÉ 11.3.4. Input Block ΓòÉΓòÉΓòÉ
  4239.  
  4240.  
  4241.            I N P U T  B L O C K
  4242.  
  4243.  
  4244. The Input Block starts with a "NodeList" statement and continues
  4245. until the start of the next Input or Output Block (NodeList or
  4246. Version7 statement respectively) or the end of the configuration
  4247. file.
  4248.  
  4249.  
  4250. ΓòÉΓòÉΓòÉ 11.3.4.1. NodeList ΓòÉΓòÉΓòÉ
  4251.  
  4252.  
  4253. NodeList <NodeList> [<PartAddr> [<Region> [<Hub>]]]
  4254.  
  4255.     Start of a block of config verbs defining the processing
  4256.     of the specified <NodeList> file. You can use many
  4257.     "NodeList" statements to compile several different
  4258.     source nodelists into the same output files specified by
  4259.     the preceding "Version7+" statement. Each "NodeList"
  4260.     verb marks the beginning of a new input-nodelist
  4261.     processing-info block.
  4262.  
  4263.     When an address is present in more than one <NodeList>
  4264.     (e.g. you compile both the full nodelist and the faster
  4265.     updated local region or zone segment) only the entry
  4266.     found in the last compiled <NodeList> is put in the
  4267.     indices. To have the most up-to-date entries in your V7
  4268.     indices, please include local segments after the larger
  4269.     list.
  4270.  
  4271.     <NodeList> is the name of the input nodelist.
  4272.     If you don't specify a path, <InputPath> is assumed.
  4273.  
  4274.     If a terminal ".???" is specified, all the files with 3
  4275.     digits in the place of '???' are examined and that with
  4276.     the latest 3 digit day of the year is chosen for
  4277.     compilation.
  4278.  
  4279.     The optional <PartAddr> is a partial address that must
  4280.     be specified for nodelist segments that do not have full
  4281.     address info. For example, a REGION segment usually
  4282.     starts with the "Region," keyword and does not contain
  4283.     any Zone info: its up to you to tell FastLst which zone
  4284.     we are talking about. For the same reason you should
  4285.     provide zone and net info when compiling a Hub segment.
  4286.  
  4287.     For Net segments you should also specify the <Region>
  4288.     and for simple lists of nodes or points the <Hub>.
  4289.  
  4290.     Anyway FastLst is smart enough to automagically gather
  4291.     Region and Hub information (when possible) from:
  4292.  
  4293.     - same node present in a larger segment (Region and Hub)
  4294.     - other node with same zone:net (Region only)
  4295.     - Boss of the point (Region and Hub)
  4296.  
  4297.     Note: points that do not have a Boss are removed from
  4298.     the indices.
  4299.  
  4300.   Examples:
  4301.  
  4302.     IMPORTANT: Please note that the following lines
  4303.       represent a list of examples, NOT an example of
  4304.       multiple nodelist compilation.
  4305.       After each "NodeList" verb, you must specify all the
  4306.       statements that affect the compilation of that
  4307.       particular source file.
  4308.  
  4309.  
  4310.      1) NodeList nodelist.???     ; Fidonet nodelist
  4311.  
  4312.      2) NodeList region.033 2     ; Region 33 list, zone 2
  4313.  
  4314.      3) NodeList region24.??? 2   ; Region 24 list, zone 2
  4315.  
  4316.      4) NodeList net.332 2 33     ; Net list, zone 2, region 33
  4317.  
  4318.      5) NodeList hub.500 2:332 33 ; Hub list, zone 2, net 332,
  4319.                                   ; region 33
  4320.  
  4321.      6) NodeList locnode.500 2:332 33 500
  4322.                                   ; Some nodes, zone 2, net 332,
  4323.                                   ; region 33, hub 500
  4324.  
  4325.      7) NodeList points.504 2:332/504
  4326.                                   ; Points of 2:332/504 in
  4327.                                   ; "Point," format
  4328.  
  4329.      8) NodeList morenode.lst   ; Some nodes in the "Node,"
  4330.                                 ; format. No <PartAddr> required
  4331.                                 ; since the "Node," line gives
  4332.                                 ; full address info.
  4333.  
  4334.      9) NodeList ptlist.???     ; Point List in the "Boss,"
  4335.                                 ; format. No <PartAddr> required
  4336.                                 ; since the "Boss," line gives
  4337.                                 ; full address info.
  4338.  
  4339.  
  4340. ΓòÉΓòÉΓòÉ 11.3.4.2. Input Section ΓòÉΓòÉΓòÉ
  4341.  
  4342.  
  4343.              Input Section
  4344.  
  4345.  
  4346. The following statements affect the handling of the nodelist
  4347. specified by the last "NodeList" statement (current Input
  4348. Block).
  4349.  
  4350.  
  4351. ΓòÉΓòÉΓòÉ 11.3.4.2.1. NodeDiff ΓòÉΓòÉΓòÉ
  4352.  
  4353.  
  4354. NodeDiff <NodeDiff>
  4355.  
  4356.     <NodeDiff> is the name of the nodediff file.
  4357.     If you don't specify a path, <InputPath> is assumed.
  4358.  
  4359.     <NodeDiff> must terminate with ".???". FastLst will
  4360.     search for a suitable <NodeDiff>, considering the files
  4361.     that have a 3 digit day of the year in the place of the
  4362.     trailing '???'.
  4363.  
  4364.   Example:
  4365.  
  4366.     NodeDiff NODEDIFF.???
  4367.  
  4368.  
  4369. ΓòÉΓòÉΓòÉ 11.3.4.2.2. ArcList ΓòÉΓòÉΓòÉ
  4370.  
  4371.  
  4372. ArcList <ArcList> [<Keep#>]
  4373.  
  4374.     You can specify the name of the archive containing
  4375.     <NodeList>. It is necessary if you use automatic
  4376.     extraction/rearchiving, but it can even be used only to
  4377.     delete old files.
  4378.  
  4379.     <ArcList> is used to extract new nodelists, to compress
  4380.     them using the methods defined in "ArcMethod", to
  4381.     compress the new nodelists after the application of
  4382.     nodediffs.
  4383.  
  4384.     If <ArcList> has a terminating ".???", all the files
  4385.     that have a suitable fixed (.zip, .lzh etc.) or variable
  4386.     (.z10, .z17, .l10, .l17 etc.) extension are considered,
  4387.     taking the digits as the last 2 digits of the day of the
  4388.     year.
  4389.  
  4390.     If you really want to limit search to a specified fixed
  4391.     or variable extension, you can do:
  4392.     "ArcList nodelist.zip", to consider .zip only;
  4393.     "ArcList nodelist.z??", to consider .z?? only.
  4394.  
  4395.     <Keep#> optionally specifies the number of archives to
  4396.     be kept, basing on the day of the year (the modification
  4397.     file date is also used to infer the correct
  4398.     chronological order).
  4399.  
  4400.     If you maintain archives with multiple different
  4401.     extensions (.z??, .l??, etc.) the actual number of files
  4402.     increases, since multiple files with the same day
  4403.     extension count for one.
  4404.  
  4405.     The description associated to the deleted files is
  4406.     removed from FILES.BBS.
  4407.  
  4408.   Example:
  4409.  
  4410.     ArcList nodelist.??? 1
  4411.  
  4412.  
  4413. ΓòÉΓòÉΓòÉ 11.3.4.2.3. ArcDiff ΓòÉΓòÉΓòÉ
  4414.  
  4415.  
  4416. ArcDiff <ArcDiff> [<Keep#>]
  4417.  
  4418.     You can specify the name of the archive containing
  4419.     <NodeDiff>. It is necessary if you use automatic
  4420.     extraction/rearchiving, but it can even be used only to
  4421.     delete old files.
  4422.  
  4423.     <ArcDiff> must terminate with ".???".
  4424.  
  4425.     All the files that have 2 digits in the place of the
  4426.     last 2 '?' are examined, taking the digits as the last 2
  4427.     digits of the day of the year.
  4428.  
  4429.     If you really want to limit search to a specified
  4430.     extension, you can do:
  4431.     "ArcDiff nodediff.z??", to consider .z?? only.
  4432.  
  4433.     <Keep#> optionally specifies the number of archives to
  4434.     be kept, basing on the day of the year (the modification
  4435.     file date is also used to infer the correct
  4436.     chronological order). In the case of multiple archive
  4437.     extensions, the actual number increases consequently.
  4438.  
  4439.     The description associated to the deleted files is
  4440.     removed from FILES.BBS.
  4441.  
  4442.   Example:
  4443.  
  4444.     ArcDiff nodediff.??? 5
  4445.  
  4446.  
  4447. ΓòÉΓòÉΓòÉ 11.3.4.2.4. ArcListDesc/ArcDiffDesc ΓòÉΓòÉΓòÉ
  4448.  
  4449.  
  4450. ArcListDesc <Desc>
  4451. ArcDiffDesc <Desc>
  4452.  
  4453.     You can specify a description to be added to FILES.BBS
  4454.     for the new nodelist and nodediff files created by
  4455.     FastLst.
  4456.  
  4457.     Some parameters are available:
  4458.  
  4459.     %d : the 3 digit day number (0 padded)
  4460.     %a : the archiver name
  4461.     %D : the date, USA format (Feb 10, 1995)
  4462.     %L : the date, Local format
  4463.  
  4464.   Example:
  4465.  
  4466.         ArcListDesc Fido Nodelist for day %d (%D), %a format
  4467.         ArcDiffDesc Fido Nodediff for day %d (%D), %a format
  4468.  
  4469.  
  4470.  
  4471. ΓòÉΓòÉΓòÉ 11.3.4.3. Local Specifications ΓòÉΓòÉΓòÉ
  4472.  
  4473.  
  4474.             Local Specifications
  4475.  
  4476.  
  4477. You can use here the same statements described in the "Global
  4478. Section B" and (if we are not in a "NoCompile" block) "Global
  4479. Section C" and "Export Global Section" (see the Export Block
  4480. below).
  4481.  
  4482.  
  4483. ΓòÉΓòÉΓòÉ 11.3.4.4. Address Specific Stuff ΓòÉΓòÉΓòÉ
  4484.  
  4485.  
  4486.            ADDRESS SPECIFIC STUFF
  4487.  
  4488.  
  4489. You can specify here the address specific stuff that is related
  4490. to the current source nodelist (if not inside a "NoCompile"
  4491. block).
  4492.  
  4493. If you have already used the "Output section" for specifying
  4494. this kind of information, you can skip this section.
  4495.  
  4496. WARNING:
  4497.  
  4498. Often you will compile segments of a previously compiled
  4499. nodelist. For example you could have a "NodeList nodelist.???"
  4500. block for the world nodelist and then a "NodeList region.033"
  4501. block for your region's nodelist segment.
  4502.  
  4503. The majority of entries in the latter will be duplicates of
  4504. entries already found in the former. However, in the case of
  4505. duplicates, only the entries found in the last involved
  4506. "NodeList" block will go to the indices and be active. This way
  4507. you can compile the full world nodelist while keeping your
  4508. segment up-to-date with local segments that get updated faster
  4509. than the full nodelist.
  4510.  
  4511. When you have to specify "Address Specific Stuff" for nodes that
  4512. are present in more than one "NodeList", you must do that in the
  4513. last involved "NodeList" block (or in the Output Section, of
  4514. course), otherwise your indications will have no effect.
  4515.  
  4516. For a list of allowed statements, please see the "Address
  4517. Specific Stuff" section of the "Output" section above.
  4518.  
  4519.  
  4520. ΓòÉΓòÉΓòÉ 11.3.4.5. Segment Selection ΓòÉΓòÉΓòÉ
  4521.  
  4522.  
  4523.             SEGMENT SELECTION
  4524.  
  4525.  
  4526. You can use here the same statements described in "Segment
  4527. Selection" in the Output Section (if not inside a "NoCompile"
  4528. block).
  4529.  
  4530.  
  4531. ΓòÉΓòÉΓòÉ 11.3.4.6. Export Block ΓòÉΓòÉΓòÉ
  4532.  
  4533.  
  4534.              EXPORT Block
  4535.  
  4536.  
  4537. FastLst can "export" segments of nodelist: e.g. you can export
  4538. the Region 25 from the world nodelist to a file called
  4539. Region25.???, where ??? stands for the day of the year. Note
  4540. that this feature is for exporting segments of nodelist to a
  4541. dedicated file. To compile segments you should continue using
  4542. the "Segment Selection" section of FastLst.Cfg.
  4543.  
  4544. These blocks MUST be at the _END_ of an "Input Block"; there can
  4545. be multiple Export Blocks in a single Input Block.
  4546.  
  4547. Obviously the Export Block is available for compiled nodelists
  4548. only, thus it is illegal inside a "NoCompile" block.
  4549.  
  4550. The export is done ONLY when a new NodeList is found (or when
  4551. the file to be exported exists neither in uncompressed nor in
  4552. archived form), even if the config file is changed. So, you can
  4553. safely hatch the created arcfile via the AfterArcExport command
  4554. with no danger of hatching it all the times you change something
  4555. in the cfg. Under these conditions, if you really want to export
  4556. anyway, you must use the -i command line switch.
  4557.  
  4558. IMPORTANT: If you use the same export filename for multiple
  4559. source nodelists, all the exported segments are appended one
  4560. another. This way, if you like, you can make FastLst generate a
  4561. "plain" nodelist file with many different source nodelists in
  4562. it, just appended one after another. Some people need this
  4563. feature to create input for some other program. For this feature
  4564. to work, you need to specify the '+' parameter in the "Export"
  4565. statement. See "Export Example" below.
  4566.  
  4567.  
  4568. ΓòÉΓòÉΓòÉ 11.3.4.6.1. Export ΓòÉΓòÉΓòÉ
  4569.  
  4570.  
  4571. Export [+] <file> [<PartAddrLst>]
  4572.  
  4573.     The '+' sign must be specified when you want to create a
  4574.     joined list by exporting multiple nodelists to the same
  4575.     export <file>. This way the exported file will be
  4576.     created every time the nodelist is compiled and its
  4577.     timestamp will not be changed to be equal to the source.
  4578.  
  4579.     <file> is the name of the file to which you want to
  4580.     export the selected segment(s).
  4581.  
  4582.     <PartAddrLst> is the partial address list of segments to
  4583.     be exported. Usually it is a single partial address.
  4584.     If omitted, the entire nodelist is exported (useful to
  4585.     create a joined nodelist).
  4586.  
  4587.     This statement marks the start of an "Export Block".
  4588.     Multiple "Export Blocks" are allowed in the same "Input
  4589.     Block".
  4590.  
  4591.     N.B. The Export blocks must be at the _END_ of an input
  4592.     block. See "Export Example" below.
  4593.  
  4594.   Example:
  4595.  
  4596.     Export region25.??? 2:25
  4597.  
  4598.  
  4599.  
  4600. ΓòÉΓòÉΓòÉ 11.3.4.6.2. Export Section ΓòÉΓòÉΓòÉ
  4601.  
  4602.  
  4603.              Export Section
  4604.  
  4605.  
  4606. The following verbs define the parameters for the Export
  4607. specified by the last "Export" statement.
  4608.  
  4609.  
  4610. ΓòÉΓòÉΓòÉ 11.3.4.6.2.1. ArcExport ΓòÉΓòÉΓòÉ
  4611.  
  4612.  
  4613. ArcExport <arcfile> [Keep#]
  4614.  
  4615.     <arcfile> is the name of the archive file to which you
  4616.     want to compress the exported <file>.
  4617.  
  4618.     [Keep#] is the optional number of archive versions to be
  4619.     kept, basing on the day of the year (the modification
  4620.     file date is also used to infer the correct
  4621.     chronological order).
  4622.  
  4623.   Example:
  4624.  
  4625.     ArcExport region25.??? 2
  4626.  
  4627.  
  4628. ΓòÉΓòÉΓòÉ 11.3.4.6.2.2. ArcExportDesc ΓòÉΓòÉΓòÉ
  4629.  
  4630.  
  4631. ArcExportDesc <description>
  4632.  
  4633.     <description> is the description to be applied to
  4634.     FILES.BBS when a new archive is created.
  4635.  
  4636.   Example:
  4637.  
  4638.     ArcExportDesc Region 25 %D, %a format
  4639.  
  4640.  
  4641.  
  4642. ΓòÉΓòÉΓòÉ 11.3.4.6.3. Export Global Section ΓòÉΓòÉΓòÉ
  4643.  
  4644.  
  4645.            Export Global Section
  4646.  
  4647.  
  4648. The following verbs can be used in the "Export Section" of an
  4649. "Export Block", in the "Input Section" of an "Input Block", in
  4650. the "Output Section" of an "Output Block", in the "Global
  4651. Section".
  4652.  
  4653. In few words, they are legal everywhere except for the
  4654. "NoCompile" block.
  4655.  
  4656. Depending on their positions, they affect the involved nodelists
  4657. only.
  4658.  
  4659.  
  4660. ΓòÉΓòÉΓòÉ 11.3.4.6.3.1. ArcExportMethod ΓòÉΓòÉΓòÉ
  4661.  
  4662.  
  4663. ArcExportMethod <meth>[,<f>] ...
  4664.  
  4665.     Specifies the archive type(s) to be created for the
  4666.     exported file.
  4667.  
  4668.     <meth> is the archiver name as defined in Compress.Cfg.
  4669.  
  4670.     <f> is the optional first letter to be used for variable
  4671.     archive extensions.
  4672.  
  4673.   Example:
  4674.  
  4675.     ArcExportMethod zip lh,H
  4676.  
  4677.  
  4678. ΓòÉΓòÉΓòÉ 11.3.4.6.3.2. BeforeArcExport/AfterArcExport ΓòÉΓòÉΓòÉ
  4679.  
  4680.  
  4681. BeforeArcExport <command>
  4682. AfterArcExport <command>
  4683.  
  4684.     Commands to be run before/after archiving the exported
  4685.     file.
  4686.  
  4687.     <command> can be any type of command (executable file,
  4688.     batch file, internal command, alias, etc.) and supports
  4689.     the %a (full archive name) and %f (name of the file to
  4690.     be compressed, no path) and is run from the directory
  4691.     where %f resides.
  4692.  
  4693.     WARNING: since <command> is executed from the directory
  4694.     where the file to be compressed belongs, you might need
  4695.     to specify the location of the config files used by the
  4696.     programs invoked via <command>.
  4697.  
  4698.   Example:
  4699.  
  4700.     AfterArcExport Hatch %a
  4701.  
  4702.  
  4703. ΓòÉΓòÉΓòÉ 11.3.4.6.3.3. ExportNeededBeforeKill ΓòÉΓòÉΓòÉ
  4704.  
  4705.  
  4706. ExportNeededBeforeKill
  4707.  
  4708.     Specifies that the exported file is needed by the
  4709.     "BeforeKillSource" command.
  4710.  
  4711.  
  4712. ΓòÉΓòÉΓòÉ 11.3.4.6.4. Export Example ΓòÉΓòÉΓòÉ
  4713.  
  4714.  
  4715.   Export Example:
  4716.  
  4717.         NodeList nodelist.???
  4718.           NodeDiff nodediff.???
  4719.           ArcList  nodelist.??? 2
  4720.           ArcDiff  nodediff.??? 5
  4721.           ArcListDesc Fido Nodelist for day %d (%D), %a format
  4722.           ArcDiffDesc Fido Nodediff for day %d,(%D), %a format
  4723.           Export region25.??? 2:25
  4724.             ArcExport region25.??? 1
  4725.             ArcExportDesc Region 25 %D, %a format
  4726.             ArcExportMethod zip lh
  4727.             AfterArcExport Hatch %a
  4728.           Export region24.??? 2:24
  4729.             ArcExport region24.??? 1
  4730.             ArcExportDesc Region 24 %D, %a format
  4731.             ArcExportMethod zip
  4732.  
  4733.  
  4734.  
  4735.   Export Example to generate a joined list:
  4736.  
  4737.         NodeList nodelist.???
  4738.           NodeDiff nodediff.???
  4739.           ArcList  nodelist.??? 2
  4740.           ArcDiff  nodediff.??? 5
  4741.           ArcListDesc Fido Nodelist for day %d (%D), %a format
  4742.           ArcDiffDesc Fido Nodediff for day %d,(%D), %a format
  4743.           Export + megalist.Lst
  4744.  
  4745.         NodeList zonelist.???
  4746.           NodeDiff zonediff.???
  4747.           ArcList  zonelist.??? 2
  4748.           ArcDiff  zonediff.??? 5
  4749.           ArcListDesc Zonelist for day %d (%D), %a format
  4750.           ArcDiffDesc Zonediff for day %d,(%D), %a format
  4751.           Export + megalist.Lst
  4752.             ArcExport megalist.??? 1
  4753.             ArcExportDesc MegaList, %a format
  4754.             ArcExportMethod zip lh
  4755.  
  4756.  
  4757.  
  4758.  
  4759. ΓòÉΓòÉΓòÉ 11.4. Compress Definition File ΓòÉΓòÉΓòÉ
  4760.  
  4761.  
  4762.           COMPRESS DEFINITION FILE
  4763.  
  4764.  
  4765. The file specified in the CompressCfg statement is a sequence of
  4766. Archive definition blocks, each one starting with "Archiver" and
  4767. ending with "End Archiver". You can find an example in the
  4768. Compress.Cfg file included in the distribution pack.
  4769.  
  4770. The order of the archive definition blocks within this file may
  4771. be important: when trying to unpack a compressed file, the list
  4772. of archivers is scanned in a reverse order.
  4773.  
  4774. In the case of two archivers that use the same identification
  4775. string (e.g. ARC and PAK), you must specify the archiver that
  4776. can unpack both (PAK) after the other one (ARC).
  4777.  
  4778. The compress.cfg file can be shared between DOS/NT and OS/2
  4779. applications: the "DOS" and "OS2" keywords are available to
  4780. distinguish between the commands to be used under DOS/NT and
  4781. OS/2.
  4782.  
  4783. O.S. specific archivers or commands must be prefixed with the
  4784. relevant keyword.
  4785.  
  4786. IMPORTANT NOTE: The lines that begin with "DOS" or "OS2" are
  4787. parsed by the DOS/NT and OS/2 versions respectively. If you need
  4788. the OS/2 version to execute a DOS command, you MUST NOT use the
  4789. DOS keyword: if you do, it will never parse that line; if you do
  4790. not, it will execute the DOS command "normally", provided you
  4791. have installed OS/2's Dos support.
  4792.  
  4793. See the examples below.
  4794.  
  4795.  
  4796. ΓòÉΓòÉΓòÉ 11.4.1. Archiver ΓòÉΓòÉΓòÉ
  4797.  
  4798.  
  4799. Archiver <ARCname>
  4800.  
  4801.     Starts the Archive definition block.
  4802.  
  4803.     <ARCname> is the name used to identify this archiver.
  4804.  
  4805.   Example:
  4806.  
  4807.     Archiver ZIP
  4808.  
  4809.  
  4810. ΓòÉΓòÉΓòÉ 11.4.2. Extension ΓòÉΓòÉΓòÉ
  4811.  
  4812.  
  4813. Extension  <ext>
  4814.  
  4815.     Specifies the default extension for the compressed
  4816.     files.
  4817.  
  4818.   Example:
  4819.  
  4820.     Extension ZIP
  4821.  
  4822.  
  4823. ΓòÉΓòÉΓòÉ 11.4.3. Ident ΓòÉΓòÉΓòÉ
  4824.  
  4825.  
  4826. Ident <ofs>,<ID>
  4827.  
  4828.     <ofs> is a decimal integer number representing the
  4829.     offset at which an archive identity marker <ID> must be
  4830.     present.
  4831.  
  4832.     Negative values can be used to indicate offsets from the
  4833.     END of a compressed file. -1 means "the last byte", -2
  4834.     "the second last byte" and so on.
  4835.  
  4836.     <ID> is a series of hexadecimal figures which represent
  4837.     the bytes of the marker string that must be present at
  4838.     the specified offset of the archive file.
  4839.  
  4840.   Example:
  4841.  
  4842.     Ident 0,504b0304  ; "PK^c^d"
  4843.  
  4844.  
  4845. ΓòÉΓòÉΓòÉ 11.4.4. Add ΓòÉΓòÉΓòÉ
  4846.  
  4847.  
  4848. Add <command>
  4849.  
  4850.     Specifies the command to add files to an archive.
  4851.     %a and %f are translated to the name of the archive and
  4852.     file to add.
  4853.  
  4854.   Example:
  4855.  
  4856.     Add zip -jk %a %f
  4857.  
  4858.  
  4859. ΓòÉΓòÉΓòÉ 11.4.5. Extract ΓòÉΓòÉΓòÉ
  4860.  
  4861.  
  4862. Extract <command>
  4863.  
  4864.     Specifies the command to extract files from an archive.
  4865.     %a and %f are translated to the name of the archive and
  4866.     file to extract.
  4867.  
  4868.   Example:
  4869.  
  4870.     Extract unzip -qqnjC %a %f
  4871.  
  4872.  
  4873. ΓòÉΓòÉΓòÉ 11.4.6. View ΓòÉΓòÉΓòÉ
  4874.  
  4875.  
  4876. View <command>
  4877.  
  4878.     This line is recognized and accepted for compatibility,
  4879.     but not used.
  4880.  
  4881.  
  4882. ΓòÉΓòÉΓòÉ 11.4.7. End Archiver ΓòÉΓòÉΓòÉ
  4883.  
  4884.  
  4885. End Archiver
  4886.  
  4887.     This statement is used to close a Archive definition.
  4888.  
  4889.  
  4890. ΓòÉΓòÉΓòÉ 11.4.8. Examples ΓòÉΓòÉΓòÉ
  4891.  
  4892.               Examples
  4893.  
  4894.  
  4895.   Complete example 1 (you need OS/2 only):
  4896.  
  4897. Archiver ZIP
  4898.    Extension   ZIP
  4899.    Ident     0,504b0304
  4900.    Add      zip -jk %a %f
  4901.    Extract    unzip -qqnjC %a %f
  4902.    View      unzip -v %a
  4903. End Archiver
  4904.  
  4905.  
  4906.   Complete example 2 (you need DOS only):
  4907.  
  4908. Archiver ZIP
  4909.    Extension   ZIP
  4910.    Ident     0,504b0304
  4911.    Add      pkzip -a %a %f
  4912.    Extract    pkunzip -n %a %f
  4913.    View      pkzip -v %a
  4914. End Archiver
  4915.  
  4916.  
  4917.   Complete example 3 (you need both OS/2 and DOS):
  4918.  
  4919. Archiver ZIP
  4920.    Extension   ZIP
  4921.    Ident     0,504b0304
  4922. OS2  Add      zip -jk %a %f
  4923. DOS  Add      pkzip -a %a %f
  4924. OS2  Extract    unzip -qqnjC %a %f
  4925. DOS  Extract    pkunzip -n %a %f
  4926. OS2  View      unzip -v %a
  4927. DOS  View      pkzip -v %a
  4928. End Archiver
  4929.  
  4930.  
  4931.   Complete example 4 (archiver to be used under DOS only):
  4932.  
  4933. DOS Archiver ZOO
  4934. DOS   Extension    ZOO
  4935. DOS   Ident      0,5a4f4f             ; "ZOO"
  4936. DOS   Add       zoo a: %a %f
  4937. DOS   Extract     zoo e:O %a %f
  4938. DOS   View       zoo v %a
  4939. DOS End Archiver
  4940.  
  4941.  
  4942.   Complete example 5 (it's a DOS executable, to be used under
  4943.             DOS or OS/2 indifferently):
  4944.  
  4945. Archiver ZOO
  4946.    Extension    ZOO
  4947.    Ident      0,5a4f4f             ; "ZOO"
  4948.    Add       zoo a: %a %f
  4949.    Extract     zoo e:O %a %f
  4950.    View       zoo v %a
  4951. End Archiver
  4952.  
  4953.  
  4954. ΓòÉΓòÉΓòÉ 12. TroubleShooting ΓòÉΓòÉΓòÉ
  4955.  
  4956.  
  4957.          T R O U B L E S H O O T I N G
  4958.  
  4959.  
  4960. ΓòÉΓòÉΓòÉ 12.1. Lost Passwords ΓòÉΓòÉΓòÉ
  4961.  
  4962.  
  4963.              Lost Passwords
  4964.  
  4965. Problem:
  4966.      A password is configured, but the mailer-session is
  4967.      unprotected as if there were no password at all.
  4968.  
  4969. Solution:
  4970.      Please note that the order of Input-Nodelists and
  4971.      Password-Definitions is important.
  4972.  
  4973.      If a node is included multiple times (it is listed in
  4974.      2 or more nodelists), FastLst will index the LAST
  4975.      occurrence only.
  4976.  
  4977.      4D-Pointlists using the "Point," method override the
  4978.      entries of all the listed BOSSes: it's recommended to
  4979.      list "older" nodelists first, so that the newer
  4980.      entries are indexed.
  4981.  
  4982.      NodeList 4dPoints.Lst
  4983.       [...]
  4984.      NodeList nodelist.???
  4985.       [...]
  4986.  
  4987.  
  4988. ΓòÉΓòÉΓòÉ 12.2. Extraction problem ΓòÉΓòÉΓòÉ
  4989.  
  4990.  
  4991.             Extraction problem
  4992.  
  4993. Problem:
  4994.      FastLst does not extract the correct
  4995.      nodelist/nodediff.
  4996.  
  4997. Solution:
  4998.      Perhaps there is some nodelist/nodediff with corrupted
  4999.      file date. Check your "ArcPath", manually extract to
  5000.      the "InputPath" the required nodelist/nodediff and
  5001.      delete the archive (or reset its file-date so that it
  5002.      is similar to that of the enclosed file). FastLst will
  5003.      automatically rearchive the nodelist/nodediff if you
  5004.      use "ArcMethod"/"ArcDiffMethod", otherwise you can
  5005.      rearchive manually.
  5006.  
  5007.  
  5008. ΓòÉΓòÉΓòÉ 12.3. Out of Memory ΓòÉΓòÉΓòÉ
  5009.  
  5010.  
  5011.              Out of Memory
  5012.  
  5013. Problem:
  5014.      FastLst runs out of memory (Dos versions).
  5015.  
  5016. Solution:
  5017.      - give more DPMI memory to FastLst
  5018.  
  5019.      - enable the DOS4GW virtual memory mode, using the
  5020.       DOS4GVM environment variable (e.g. for 16MB virtual
  5021.       allocation size: SET DOS4GVM=VirtualSize#16384).
  5022.  
  5023.       This works under real Dos only: if you are using
  5024.       OS/2 dos sessions, use a higher DPMI_MEMORY_LIMIT in
  5025.       the Dos settings.
  5026.  
  5027.  
  5028. ΓòÉΓòÉΓòÉ 12.4. Problems with Empty Phone entries ΓòÉΓòÉΓòÉ
  5029.  
  5030.  
  5031.         Problems with Empty Phone entries
  5032.  
  5033. Problem:
  5034.      Some program behaves oddly while accessing entries
  5035.      that contain an empty phone number.
  5036.  
  5037. Solution:
  5038.      The problem might be caused by the cost that is
  5039.      assigned to empty-phone nodes (65535 by default).
  5040.      Try using the "CostNullPhone" global statement to give
  5041.      lower costs.
  5042.  
  5043.      Example:
  5044.  
  5045.      CostNullPhone 900 0
  5046.  
  5047.  
  5048. ΓòÉΓòÉΓòÉ 12.5. Slow processing ΓòÉΓòÉΓòÉ
  5049.  
  5050.  
  5051.             Slow processing
  5052.  
  5053. Problem:
  5054.      FastLst works very slowly.
  5055.  
  5056. Solution:
  5057.      Perhaps you are compiling a large nodelist or set of
  5058.      nodelists on a system with few MegaBytes of free
  5059.      physical RAM, so that the OS needs to extensively use
  5060.      virtual memory. Try using the "LinkOnDisk" statement
  5061.      in the configuration file.
  5062.  
  5063.  
  5064. ΓòÉΓòÉΓòÉ 12.6. System performance degradation ΓòÉΓòÉΓòÉ
  5065.  
  5066.  
  5067.          System performance degradation
  5068.  
  5069. Problem:
  5070.      FastLst loads the system excessively, so that other
  5071.      OS/2 tasks don't perform properly (OS/2 version).
  5072.  
  5073. Solution:
  5074.      Use the "Priority Idle" statement in the configuration
  5075.      file, so that FastLst receives its time slices only
  5076.      when other processes with higher priority are idle.
  5077.  
  5078.  
  5079. ΓòÉΓòÉΓòÉ 12.7. I want maximum speed ΓòÉΓòÉΓòÉ
  5080.  
  5081.  
  5082.            I want maximum speed
  5083.  
  5084. Problem:
  5085.      I run FastLst while the communications are off, so I
  5086.      would like it to run as fast as possible even if it is
  5087.      in the background and other tasks are active (OS/2
  5088.      version).
  5089.  
  5090. Solution:
  5091.      Use the "Priority High 31" statement in the
  5092.      configuration file, so that FastLst receives the
  5093.      maximum priority for "non time-critical" processes.
  5094.  
  5095.  
  5096. ΓòÉΓòÉΓòÉ 12.8. Archived Diffs are not applied ΓòÉΓòÉΓòÉ
  5097.  
  5098.  
  5099.          Archived Diffs are not applied
  5100.  
  5101. Problem:
  5102.      FastLst does not apply the archived Diffs.
  5103.  
  5104. Solution:
  5105.      Remember that "InputPath <path>" is the default path
  5106.      for lists and diffs, while "ArcPath <path>" is the one
  5107.      for archives.
  5108.  
  5109.      Please compare your Compress.cfg with the example one,
  5110.      check the paths and try the commands manually.
  5111.  
  5112.      Check the day-extensions and time-stamps of the
  5113.      relevant files.
  5114.  
  5115.  
  5116. ΓòÉΓòÉΓòÉ 12.9. Dos/32 DOS4GW exception ΓòÉΓòÉΓòÉ
  5117.  
  5118.  
  5119.           Dos/32 DOS4GW exception
  5120.  
  5121. Problem:
  5122.      The Dos/32 version of FastLst aborts with an exception
  5123.      from the Dos extender.
  5124.  
  5125. Solution:
  5126.      Try booting with a "clean" config.sys and autoexec.bat
  5127.      (the Dos extender might be incompatible with some of
  5128.      your loaded drivers or TSRs.
  5129.  
  5130.  
  5131. ΓòÉΓòÉΓòÉ 12.10. Dial Scripts and VMODEM addresses ΓòÉΓòÉΓòÉ
  5132.  
  5133.  
  5134.         Dial Scripts and VMODEM addresses
  5135.  
  5136. Problem:
  5137.      How can I put script names or internet addresses in
  5138.      the place of a phone number ?
  5139.  
  5140. Solution:
  5141.      You may use the "Phone" statement.
  5142.  
  5143.      Example:
  5144.  
  5145.      Let's suppose the following Modem Type table is
  5146.      defined:
  5147.  
  5148.           TypeDef
  5149.             X75    1
  5150.             V34    2
  5151.             VM     3
  5152.           End
  5153.  
  5154.  
  5155.      You may use a Phone override of this kind:
  5156.  
  5157.           Phone 2:345/678 domain.com VM,CM 10 0
  5158.  
  5159.  
  5160.      And a ModemTrans (for Binkley's VMODEM line):
  5161.  
  5162.           ModemTrans   0
  5163.           ModemTrans   1
  5164.           ModemTrans   2
  5165.           ModemTrans   3 ATDT#  ; Vmodem
  5166.  
  5167.  
  5168.  
  5169. ΓòÉΓòÉΓòÉ 12.11. Region and zone-level Export ΓòÉΓòÉΓòÉ
  5170.  
  5171.  
  5172.          Region and zone-level Export
  5173.  
  5174. Problem:
  5175.      How can I export a Region segment together with the
  5176.      zone-level entries ?
  5177.  
  5178. Solution:
  5179.      The zone level entries have the Region/Net field equal
  5180.      to the zone number; you can use the Export statement
  5181.      in the following way:
  5182.  
  5183.      export MyR33.??? 1:1 2:2 2:33 3:3 4:4 5:5 6:6
  5184.  
  5185.  
  5186. ΓòÉΓòÉΓòÉ 12.12. Support ? ΓòÉΓòÉΓòÉ
  5187.  
  5188.  
  5189.               Support ?
  5190.  
  5191. Problem:
  5192.      I cannot find the solution to my problems.
  5193.  
  5194. Solution:
  5195.      - Try linking the APWORKS support echo
  5196.      - Try asking your local supporter
  5197.      - Try asking the author directly
  5198.      You can find the addresses in the ReadMe.1st file.
  5199.  
  5200.  
  5201. ΓòÉΓòÉΓòÉ 13. SHAREWARE ΓòÉΓòÉΓòÉ
  5202.  
  5203.  
  5204.             S H A R E W A R E
  5205.  
  5206.  
  5207. If you like this program and continue using it, you should pay
  5208. the author for his work, as per the ShareWare concept of
  5209. distribution.
  5210.  
  5211. Please see LICENSE.DOC and REGISTER.DOC for information.
  5212.  
  5213. Thank you for your interest in FastLst.
  5214.  
  5215.  
  5216. ΓòÉΓòÉΓòÉ 13.1. License.Doc ΓòÉΓòÉΓòÉ
  5217.  
  5218.  
  5219.            ΓòöΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòù
  5220.            Γòæ        Γòæ
  5221.            Γòæ F A S T L S T Γòæ
  5222.            Γòæ        Γòæ
  5223.            ΓòÜΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓò¥
  5224.  
  5225.  
  5226.             L I C E N S E
  5227.  
  5228.              P O L I C Y
  5229.  
  5230.              June 1997
  5231.  
  5232.  
  5233. This software (program and accompanying documentation) are:
  5234.  
  5235. Copyright (c) 1992-1997 Alberto Pasquale, all rights reserved.
  5236.  
  5237.  
  5238.            DISTRIBUTION FORMAT
  5239.  
  5240.  
  5241. This software is distributed in a locked RAR archive, with
  5242. embedded authenticity-verification information.
  5243.  
  5244. The distribution of modified archives, including those derived
  5245. from the conversion to a different archiver, is explicitly
  5246. prohibited.
  5247.  
  5248. When the RAR extension is not accepted, you should store the
  5249. original RAR archive inside a ZIP one.
  5250.  
  5251.  
  5252.  
  5253.            S H A R E W A R E
  5254.  
  5255.  
  5256. This software is distributed as ShareWare: you are granted the
  5257. right to evaluate the program for a maximum of 30 days before
  5258. paying the author. After the evaluation period, you are required
  5259. to either register (see REGISTER.DOC) or stop using the program.
  5260.  
  5261. You are encouraged to distribute the original and unmodified
  5262. package freely, in any form and on any media, provided you do
  5263. not charge any fee for the program itself.
  5264.  
  5265. This package could be included in CD-ROM collections,
  5266. subscription download areas, BBS packages, provided it remains
  5267. in its complete and unmodified original archive.
  5268.  
  5269. In any case, the user must register with the author after the
  5270. evaluation period.
  5271.  
  5272. IMPORTANT: the registration is NOT a trade transaction, it is to
  5273. be considered as payment of royalties; therefor the registration
  5274. key is personal and NOT transferrable.
  5275.  
  5276.  
  5277.              DISCLAIMER
  5278.  
  5279.  
  5280. This software is provided on an "as is" basis without warranty
  5281. of any kind, expressed or implied, including but not limited to
  5282. the implied warranties of merchantability and fitness for a
  5283. particular purpose.
  5284.  
  5285. The person using the software bears all risk as to its quality
  5286. and performance.
  5287.  
  5288. The author will not be liable for any special, incidental,
  5289. consequential, indirect or similar damages due to loss of data
  5290. or any other reason.
  5291.  
  5292.  
  5293. ΓòÉΓòÉΓòÉ 13.2. Register.Doc ΓòÉΓòÉΓòÉ
  5294.  
  5295.  
  5296.   *******  **   ****  ******  ****   ****  ******
  5297.   **  *  ****  **  **  * ** *  **   **  **  * ** *
  5298.   ** *  **  **  **     **   **   **     **
  5299.   ****  **  **  ****   **   **    ****   **
  5300.   ** *  ******    **   **   **  *   **   **
  5301.   **   **  **  **  **   **   **  ** **  **   **
  5302.   ****   **  **  ****   ****  *******  ****   ****
  5303.  
  5304.  
  5305.     (C) Copyright 1992-1997  by  Alberto Pasquale
  5306.  
  5307.       A L L  R I G H T S  R E S E R V E D
  5308.  
  5309.  
  5310. For licensing terms and disclaimer, see LICENSE.DOC.
  5311.  
  5312. This program required a lot of work: by registering you will
  5313. support me in developing this and other similar products.
  5314.  
  5315. You will receive a registration Key that removes the initial 2
  5316. second pause and makes the program show "Registered <month/year>
  5317. To: <Reg.String>" instead of the registration request banner.
  5318.  
  5319. The registration is guaranteed valid for all future minor
  5320. updates and, in any case, for all versions that will be released
  5321. in a period of 2 years after registration. After this period, an
  5322. upgrade fee might possibly be required in the case of major new
  5323. releases.
  5324.  
  5325. The registration key works FOREVER with the current version of
  5326. the program for ANY platform: you do not have to pay anything in
  5327. the case you change your operating system.
  5328.  
  5329. ΓòöΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòù
  5330. Γòæ                               Γòæ
  5331. Γòæ Registration fee: US$ 25, DEM 35, ITL 30,000 or (see below) Γòæ
  5332. Γòæ                               Γòæ
  5333. ΓòÜΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓò¥
  5334.  
  5335.  
  5336.  
  5337. ΓòÉΓòÉΓòÉ 13.2.1. How to Register ΓòÉΓòÉΓòÉ
  5338.  
  5339.  
  5340.             HOW TO REGISTER
  5341.  
  5342.  
  5343.  
  5344. Registering is quite easy; you can register:
  5345.  
  5346.  
  5347. - Directly with me by cash, check or international
  5348.  (not domestic !) postal money order.
  5349.  
  5350. - via local Registration Site in Canada, Germany, UK.
  5351.  
  5352. - via BMT Micro (Wilmington, NC, USA), by credit card, money
  5353.  order, cashiers check, personal check, German or British
  5354.  currency.
  5355.  
  5356. - via PsL (Houston, TX, USA), by credit card.
  5357.  
  5358.  
  5359. The registration key will be delivered via internet e-mail or
  5360. crash netmail depending on availability; fax and postal mail
  5361. will be used only in case of problems.
  5362.  
  5363. Should you not receive your registration key in a reasonable
  5364. time, please feel free to contact me.
  5365.  
  5366. Please allow at least 3 weeks for response to international
  5367. airmail.
  5368.  
  5369.  
  5370. Please address your requests, complaints, suggestions to:
  5371.  
  5372.  Alberto Pasquale of 2:332/504@fidonet
  5373.  
  5374.    bug@apworks.com     Bug Reports
  5375. feedback@apworks.com     General Feedback (no answer required)
  5376.   info@apworks.com     Request for information
  5377.   sales@apworks.com     Commercial stuff
  5378.  support@apworks.com     Technical Support
  5379.  
  5380.  
  5381.  2:332/504@fidonet +39-59-246112 X75 V120 X2 V34+ V32T H16
  5382.  2:332/524@fidonet +39-59-246113 X75 CCB
  5383.  FAX:        +39-59-246113
  5384.  
  5385.  
  5386. ΓòÉΓòÉΓòÉ 13.2.1.1. Author's ΓòÉΓòÉΓòÉ
  5387.  
  5388.       Hot to register directly with the author
  5389.  
  5390. You have to send the registration information and money to:
  5391.  
  5392.    Alberto Pasquale
  5393.    Viale Verdi 106
  5394.    41100 Modena
  5395.    Italy
  5396.  
  5397.  
  5398. Since the registration is a payment of royalties (not a
  5399. commercial transaction), there is NO added VAT and NO commercial
  5400. invoice.
  5401.  
  5402. People who need a formal receipt for fiscal deduction are kindly
  5403. requested to send the necessary data _together_ with the
  5404. registration information.
  5405.  
  5406.  
  5407. ΓòÉΓòÉΓòÉ 13.2.1.1.1. Bank Transfer ΓòÉΓòÉΓòÉ
  5408.  
  5409.  
  5410. Bank Transfer:
  5411.    Send US$ 25, DEM 35, ITL 30,000 or the equivalent of US$
  5412.    25 to the following account:
  5413.  
  5414.    SWIFT:       CARIITMF615
  5415.    ABI/CAB/CC:    6070 12900 5328/1
  5416.  
  5417.    Bank name: CARIPLO (Punto Cariplo di Modena)
  5418.          Via Ciro Menotti 90, 41100 Modena Italy
  5419.    Account name: Pasquale Alberto
  5420.  
  5421.  
  5422. ΓòÉΓòÉΓòÉ 13.2.1.1.2. Cash ΓòÉΓòÉΓòÉ
  5423.  
  5424.  
  5425. Cash:
  5426.    Just put the (accurately hidden) banknotes (US$ 25, DEM
  5427.    35, ITL 30,000) together with Register.For in an envelope.
  5428.    If you do not have US dollars, German marks or Italian
  5429.    liras and do not like going to the bank, you can send the
  5430.    equivalent of US$ 25 in your currency, provided it is
  5431.    commonly exchangeable.
  5432.  
  5433.  
  5434. ΓòÉΓòÉΓòÉ 13.2.1.1.3. Check ΓòÉΓòÉΓòÉ
  5435.  
  5436.  
  5437. Check:
  5438.    Just put the check (accurately hidden) together with
  5439.    Register.For in an envelope. Please read carefully the
  5440.    following instructions:
  5441.  
  5442.    - Eurocheque: ITL 35,000 (thirtyfive thousand).
  5443.  
  5444.    - Italian check: 30.000 lire
  5445.  
  5446.    - Other (bank) checks: US$ 25, DEM 35 or equivalent of
  5447.     US$ 25 in your currency.
  5448.  
  5449.    ATTENTION: NO Postal Checks please.
  5450.  
  5451.  
  5452. ΓòÉΓòÉΓòÉ 13.2.1.1.4. Postal Money Order ΓòÉΓòÉΓòÉ
  5453.  
  5454.  
  5455. Postal Money Order:
  5456.  
  5457.    Just go to the post office and ask for an _INTERNATIONAL_
  5458.    postal money order. It is best to go to a major post
  5459.    office, since minor ones are generally not used dealing
  5460.    with international money orders. Usually you can choose
  5461.    whether to use your currency or the recipient's.
  5462.  
  5463.    Please be sure to specify the necessary registration
  5464.    information in the "sender message" field or send
  5465.    Register.For separately to the author.
  5466.  
  5467.    - International money order in italian liras: ITL 30,000
  5468.     (thirty thousand).
  5469.  
  5470.    - International money order in your currency: US$ 25,
  5471.     DEM 35 or equivalent of US$ 25.
  5472.  
  5473.    - Italian money order "vaglia": 30.000 lire.
  5474.  
  5475.    IMPORTANT: Please DO NOT send me normal "domestic" postal
  5476.    money orders, since they are not payable outside of your
  5477.    country; you must use INTERNATIONAL postal money orders.
  5478.  
  5479.    If you would like to receive the key soon, you
  5480.    can FAX me (+39-59-246113) the receipt of the
  5481.    postal money order together with REGISTER.FOR.
  5482.  
  5483.  
  5484. ΓòÉΓòÉΓòÉ 13.2.1.2. Local Registration/Support sites ΓòÉΓòÉΓòÉ
  5485.  
  5486.  
  5487. Local Registration/Support Sites:
  5488.  
  5489.     If you choose this way, you will have contacts with the
  5490.     local supporter only: you will send him the money and
  5491.     registration form; in a few days you will receive your
  5492.     key.
  5493.  
  5494.  
  5495. ΓòÉΓòÉΓòÉ 13.2.1.2.1. Canada ΓòÉΓòÉΓòÉ
  5496.  
  5497.  
  5498. Canada:
  5499.  
  5500.     Mary-Anne Wise
  5501.  
  5502.     58-771 Columbia St.
  5503.     New Westminster, BC V3M 1B6
  5504.  
  5505.     Fidonet:  1:153/831
  5506.  
  5507.     Internet: MWISE@bc.sympatico.ca
  5508.  
  5509.     Reg. Fee: CDN 32.50
  5510.  
  5511.     Methods of payment: cheque, money order
  5512.  
  5513.  
  5514. ΓòÉΓòÉΓòÉ 13.2.1.2.2. Germany ΓòÉΓòÉΓòÉ
  5515.  
  5516.  
  5517. Germany:
  5518.  
  5519.     Roland Schiradin
  5520.     Stockbornstr. 10
  5521.     65343 Eltville
  5522.     Germany
  5523.  
  5524.     Fidonet:  2:2454/169 Mail Only
  5525.     Internet: schiradi@tap.de
  5526.  
  5527.     Reg. Fee: DEM 35
  5528.  
  5529.     He has the APWORKS support echo and TIC file-areas for
  5530.     my programs available. Besides he can provide you with
  5531.     information about the nodes carrying APWORKS in
  5532.     Germany.
  5533.  
  5534.     He has the latest version of ApWorks programs available
  5535.     for F/R with the same magics listed in Readme.1st.
  5536.  
  5537.  
  5538. ΓòÉΓòÉΓòÉ 13.2.1.2.3. United Kingdom ΓòÉΓòÉΓòÉ
  5539.  
  5540.  
  5541. United Kingdom:
  5542.  
  5543.     Vince Coen
  5544.     Applewood House
  5545.     Epping Road
  5546.     Roydon, Harlow
  5547.     Essex, CM19 5DA, UK
  5548.  
  5549.     Fidonet: 2:257/609
  5550.  
  5551.     Reg. Fee: GBP 15.00
  5552.  
  5553.     Payment can be in Cash, Cheque (bankers card number on
  5554.     order form please), EuroCheck, Credit Card or direct to
  5555.     my bankers. Payment MUST be in Pounds Sterling.
  5556.  
  5557.     For payment through the bank:
  5558.     Bank:     First Direct.
  5559.     Sort code:   40-47-86.
  5560.     Account:    00449334
  5561.     Account name: Vincent Coen.
  5562.  
  5563.     Payment reference must include Sysop name and node number.
  5564.  
  5565.     For payment via Visa/Mastercard/Eurocard there is a 5.50%
  5566.     surcharge which will add 0.83 to the cost of 15.00, i.e.
  5567.     15.83 Pounds Sterling.
  5568.     Credit Card details needed: Name and address of card
  5569.     holder, Card number and card expiry date.
  5570.  
  5571.     The latest version of ApWorks programs are available
  5572.     for F/R with the same magics listed in Readme.1st.
  5573.  
  5574.  
  5575.  
  5576. ΓòÉΓòÉΓòÉ 13.2.1.3. BMT Micro ΓòÉΓòÉΓòÉ
  5577.  
  5578.          How to register with BMT Micro
  5579.  
  5580. The simplest way is to register online on the internet via the
  5581. Secure Server:
  5582.  
  5583. - go to my Home Page (http://apworks.com)
  5584. - click on "Secure Order" under "FastLst"
  5585.  
  5586. Otherwise you have to fill in the BmtMicro.For registration form
  5587. and send it (or equivalent information) to BMT Micro.
  5588.  
  5589. The registration fee is US$ 25.
  5590.  
  5591. ATTENTION: for any question regarding the program, its
  5592. registration, support etc, you must contact me directly.
  5593. Please contact BMT Micro to order ONLY.
  5594.  
  5595. Usually your key will be delivered within 2 business days.
  5596.  
  5597. In certain holiday periods (Christmas, Easter, end of July,
  5598. first half of August) there might be some delay (a few days for
  5599. Christmas or Easter, a couple of weeks in July/August). If you
  5600. think your order is particularly late, please contact me first !
  5601.  
  5602.  
  5603.     Mail Orders To: BMT Micro
  5604.             PO Box 15016
  5605.             Wilmington, NC  28408
  5606.             U.S.A.
  5607.  
  5608.      Voice Orders: 8:00am - 7:00pm EST (-5 GMT)
  5609.             (800) 414-4268 (Orders only)
  5610.             (910) 791-7052 (Orders / Order Inquires)
  5611.  
  5612.       Fax Orders: (800) 346-1672 24 hours, 7 days a week
  5613.             (910) 350-2937 24 hours, 7 days a week
  5614.  
  5615. Online Orders via BBS: (910) 350-8061 10 lines, all 14.4K
  5616.             (910) 799-0923 28.8k line
  5617.  
  5618. On the Web:       http://www.bmtmicro.com
  5619.             http://www.os2ss.com
  5620.             http://www.frankson.aus.net/bmtaust/
  5621.  
  5622. Ordering and general ordering questions:
  5623.           Via AOL: bmtmicro
  5624.           via MSN: bmtmicro
  5625.         Via Prodigy: HNGP66D
  5626.        via Compuserve: 74031,307
  5627.         via Internet: orders@bmtmicro.com
  5628.                telnet@bmtmicro.com
  5629.  
  5630. Credit cards: Visa, Mastercard, Discover, American Express,
  5631.        Diners Club, Carte Blanche.
  5632.  
  5633. They also accept money orders, cashiers checks, personal checks.
  5634. Personal checks are subject to clearance.
  5635. US Currency is welcome (only by registered mail, return receipt
  5636. requested).
  5637.  
  5638.       BMTMICRO ORDERING FROM INSIDE GERMANY ONLY
  5639.       ==========================================
  5640.  
  5641. Persons in Germany may also transfer funds into the BMTMICRO
  5642. account with Deutsche Bank.  Once the money is deposited you
  5643. may either fax a confirmation to BMTMICRO with proof of deposit
  5644. or wait until Deutsche Bank notifies them of the transaction
  5645. (usually 10-18 business days). Account information is as
  5646. follows:
  5647.  
  5648. Deutsche Bank / Frankfurt Branch
  5649. Empf╨önger:  Thomas Bradford / BMT Micro
  5650. Konto-Nummer: 0860221
  5651. Bankleitzahl: 500-700-10
  5652.  
  5653. When you make the transfer, be sure to put your name and the
  5654. program you are registering on the transfer.
  5655.  
  5656. Current exchange rates can be obtained by sending an email to
  5657. dm_to_us@bmtmicro.com.  An automated reply will return todays
  5658. exchange rates.
  5659.  
  5660. It is very important that you send BMTMICRO a completed order
  5661. form by either email or fax if you deposit money into this
  5662. account for a registration.  Fill the order form out as usual
  5663. except in the credit card number field put "DEUTSCHE BANK". They
  5664. will file the order and use it to match against the deposit
  5665. information they receive from the bank.
  5666.  
  5667.               IMPORTANT!
  5668.               ----------
  5669. When you email BMTMICRO your order form, they will reply with an
  5670. acknowledgement.  If you do not get an acknowledgement within
  5671. 24 hours please send your order again in case it was lost.  This
  5672. extra bit of caution can save a lot of confusion.
  5673.  
  5674. If you are concerned that your order is taking too long to
  5675. process, feel free to check with BMTMICRO about the status of
  5676. your order.  It's important to all of us that you feel safe
  5677. doing business with BMTMICRO and please feel free to suggest
  5678. ways we can improve our service to you.
  5679.  
  5680.  
  5681. ΓòÉΓòÉΓòÉ 13.2.1.4. PsL ΓòÉΓòÉΓòÉ
  5682.  
  5683.       How to register with PsL (by credit card)
  5684.  
  5685.  
  5686. You must fill in the PsL.Crd and Register.For forms; then
  5687. you must send BOTH of them to PSL directly (they will forward
  5688. Register.for information to me).
  5689.  
  5690. You can order with MasterCard, Visa, American Express or
  5691. Discover Card: the charge is US$ 25.
  5692.  
  5693. ATTENTION: you MUST NOT send me any information about your
  5694. credit card. If you do, I am NOT allowed to forward your credit
  5695. card info to PSL.
  5696.  
  5697. ATTENTION: for any question regarding the program, its
  5698. registration, key delivery etc, you must contact me directly.
  5699. You must contact PSL to order ONLY.
  5700.  
  5701. PSL will notify me your order within one business day and I will
  5702. usually send your key by e-mail or crash netmail within 24h, so
  5703. if you order by fax or phone, you should usually receive your
  5704. key within 2 business days.
  5705.  
  5706. ATTENTION: In certain "holiday" periods (Christmas, Easter, end
  5707. of July, first half of August) there might be some delay (a few
  5708. days for Christmas or Easter, a couple of weeks in July/August).
  5709. If you think your order is particularly late, please contact me
  5710. first !
  5711.  
  5712. ATTENTION: It may happen that the PSL operator asks you for your
  5713. preferred diskette format. You must be aware that this may be
  5714. "standard" PSL procedure, but I will send you a key ONLY (via
  5715. e-mail, crash netmail, fax or letter), since you already have
  5716. the program.
  5717.  
  5718. IMPORTANT: Please, be sure to always give PsL the address where
  5719. you want to receive your key: e-mail address, fidonet name _and_
  5720. address, fax number, and/or complete postal address. If you are
  5721. not in the fidonet nodelist and I don't receive enough
  5722. information, I will be forced to send you an air-mail letter
  5723. (2-3 weeks for delivery). In the case of doubts, you can send
  5724. the Register.For to me too, by e-mail, crash netmail or fax.
  5725.  
  5726. Credit card registrations may be made by the following methods
  5727. (please be sure to always include all the necessary information
  5728. from BOTH Register.For and PsL.Crd).
  5729.  
  5730.    -- PsL on the Web:
  5731.  
  5732.      http://www.pslweb.com
  5733.  
  5734.    -- Phone PsL at:
  5735.  
  5736.      800-2424-PsL (800-242-4775) Ext. 11471 (USA)
  5737.  
  5738.      +1-713-524-6394 Ext. 11471 (international)
  5739.  
  5740.      PSL Office Hours:
  5741.  
  5742.      8:00 a.m. to  6:00 p.m. CST Monday->Friday
  5743.  
  5744.      Be sure to have BOTH Register.For AND PsL.Crd
  5745.      available to give order information to PSL.
  5746.      First of all, mention the PSL part number 11471.
  5747.  
  5748.    -- FAX PsL at +1-713-524-6398
  5749.  
  5750.    -- Email PsL at 11471@pslweb.com
  5751.  
  5752.    -- Write PsL at:
  5753.      The Public (software) Library
  5754.      P.O. Box 35705
  5755.      Houston, TX 77235-5705, USA
  5756.  
  5757.    Please, let me insist one more time:
  5758.  
  5759.    ΓòöΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòù
  5760.    Γòæ The above numbers are for ORDERS ONLY.         Γòæ
  5761.    Γòæ Any question about the status of the shipment of the  Γòæ
  5762.    Γòæ order (registration key), registration options,    Γòæ
  5763.    Γòæ product details, technical support, etc, must be    Γòæ
  5764.    Γòæ directed to the author, at the address given above in Γòæ
  5765.    Γòæ this documentation.                  Γòæ
  5766.    ΓòÜΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓò¥
  5767.  
  5768.  
  5769. ΓòÉΓòÉΓòÉ 13.2.2. How to fill in Register.For ΓòÉΓòÉΓòÉ
  5770.  
  5771.  
  5772.       INSTRUCTIONS FOR COMPILING REGISTER.FOR
  5773.  
  5774.  
  5775. To avoid errors in the key, please PRINT.
  5776.  
  5777. Thank you very much for your support !
  5778.  
  5779.  
  5780. ΓòÉΓòÉΓòÉ 13.2.2.1. Name ΓòÉΓòÉΓòÉ
  5781.  
  5782.  
  5783. Name:
  5784.    Your complete name.
  5785.  
  5786.    Example: John Doe
  5787.  
  5788.  
  5789. ΓòÉΓòÉΓòÉ 13.2.2.2. Reg ΓòÉΓòÉΓòÉ
  5790.  
  5791.  
  5792. Reg:
  5793.    The registration string you want displayed by the program.
  5794.    You can use any character in the IBM set (including special
  5795.    national characters above ASCII 127; if you do not use code
  5796.    page 437 (USA), please specify the code numbers) and you can
  5797.    use lowercase and uppercase at your preference.
  5798.    Maximum length: 63 characters.
  5799.  
  5800.    Usually it should be the same as your name, in which case
  5801.    you can omit this field.
  5802.  
  5803.  
  5804. ΓòÉΓòÉΓòÉ 13.2.2.3. e-mail to ΓòÉΓòÉΓòÉ
  5805.  
  5806.  
  5807. e-mail to:
  5808.    This is your internet e-mail address, if available.
  5809.  
  5810.  
  5811. ΓòÉΓòÉΓòÉ 13.2.2.4. Netmail to ΓòÉΓòÉΓòÉ
  5812.  
  5813.  
  5814. Netmail to:
  5815.    You have to specify the complete destination field for the
  5816.    netmail message.
  5817.  
  5818.    Examples:
  5819.         John Doe of 1:200/300.4
  5820.         John Doe of 1:200/300.0
  5821.  
  5822.  
  5823. ΓòÉΓòÉΓòÉ 13.2.2.5. Crash to ΓòÉΓòÉΓòÉ
  5824.  
  5825.  
  5826. Crash to:
  5827.    You have to specify the data necessary for crashing the
  5828.    message. Usually this should be your system or your Boss
  5829.    (if you are a point).
  5830.  
  5831.    I will call as 2:332/504@fidonet.
  5832.  
  5833.    - If your system (or your Boss) is 24h and it is in the
  5834.     fidonet nodelist, you can omit this field.
  5835.  
  5836.    - If your system is not 24h, please give me a 24h system to
  5837.     which I can crash your netmail for routing.
  5838.  
  5839.    - If the system in consideration is not in the fidonet
  5840.     nodelist, please add its complete phone number and modem
  5841.     type.
  5842.  
  5843.    Examples:
  5844.         1:200/400@fidonet
  5845.         9:800/700@ABCnet +1-703-4567 V34, ISDNC
  5846.  
  5847.  
  5848. ΓòÉΓòÉΓòÉ 13.2.2.6. Fax ΓòÉΓòÉΓòÉ
  5849.  
  5850.  
  5851. Fax:
  5852.    This is your (24h) fax number, if any.
  5853.  
  5854.  
  5855. ΓòÉΓòÉΓòÉ 13.2.2.7. Address ΓòÉΓòÉΓòÉ
  5856.  
  5857.  
  5858. Address:
  5859.    The postal address is the last opportunity of sending you
  5860.    the key.
  5861.  
  5862.  
  5863. ΓòÉΓòÉΓòÉ 13.2.2.8. Version ΓòÉΓòÉΓòÉ
  5864.  
  5865.  
  5866. Version:
  5867.    You should indicate BOTH the version number of the program
  5868.    you are registering AND the Operating System.
  5869.  
  5870.    Example: ver. 2.01  OS/2
  5871.  
  5872.    This is not essential and is included for statistical
  5873.    purposes only (the key works with all current versions).
  5874.  
  5875.  
  5876. ΓòÉΓòÉΓòÉ 13.2.2.9. Notes ΓòÉΓòÉΓòÉ
  5877.  
  5878.  
  5879. Notes:
  5880.    You can send me your wish list for future versions,
  5881.    or anything you like.
  5882.  
  5883.  
  5884. ΓòÉΓòÉΓòÉ 13.2.3. How to fill in BmtMicro.For ΓòÉΓòÉΓòÉ
  5885.  
  5886.  
  5887.       INSTRUCTIONS FOR COMPILING BMTMICRO.FOR
  5888.  
  5889.  
  5890. The first section contains data necessary for BMT Micro (your
  5891. name, company, address, phone and fax).
  5892.  
  5893. The second section contains the "Registration Information" that
  5894. will be relayed to me so that I can build the key and deliver it
  5895. to you.
  5896.  
  5897. The third section contains the product and cost indication.
  5898. The registration is valid for any operating system.
  5899.  
  5900. The forth section contains data for Credit Card payment.
  5901.  
  5902. To avoid errors, please PRINT.
  5903.  
  5904. Thank you very much for your support !
  5905.  
  5906.  
  5907. ΓòÉΓòÉΓòÉ 13.2.3.1. Reg ΓòÉΓòÉΓòÉ
  5908.  
  5909.  
  5910. Reg:
  5911.    The registration string you want displayed by the program,
  5912.    ASCII characters only (<127).
  5913.    Maximum length: 63 characters.
  5914.  
  5915.  
  5916. ΓòÉΓòÉΓòÉ 13.2.3.2. e-mail to ΓòÉΓòÉΓòÉ
  5917.  
  5918.  
  5919. e-mail to:
  5920.    This is your internet e-mail address, if available.
  5921.  
  5922.  
  5923. ΓòÉΓòÉΓòÉ 13.2.3.3. Netmail to ΓòÉΓòÉΓòÉ
  5924.  
  5925.  
  5926. Netmail to:
  5927.    You have to specify the complete destination field for the
  5928.    netmail message.
  5929.  
  5930.    Examples:
  5931.         John Doe of 1:200/300.4
  5932.         John Doe of 1:200/300.0
  5933.  
  5934.  
  5935. ΓòÉΓòÉΓòÉ 13.2.3.4. Crash to ΓòÉΓòÉΓòÉ
  5936.  
  5937.  
  5938. Crash to:
  5939.    You have to specify the data necessary for crashing the
  5940.    message. Usually this should be your system or your Boss
  5941.    (if you are a point).
  5942.  
  5943.    I will call as 2:332/504@fidonet.
  5944.  
  5945.    - If your system (or your Boss) is 24h and it is in the
  5946.     fidonet nodelist, you can omit this field.
  5947.  
  5948.    - If your system is not 24h, please give me a 24h system to
  5949.     which I can crash your netmail for routing.
  5950.  
  5951.    - If the system in consideration is not in the fidonet
  5952.     nodelist, please add its complete phone number and modem
  5953.     type.
  5954.  
  5955.    Examples:
  5956.         1:200/400@fidonet
  5957.         9:800/700@ABCnet +1-703-4567 V34, ISDNC
  5958.  
  5959.  
  5960. ΓòÉΓòÉΓòÉ 13.3. Register.For ΓòÉΓòÉΓòÉ
  5961.  
  5962.  
  5963.  
  5964.  
  5965. FastLst Registration Form
  5966.  
  5967. (Please PRINT)
  5968.  
  5969. See Register.Doc for instructions:        Date: __/__/__
  5970.  
  5971. Name: _________________________________________________________
  5972.  
  5973. Reg.: _________________________________________________________
  5974.  
  5975. e-mail to: ____________________________________________________
  5976.  
  5977. Netmail to: ___________________________________________________
  5978.  
  5979. Crash to: _____________________________________________________
  5980.  
  5981. Fax: __________________________________________________________
  5982.  
  5983. Address: ______________________________________________________
  5984.  
  5985.      ______________________________________________________
  5986.  
  5987.      ______________________________________________________
  5988.  
  5989. Version: _.___  OS/2 ( )  W32 ( )  DOS32 ( )
  5990.  
  5991. Notes: ________________________________________________________
  5992.  
  5993. _______________________________________________________________
  5994.  
  5995. _______________________________________________________________
  5996.  
  5997.  
  5998. Fiscal Receipt (for fiscal deduction), cross one:
  5999.  
  6000. none ( ), email ( ), netmail ( ), fax ( ), snail mail ( )
  6001.  
  6002.  
  6003. ΓòÉΓòÉΓòÉ 13.4. BmtMicro.For ΓòÉΓòÉΓòÉ
  6004.  
  6005.  
  6006. BMT Micro
  6007. FastLst Registration Form
  6008.  
  6009.       *****************************************
  6010.       * DO NOT SEND this form to the author ! *
  6011.       *****************************************
  6012.  
  6013. See Register.Doc for instructions, please PRINT:  Date: __/__/__
  6014.  
  6015. Name: __________________________________________________________
  6016.  
  6017. Company: _______________________________________________________
  6018.  
  6019. Address: _______________________________________________________
  6020.  
  6021. ________________________________________________________________
  6022.  
  6023. City: ______________________  State/Province: _________________
  6024.  
  6025. Country: ___________________________ Postal Code: ______________
  6026.  
  6027. Phone: _________________________________________________________
  6028.  
  6029. Fax: ___________________________________________________________
  6030.  
  6031.  
  6032.          REGISTRATION INFORMATION
  6033.  
  6034. Reg.: __________________________________________________________
  6035.  
  6036. e-mail to: _____________________________________________________
  6037.  
  6038. Netmail to: ____________________________________________________
  6039.  
  6040. Crash to: ______________________________________________________
  6041.  
  6042.  
  6043. Product: FastLst (by Alberto Pasquale)     Price:  US$ 25.00
  6044.  
  6045. North Carolina residents, please add 6% sales tax:   +US$ __.__
  6046.  
  6047.                         Total:  US$ __.__
  6048.  
  6049. For credit card payment only:
  6050.  
  6051. Circle one: VISA / Master / Discover / AMEX / Diner's Club
  6052.  
  6053. Credit card number   : _______________________________________
  6054.  
  6055. Expiration date     : ___/___
  6056.  
  6057. Authorization signature: _______________________________________
  6058.  
  6059.  
  6060. ΓòÉΓòÉΓòÉ 13.5. PsL.Crd ΓòÉΓòÉΓòÉ
  6061.  
  6062.  
  6063.  
  6064.  
  6065. FastLst Credit Card Registration Form
  6066. PSL Part number 11471
  6067.  
  6068.       *****************************************
  6069.       * DO NOT SEND this form to the author ! *
  6070.       *****************************************
  6071.  
  6072.    Please read carefully Register.Doc for instructions.
  6073.  
  6074.  
  6075.                  Date _________________________
  6076.  
  6077.  
  6078. Cardholder's name, exactly as it appears on the credit card:
  6079.  
  6080.       _____________________________________________________
  6081.  
  6082. [Company:] _____________________________________________________
  6083.  
  6084.  
  6085. Billing address for the card:
  6086.  
  6087.    ___________________________________________________________
  6088.  
  6089.    ___________________________________________________________
  6090.  
  6091.    ___________________________________________________________
  6092.  
  6093. Payment by:  ( ) MasterCard      ( ) Visa
  6094.        ( ) American Express   ( ) Discover Card
  6095.  
  6096. Card #:  _______________________________  Exp. Date:  __________
  6097.  
  6098. Signature of cardholder: _______________________________________
  6099.  
  6100.  
  6101.  
  6102. ΓòÉΓòÉΓòÉ 14. Sample config files ΓòÉΓòÉΓòÉ
  6103.  
  6104.         Some example configuration files
  6105.  
  6106.  
  6107. ΓòÉΓòÉΓòÉ 14.1. Minimal Configuration ΓòÉΓòÉΓòÉ
  6108.  
  6109.  
  6110. ;     FastLst 2.01, (c) Copyright 1992-1997 Alberto Pasquale
  6111.  
  6112. ;             FastLst.Cfg Example
  6113.  
  6114. ;             Minimal configuration
  6115.  
  6116.  
  6117. ; RegKey YourRegistrationKey
  6118.  
  6119. CompressCfg d:\flst\compress.cfg
  6120. InputPath d:\flst\nodelist
  6121. ArcPath d:\flst\arc
  6122. V7BugFix
  6123.  
  6124. Dial     ; for Europe
  6125.  39-59-  /   5 0     ; country and district code
  6126.  39-    0   60 0
  6127.  -     00  300 0
  6128. End
  6129.  
  6130. ; For North America (see the doc for more details !):
  6131. ; Dial
  6132. ;  LocalValues 1-414- / 0  ; country and area code
  6133. ;  LocalExchanges 231 232 233 235 236 424
  6134. ;  1-414-  1-  25
  6135. ;  1-    1-  50
  6136. ;  -    011 250
  6137. ; End
  6138.  
  6139.  
  6140. Version7+ v7 NODEX SYSOP
  6141.  FidoUserLst
  6142.  ArcMethod zip
  6143.  ArcDiffMethod zip
  6144.  PasswordFile d:\flst\fastlst.pwd
  6145.  
  6146.  NodeList nodelist.???
  6147.   NodeDiff NODEDIFF.???
  6148.   ArcList nodelist.??? 1
  6149.   ArcDiff nodediff.??? 2
  6150.   ArcListDesc Fido Nodelist for day %d (%D), %a format
  6151.   ArcDiffDesc Fido Nodediff for day %d (%D), %a format
  6152.  
  6153.  NodeList REGION.033 2       ; Region 33 in zone 2
  6154.   ArcList region33.???
  6155.   ArcListDesc Region 33 (Italy) fido nodelist, %a format
  6156.  
  6157.  NodeList Apw_Pnts.Lst  ; Points in "Boss," format
  6158.  
  6159.  
  6160. ΓòÉΓòÉΓòÉ 14.2. Full configuration ΓòÉΓòÉΓòÉ
  6161.  
  6162.  
  6163. ;     FastLst 2.01, (c) Copyright 1992-1997 Alberto Pasquale
  6164.  
  6165. ;            FastLst.Cfg  Example
  6166.  
  6167. ;             Full configuration
  6168.  
  6169. ;        See the documentation for more details !
  6170.  
  6171.  
  6172. ; RegKey YourRegistrationKey
  6173.  
  6174. Priority Idle
  6175.  
  6176. StatusLog d:\flst\fastlst.log
  6177. CompressCfg d:\flst\compress.cfg
  6178. InputPath d:\flst\nodelist    ; plain nodelists
  6179. ArcPath d:\flst\arc       ; archived nodelists/nodediffs
  6180. ArcDate Creation
  6181. ; MultiLineDesc 31
  6182. KillAfter
  6183. KillSource
  6184. V7BugFix
  6185. NoRedir
  6186.  
  6187. CostNullPhone 1000 0       ; costs for nodes with empty phone
  6188. CostVerbatimPhone 10 0      ; costs for Verbatim phones
  6189.  
  6190. Dial     ; for Europe
  6191.  LocalValues 39-59- / 0 0   ; country and district codes
  6192.  LocalExchanges 21 22     ; urban exchanges
  6193.  LocalExchanges 23 24
  6194.  39-59-  /     5 0    ; remaining district #s
  6195.  39-    0    60 0    ; remaining domestic #s
  6196.  43-    0043-  100 0 200 0 ; some international #s
  6197.  32-    0032-  100 0 200 0 ; with higher digital costs
  6198.  45-    0045-  100 0 200 0
  6199.  33-    0033-  100 0 200 0
  6200.  49-    0049-  100 0 200 0
  6201.  44-    0044-  100 0 200 0
  6202.  34-    0034-  100 0 200 0
  6203.  46-    0046-  100 0 200 0
  6204.  41-    0041-  100 0 200 0
  6205.   1-    001-  200 0 400 0
  6206.  -     00   300 0 600 0  ; remaining international #s
  6207. End
  6208.  
  6209.  
  6210. ;Dial    ; for America, see the Docs for further details
  6211. ;  LocalValues 1-510- / 0
  6212. ;  LocalExchanges 224 225 226 227 247 249 252 264 276
  6213. ;  LocalExchanges 278 293 317 353 354 416 417
  6214. ;
  6215. ;  LocalValues 1-408- 1-408- 0
  6216. ;  LocalExchanges 232 251 254 258 259 262 263 272 276
  6217. ;  LocalExchanges 321 324 325 383 428 432 433 434
  6218. ;
  6219. ;  LocalValues 1-415- 1-415- 0
  6220. ;  LocalExchanges 233 234 321 322 323 324 325 326 327
  6221. ;  LocalExchanges 328 329 354 424 462 473 493
  6222. ;
  6223. ;  1-510- /    25
  6224. ;  1-408- 1-408- 25
  6225. ;  1-415- 1-415- 25
  6226. ;  1-   1-   100
  6227. ;  -    011   2000
  6228. ;End
  6229.  
  6230.  
  6231. TypeDef
  6232.  X75  1  Digital
  6233.  ISDNC 1  Digital
  6234.  V120  2  Digital
  6235.  V120H 2  Digital
  6236.  V120L 3  Digital
  6237.  V34  4  Analog
  6238.  VFC  5  Analog
  6239.  V32T  6  Analog
  6240.  H16  7  Analog
  6241.  V32B  8  Analog
  6242.  ZYX  8  Analog ; ZYX implies V32B
  6243.  Z19  8  Analog
  6244.  Z16  8  Analog
  6245.  H14  9  Analog
  6246.  V32  10  Analog
  6247.  HST  11  Analog
  6248.  VM   200 100 0 -\- .* vV ~\~ ": " ; VMODEM
  6249. End
  6250.  
  6251.  
  6252. ; FlagDef
  6253. ;  V42B AB   ; A & B user-flags set on nodes with V42B flag
  6254. ;  ENC  D    ; D user-flag set on nodes with ENC flag
  6255. ; End
  6256.  
  6257. MsgLogArea  d:\bbs\mail\net -$
  6258. MsgRemArea  d:\bbs\mail\net -$
  6259. MsgSize 60000
  6260. MsgFromNode 2:332/504
  6261. MsgToNode  2:332/504
  6262. MsgTo    Alberto Pasquale
  6263. MsgAttr   P
  6264.  
  6265. ;FidoTxt
  6266. ;FidoPrn
  6267.  
  6268. Version7+ \bbs\v7 NODEX SYSOP
  6269.  
  6270.  FidoUserLst
  6271.  LinkOnDisk
  6272.  LogStats
  6273.  
  6274.  ArcMethod zip Lh
  6275.  ArcDiffMethod zip LH
  6276.  ArcExportMethod zip lh
  6277.  PasswordFile d:\flst\fastlst.pwd
  6278.  
  6279.  Phone 2:332/504 39-59-246112
  6280.  Cost  2:332/504 500 0
  6281.  Phone 2:332/501 alberto.com VM,CM 0
  6282.  
  6283.  NodeList zonelist.???
  6284.   NodeDiff alldiff.???
  6285.   ArcList zonelist.??? 2
  6286.   ArcDiff alldiff.??? 5
  6287.   ArcListDesc Non-Fido Nodelist for day %d (%D), %a format
  6288.   ArcDiffDesc Non-Fido Nodediff for day %d (%D), %a format
  6289.  
  6290.  NodeList region24.??? 2      ; Region 24 in zone 2
  6291.   ArcList origr24.??? 1      ; Keep 1 origr24.l??
  6292.   ArcListDesc Original Region 24 Nodelist for day %d (%D), %a format
  6293.  
  6294.  NodeList points24.???
  6295.   GermanPointList
  6296.   NoPointLstPhone
  6297.   NodeDiff pr24diff.???
  6298.   ArcList points24.??? 3
  6299.   ArcDiff pr24diff.??? 5
  6300.   ArcListDesc R24 PointList for day %d (%D), %a format
  6301.   ArcDiffDesc R24 PointDiff for day %d (%D), %a format
  6302.  
  6303.  NodeList ptlist.???        ; PointList in "Boss," format
  6304.   ArcList ptlist.??? 1      ; Keep 1 ptlist.l??
  6305.   ArcListDesc Italian Point List for day %d (%D), %a format
  6306.  
  6307.  NodeList nodelist.???
  6308.   MsgRem SUE  ; log comments beginning with S, U or E
  6309.   NodeDiff NODEDIFF.???
  6310.   ArcList nodelist.??? 1
  6311.   ArcDiff nodediff.??? 2
  6312.   ArcListDesc Fido Nodelist for day %d (%D), %a format
  6313.   ArcDiffDesc Fido Nodediff for day %d (%D), %a format
  6314.  
  6315.   Export region25.??? 2:25
  6316.    ArcExport region25.??? 1
  6317.    ArcExportDesc Region 25 %D, %a format
  6318.  
  6319.  NodeList REGION.033 2       ; Region 33 in zone 2
  6320.   MsgRem SUE
  6321.   ArcList region33.???
  6322.   ArcListDesc Region 33 (Italy) fido nodelist, %a format
  6323.  
  6324.  NodeList hub.500 2:332 33 ; Hub 500 (zone 2, net 332, region 33)
  6325.  
  6326.  NodeList MyNodes.Lst       ; private list
  6327.  
  6328.  NodeList Apw_Pnts.Lst  ; Points in "Boss," format
  6329.  
  6330.  
  6331.  
  6332. Version7 \bbs\v7 NODEX2 SYSOP2  ; let's make a second, shorter, nodelist
  6333.  PasswordFile d:\flst\fastlst.pwd
  6334.  
  6335.  NodeList nodelist.???
  6336.  NodeList REGION.033 2       ; Region 33 in zone 2
  6337.  
  6338.  
  6339. ΓòÉΓòÉΓòÉ 14.3. Compress Definition ΓòÉΓòÉΓòÉ
  6340.  
  6341.  
  6342. ;        Example Compress.Cfg definition file
  6343. ;
  6344. ; If you are already using a Compress.Cfg file with other programs,
  6345. ; you do not need this one.
  6346. ; Just make sure you use the correct switches to avoid case mismatch
  6347. ; with case sensitive archivers, as ZIP/UNZIP.
  6348. ;
  6349. ; The DOS prefix is for the W32 version too.
  6350.  
  6351.  
  6352. Archiver ARC
  6353.    Extension   ARC
  6354.    Ident     0,1a
  6355. OS2  Add      arc aw5 %a %f
  6356. DOS  Add      pkpak -oct a %a %f
  6357. OS2  Extract    arc ew %a %f
  6358. DOS  Extract    pkunpak /r %a %f
  6359. OS2  View      arc vw %a
  6360. DOS  View      pkpak v %a
  6361. End Archiver
  6362.  
  6363.  
  6364. DOS Archiver PAK
  6365. DOS   Extension    PAK
  6366. DOS   Ident      -2,fe
  6367. DOS   Add       pak a %a %f
  6368. DOS   Extract     pak e /wn %a %f
  6369. DOS   View       pak v %a
  6370. DOS End Archiver
  6371.  
  6372.  
  6373. Archiver ZIP
  6374.    Extension   ZIP
  6375.    Ident     0,504b0304
  6376. OS2  Add      zip -jk %a %f     ; store in uppercase
  6377. DOS  Add      pkzip -a %a %f
  6378. OS2  Extract    unzip -qqnjC %a %f  ; case insensitive extract
  6379. DOS  Extract    pkunzip -n %a %f
  6380. OS2  View      unzip -v %a
  6381. DOS  View      pkzip -v %a
  6382. End Archiver
  6383.  
  6384.  
  6385. Archiver LH
  6386.    Extension   LZH
  6387.    Ident     2,2d6c68             ; "-lh"
  6388. OS2  Add      lh a %a %f
  6389. DOS  Add      lha a /m %a %f
  6390. OS2  Extract    lh x %a %f /o
  6391. DOS  Extract    lha e /m %a %f
  6392. OS2  View      lh l %a /v /o
  6393. DOS  View      lha l %a
  6394. End Archiver
  6395.  
  6396.  
  6397. Archiver ARJ
  6398.    Extension   ARJ
  6399.    Ident     0,60ea
  6400. DOS  Add      arj a -e+ %a %f
  6401. OS2  Extract    unarj e %a %f
  6402. DOS  Extract    arj e -n %a %f
  6403. OS2  View      unarj l %a
  6404. DOS  View      arj l %a
  6405. End Archiver
  6406.  
  6407.  
  6408. Archiver RAR
  6409.    Extension   RAR
  6410.    Ident     0,526172211a0700
  6411.    Add      rar a -ee -md64 -ep -y -std -c- %a %f
  6412.    Extract    rar e -o- -y -std -c- %a %f
  6413.    View      rar v -y -std -c- %a
  6414. End Archiver
  6415.  
  6416.  
  6417. ΓòÉΓòÉΓòÉ 15. Version 7 Plus: technical information ΓòÉΓòÉΓòÉ
  6418.  
  6419.  
  6420.  
  6421.            Nodelist Version 7+
  6422.  
  6423.            Version 0, May 30 1997
  6424.  
  6425.       Alberto Pasquale, 2:332/504@fidonet.org
  6426.       Thomas Waldmann, 2:2474/400@fidonet.org
  6427.  
  6428.  
  6429.                TOPIC
  6430.  
  6431. A new nodelist standard that remains FULLY compatible with V7
  6432. applications while adding new features and resolving the major
  6433. shortcomings of V7.
  6434.  
  6435.  
  6436. ΓòÉΓòÉΓòÉ 15.1. Why V7+ ? ΓòÉΓòÉΓòÉ
  6437.  
  6438. 0. Why V7+ ?
  6439. ============
  6440.  
  6441. V7 is a commonly adopted standard for a "nodelist database"
  6442. (often V7 is also called a "nodelist index", but this is only
  6443. half of the truth - *.NDX is the index, but *.DAT is some sort
  6444. of database file).
  6445.  
  6446. V7 uses B-tree indices for sysop names and system addresses and
  6447. is really FAST.
  6448.  
  6449. Many software uses V7 and a totally different standard maybe
  6450. would not get adopted by programmers.
  6451.  
  6452. But V7 has a great drawback: it currently does not put all
  6453. information that is contained in the "raw" nodelist into the V7
  6454. database.
  6455.  
  6456. So if you use V7, you do NOT have all nodelist information that
  6457. you maybe WANT to use (e.g. it does not support U,Txy (FSC-0062)
  6458. and other new flags, some characters get "lost" due to the
  6459. "packing" algorithm used etc.).
  6460.  
  6461. This drawback will be solved with V7+ - any thing that is
  6462. present in a raw nodelist will also be present in the V7+
  6463. database - no information is lost.
  6464.  
  6465. V7+ also introduces a Phone Index (useful for CID lookup) and a
  6466. whole set of "links" that allow to move through the Fidonet
  6467. structure:
  6468.  
  6469. - Ring of "same sysop" entries
  6470. - Ring of "same phone" entries
  6471. - Pointer to "first downlink"
  6472. - List of "same downlink level"
  6473. - Full Region and Hub information
  6474.  
  6475. Besides V7+ introduces a semaphore method to avoid collisions
  6476. between applications and the compiler.
  6477.  
  6478.  
  6479. ΓòÉΓòÉΓòÉ 15.2. Naming Convention ΓòÉΓòÉΓòÉ
  6480.  
  6481. 1. Naming Convention
  6482. ====================
  6483.  
  6484. The base name is user specified; from here on it will be
  6485. referred to as <NODEX>.
  6486.  
  6487. Files already used by V7, that are also used by V7+:
  6488.  
  6489. <NODEX>.DAT The V7 / V7+ data file.
  6490.       V7+ remains fully compatible with V7, but adds a new
  6491.       field (8 hex digit pointer to the DTP entry) at the
  6492.       end of the packed data.
  6493.  
  6494. <NODEX>.NDX Traditional B-tree address index.
  6495.  
  6496. <NODEX>.SDX Traditional B-tree sysop index (case insensitive).
  6497.       For V7 compatibility, both compilers and
  6498.       applications MUST be able to use SYSOP.NDX instead
  6499.       of the default <NODEX>.SDX.
  6500.  
  6501. V7+ specific files:
  6502.  
  6503. <NODEX>.DTP V7+ Data file, contains complete nodelist
  6504.       information and compiler-generated links.
  6505.  
  6506. <NODEX>.PDX B-tree Phone index (case insensitive), to be used
  6507.       just as <NODEX>.SDX.
  6508.  
  6509.  
  6510. The application that finds <NODEX>.DTP can assume that a V7+
  6511. nodelist is available. It is the user responsibility to delete
  6512. old files if downgrading.
  6513.  
  6514. A compiler in V7+ mode MUST generate all the above files by
  6515. default (no need to specify anything more than "Version7+" and
  6516. <NODEX>).
  6517.  
  6518.  
  6519.  
  6520. ΓòÉΓòÉΓòÉ 15.3. V7 Database File (<NODEX>.DAT) ΓòÉΓòÉΓòÉ
  6521.  
  6522. 2. V7 Database File (<NODEX>.DAT)
  6523. =================================
  6524.  
  6525.  
  6526. ΓòÉΓòÉΓòÉ 15.3.1. Old structure and procedure ΓòÉΓòÉΓòÉ
  6527.  
  6528. 2.1. Old structure and procedure
  6529. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6530.  
  6531. struct _vers7
  6532. {
  6533.   short Zone;         // Zone number
  6534.   short Net;          // Net number
  6535.   short Node;         // Node number
  6536.   short HubNode;      // If a point, this is point number
  6537.   word CallCost;      // phone company's charge
  6538.   word MsgFee;        // Amount charged to user for a message
  6539.   word NodeFlags;     // set of flags
  6540.   byte ModemType;     // Modem type
  6541.   byte Phone_len;     // length of phone number (not packed)
  6542.   byte Password_len;  // length of password (not packed)
  6543.   byte Bname_len;     // length of system name (unpacked)
  6544.   byte Sname_len;     // length of Sysop's name (unpacked)
  6545.   byte Cname_len;     // length of City's name (unpacked)
  6546.   byte pack_len;      // total length of packed data
  6547.   byte BaudRate;      // baud rate divided by 300
  6548. };
  6549.  
  6550.  
  6551.  
  6552. Accessing V7 data is currently done like this:
  6553.  
  6554.  1. find the stuff in the index - result is the "datpos" value -
  6555.   the offset into the <NODEX>.DAT file
  6556.  
  6557.  2. Seek to offset <datpos> into the <NODEX>.DAT file
  6558.  
  6559.  3. Read sizeof(struct _vers7) bytes out of the <NODEX>.DAT file
  6560.   into a variable of type  struct _vers7
  6561.  
  6562.  4. Read the next <Phone_len> bytes out of the <NODEX>.DAT file
  6563.   -> Phone Number
  6564.  
  6565.  5. Read the next <Password_len> bytes out of the <NODEX>.DAT
  6566.   file -> Password
  6567.  
  6568.  6. Read the next <pack_len> bytes out of the <NODEX>.DAT file
  6569.   -> some "packed" data
  6570.  
  6571.  7. Unpack the "packed" data
  6572.  
  6573.  8. First <Bname_len> bytes of the unpacked data contain the
  6574.   System's (BBS') name
  6575.  
  6576.  9. Next <Sname_len> bytes of the unpacked data contain the
  6577.   Sysop's name
  6578.  
  6579. 10. Next <Cname_len> bytes of the unpacked data contain the
  6580.   City's name
  6581.  
  6582.  
  6583. Data layout in the <NODEX>.DAT file is like that:
  6584.  
  6585. <_vers7 struct>
  6586. <Not packed: Phone>
  6587. <Not packed: Password>
  6588. <Packed: <BBS name>
  6589.          <Sysop name>
  6590.          <City name>
  6591. >
  6592.  
  6593.  
  6594.  
  6595. ΓòÉΓòÉΓòÉ 15.3.2. New structure and procedure ΓòÉΓòÉΓòÉ
  6596.  
  6597. 2.2. New structure and procedure
  6598. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6599.  
  6600. struct _vers7 is NOT changed: both indexed and sequential
  6601. accesses are guaranteed compatible with V7.
  6602.  
  6603. There's only a slight addition in the packed data, see below.
  6604.  
  6605. Accessing V7/V7+ data should be done like this:
  6606.  
  6607.  1. |
  6608. ... |
  6609. 10. | all the same as described in section 2.1 (compatibility!)
  6610.  
  6611. 11. Check if there are 8 hex digits at the end of the packed
  6612.   data, after <Bname_len>+<Sname_len>+<Cname_len> bytes (see
  6613.   steps 7..10).
  6614.  
  6615.   In a V7+ nodelist, you should _always_ find these 8 hex
  6616.   digits at the end of the packed data, BUT a V7 nodelist
  6617.   editor may have removed them from modified entries.
  6618.  
  6619.   Applications MUST be able to handle the "missing 8 hex
  6620.   digits" situation as a normal condition and proceed as
  6621.   possible with the simple V7 data (some message signalling
  6622.   the situation may be issued, abnormal termination is
  6623.   unacceptable behaviour).
  6624.  
  6625.   If the 8 hex digits are found, they represent an offset into
  6626.   the new <NODEX>.DTP file.
  6627.  
  6628.   Applications MUST ignore any data possibly following the 8
  6629.   hex digit pointer.
  6630.  
  6631.   Due to the V7 base-40 3:2 packing algorithm, the compilers
  6632.   have to pad the data to be compressed so that its length is
  6633.   a multiple of 3: it is recommended that the space (ASCII
  6634.   0x20) is used.
  6635.  
  6636.  
  6637. 12. Seek into <NODEX>.DTP to the offset you got in step 11.
  6638.  
  6639. 13. Read/Process <NODEX>.DTP fields as described in section 3.
  6640.  
  6641.  
  6642. So the new data layout in the <NODEX>.DAT file is like that:
  6643.  
  6644. <_vers7 struct>
  6645. <Not packed: Phone>
  6646. <Not packed: Password>
  6647. <Packed: <BBS name>
  6648.          <Sysop name>
  6649.          <City name>
  6650.          <8-hex-digit-offset into <NODEX>.DTP>
  6651. >
  6652.  
  6653.  
  6654.  
  6655. ΓòÉΓòÉΓòÉ 15.4. <NODEX>.DTP file layout ΓòÉΓòÉΓòÉ
  6656.  
  6657. 3. <NODEX>.DTP file layout
  6658. ==========================
  6659.  
  6660. Let's define some glossary:
  6661.  
  6662. byte   8 bit unsigned integer
  6663. word  16 bit unsigned integer (LSB first)
  6664. dword  32 bit unsigned integer (LSB first)
  6665.  
  6666.  
  6667. The <NODEX>.DTP file has the following layout:
  6668.  
  6669. <Header>    File header
  6670. <Entry>     Entry for first compiled system
  6671. <Entry>     Entry for second compiled system
  6672. <Entry>     Entry for third compiled system
  6673. ...
  6674.  
  6675.  
  6676.  
  6677. ΓòÉΓòÉΓòÉ 15.4.1. <Header> ΓòÉΓòÉΓòÉ
  6678.  
  6679. 3.1. <Header>
  6680. ~~~~~~~~~~~~~
  6681.  
  6682. <Header> has the following layout:
  6683.  
  6684. <Control>   Miscellaneous Information for Compatibility
  6685. <TopLink>   Link to top level fidonet hierarchy
  6686.  
  6687.  
  6688.  
  6689. ΓòÉΓòÉΓòÉ 15.4.1.1. <Control> Structure ΓòÉΓòÉΓòÉ
  6690.  
  6691. 3.1.1. <Control> Structure
  6692. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  6693.  
  6694. struct _DTPCtl {
  6695.     word size;          // Size of this control structure
  6696.     byte Version;       // Version of DTP file
  6697.     byte AllFixSize;    // sizeof (_DTPAllLnk)
  6698.     byte AddFixSize;    // sizeof (_DTPNodeLnk)
  6699. };
  6700.  
  6701.  
  6702.  
  6703. size:
  6704.    This structure may be expanded in the future, so size is
  6705.    provided to allow compatible positioning on the following
  6706.    <TopLink> record.
  6707.  
  6708. Version:
  6709.    This is the V7+ Version, currently 0.
  6710.    The compatibility towards previous versions is guaranteed,
  6711.    so correctly behaved applications will have no problems
  6712.    dealing with newer versions of V7+.
  6713.  
  6714.    When new features will be added, new applications will be
  6715.    able to check for the version level of the V7+ database,
  6716.    while old ones will remain compatible.
  6717.  
  6718.    The check will be "if Version >= n then ...".
  6719.  
  6720. AllFixSize:
  6721.    This is the size of the fixed-length structure associated
  6722.    with ANY system in the nodelist. It is provided to allow
  6723.    compatible positioning on the following field, in the case
  6724.    of future extensions.
  6725.  
  6726. AddFixSize:
  6727.    This is the size of the fixed-length structure associated
  6728.    with Nodes only (no points) and with <TopLink>. It is
  6729.    provided to allow compatible positioning on the following
  6730.    field, in the case of future extensions.
  6731.  
  6732.  
  6733. ΓòÉΓòÉΓòÉ 15.4.1.2. <TopLink> ΓòÉΓòÉΓòÉ
  6734.  
  6735. 3.1.2. <TopLink>
  6736. ~~~~~~~~~~~~~~~~
  6737.  
  6738. V7+ has pointers to link the entire fidonet structure, from the
  6739. top coordinators to the points.
  6740.  
  6741. The <NODEX>.DTP header contains the link to the first (in
  6742. zone/region/net/hub/node/point order) "top level" system found
  6743. in the nodelist, usually ZC1.
  6744.  
  6745. struct _DTPNodeLnk {
  6746.     word  ndowns;   // number of systems in lower level
  6747.     dword FlOfs;    // DAT offset of "Lower Fido Level"
  6748. };
  6749.  
  6750.  
  6751.  
  6752. ndowns:
  6753.    The number of direct downlinks; in this case it is the
  6754.    number of "top level" systems (systems that do not have
  6755.    uplinks in the nodelist).
  6756.  
  6757.    Usually it's the number of ZCs.
  6758.  
  6759.    Please note that if you have included a Region segment and
  6760.    the corresponding Zone is not included in other nodelists
  6761.    compiled to the same <NODEX>.*, this RC will be a "Top
  6762.    Level" system. The same happens in the case of lower level
  6763.    systems that are "orphans" of the upper coordinator.
  6764.  
  6765. FlOfs:
  6766.    Offset into <NODEX>.DAT for the first direct downlink; in
  6767.    this case it's usually ZC1.
  6768.  
  6769.  
  6770. ΓòÉΓòÉΓòÉ 15.4.2. <Entry> ΓòÉΓòÉΓòÉ
  6771.  
  6772. 3.2. <Entry>
  6773. ~~~~~~~~~~~~
  6774.  
  6775. This is the <NODEX>.DTP entry for each and every compiled
  6776. system, pointed to by the 8-hex-digit offset found at the end of
  6777. the _vers7 packed data.
  6778.  
  6779.  
  6780. The layout is:
  6781.  
  6782. <Links>                 Fixed size info (see <Header>)
  6783. <Raw-size>              word (size of following raw-line)
  6784. <Raw-nodelist-line>     variable size raw nodelist line
  6785.  
  6786.  
  6787.  
  6788. This layout may be expanded in the future, both in the
  6789. fixed-length and variable-length sections.
  6790.  
  6791. Please, always use the size information found in the <Header> to
  6792. remain compatible with future V7+ extensions.
  6793.  
  6794.  
  6795. ΓòÉΓòÉΓòÉ 15.4.2.1. <Links> ΓòÉΓòÉΓòÉ
  6796.  
  6797. 3.2.1. <Links>
  6798. ~~~~~~~~~~~~~~
  6799.  
  6800. The layout is:
  6801.  
  6802.  <AllLinks>     Common to all entries
  6803. [<NodeLink>]    Not present for Points
  6804.  
  6805.  
  6806.  
  6807. ΓòÉΓòÉΓòÉ 15.4.2.1.1. <AllLinks> ΓòÉΓòÉΓòÉ
  6808.  
  6809. 3.2.1.1. <AllLinks>
  6810. ~~~~~~~~~~~~~~~~~~~
  6811.  
  6812. The following structure is used for all the systems in the
  6813. nodelist.
  6814.  
  6815.  
  6816. struct _DTPAllLnk {
  6817.     word  Region;  // Region
  6818.     word  Hub;     // Hub
  6819.     dword SOfs;    // DAT offset of next Same SysOp entry
  6820.     dword POfs;    // DAT offset of next Same Phone entry
  6821.     dword FeOfs;   // DAT offset of next "Equal Fido Level"
  6822.     byte  Sn;      // Number (base 0) of SysOp entry (ADR order)
  6823.     byte  Pn;      // Number (base 0) of Phone entry (ADR order)
  6824. };
  6825.  
  6826.  
  6827.  
  6828. Region:
  6829.    Region number, 0 if none.
  6830.  
  6831. Hub:
  6832.    Hub number, 0 if none.
  6833.  
  6834.    Please note that the "NodeHub" field of _vers7 may not
  6835.    always be the same as this one, not only because it is
  6836.    absent for points, but also because the compiler may
  6837.    infer the Hub from other nodelist entries while linking
  6838.    <NODEX>.DTP.
  6839.  
  6840.    DO NOT USE NodeHub in _vers7 for reliable Hub information.
  6841.  
  6842. SOfs:
  6843.    Offset into <NODEX>.DAT for next system with the same
  6844.    SysOp name (in order of Address).
  6845.  
  6846.    0xffffffff if none.
  6847.  
  6848.    This is a RING link, that is the last entry points to the
  6849.    first one.
  6850.  
  6851. POfs:
  6852.    Offset into <NODEX>.DAT for next system with the same
  6853.    Phone number (in order of Address).
  6854.  
  6855.    0xffffffff if none.
  6856.  
  6857.    This is a RING link, that is the last entry points to the
  6858.    first one.
  6859.  
  6860. FeOfs:
  6861.    Offset into <NODEX>.DAT for next system at the same
  6862.    "fidonet level", that is with the same direct
  6863.    uplink/coordinator.
  6864.  
  6865.    0xffffffff if none.
  6866.  
  6867.    This is a LIST link, that is the last entry points nowhere
  6868.    (0xffffffff).
  6869.  
  6870.    Please note that "equal level" systems are not necessarily
  6871.    all of the same coordination level (all HCs or RCs etc.).
  6872.  
  6873.    For example a ZC may have as direct downlinks (linked with
  6874.    FeOfs between one another):
  6875.  
  6876.    - his points (usually administrative entries should not
  6877.     have points, but it may happen),
  6878.  
  6879.    - Independent nodes in the Zone
  6880.  
  6881.    - Independent HCs in the Zone
  6882.  
  6883.    - Independent NCs in the Zone
  6884.  
  6885.    - RCs in the zone
  6886.  
  6887. Sn:
  6888.    Number of same-sysop entry (0 based).
  6889.    0xff if no link available.
  6890.  
  6891.    Please do NOT use Sn to check for links, use SOfs instead.
  6892.  
  6893. Pn:
  6894.    Number of same-phone entry (0 base).
  6895.    0xff if no link available.
  6896.  
  6897.    Please do NOT use Pn to check for links, use POfs instead.
  6898.  
  6899.  
  6900. When you are looking for a SysOp or Phone that has multiple
  6901. entries in the index, you get one and then you follow the links
  6902. (SOfs, POfs) through all the remaining entries.
  6903.  
  6904. Since the first entry (got from the index) may be in the middle
  6905. of the "Ring", you can use Sn and Pn to know how many "lower"
  6906. entries you will find. This may be useful for keeping the
  6907. "Address order" while gathering all the information throughout
  6908. the RING.
  6909.  
  6910. Please note that some "common" entries (as "-Unpublished-" for
  6911. the phone number), may have more than 254 links; so be aware
  6912. that Sn and Pn may (under exceptional conditions) overflow,
  6913. arrive at 0xff and restart from 0x00.
  6914.  
  6915. This should be no concern when doing a normal lookup, but
  6916. "statistical programs" that list all the Rings must be careful.
  6917.  
  6918. The proper way to check whether you have finished the RING is to
  6919. check the new SOfs/POfs against the first encountered one; Sn/Pn
  6920. should be used for reference only.
  6921.  
  6922.  
  6923.  
  6924. ΓòÉΓòÉΓòÉ 15.4.2.1.2. <NodeLink> ΓòÉΓòÉΓòÉ
  6925.  
  6926. 3.2.1.2. <NodeLink>
  6927. ~~~~~~~~~~~~~~~~~~~
  6928.  
  6929. The following structure is absent for points, since they do not
  6930. have downlinks. It's the same structure used in the <Header> for
  6931. <TopLink>.
  6932.  
  6933.  
  6934. struct _DTPNodeLnk {
  6935.     word  ndowns;   // number of systems in lower level
  6936.     dword FlOfs;    // DAT offset of "Lower Fido Level"
  6937. };
  6938.  
  6939.  
  6940.  
  6941. ndowns:
  6942.    The number of direct downlinks.
  6943.  
  6944.    It includes the lower level coordinators and all the
  6945.    systems that, for some reason, are orphans of the upper
  6946.    coordinator (not included in compilation or not existent).
  6947.  
  6948.    Examples:
  6949.  
  6950.    ZCs -> ZC's points
  6951.        independent nodes in the zone
  6952.        independent HCs in the zone
  6953.        independent NCs in the zone
  6954.        RCs in the zone
  6955.  
  6956.    RCs -> RC's points
  6957.        independent nodes in the region
  6958.        independent HCs in the region
  6959.        NCs in the region
  6960.  
  6961.    NCs -> NC's points
  6962.        independent nodes in the net
  6963.        HCs in the net
  6964.  
  6965.    HCs -> HC's points
  6966.        nodes in the Hub
  6967.  
  6968.    Node -> Node's points
  6969.  
  6970.  
  6971.  
  6972. FlOfs:
  6973.    Offset into <NODEX>.DAT for the first direct downlink, in
  6974.    "zone/region/net/hub/node/point" order.
  6975.  
  6976.  
  6977.  
  6978. ΓòÉΓòÉΓòÉ 15.4.2.2. <Raw-size> ΓòÉΓòÉΓòÉ
  6979.  
  6980. 3.2.2. <Raw-size>
  6981. ~~~~~~~~~~~~~~~~~
  6982.  
  6983. This is a word specifying the length of the following
  6984. <raw-nodelist-line> field.
  6985.  
  6986.  
  6987. ΓòÉΓòÉΓòÉ 15.4.2.3. <Raw-nodelist-line> ΓòÉΓòÉΓòÉ
  6988.  
  6989. 3.2.3. <Raw-nodelist-line>
  6990. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  6991.  
  6992. This is the zero terminated raw nodelist line, taken verbatim
  6993. from the source nodelist; neither carriage-return nor line-feed
  6994. is present.
  6995.  
  6996. REQUIREMENTs for applications that use this field:
  6997.  
  6998. - The line's fields must be recognized ONLY by considering the
  6999.  comma ',' as a separator.
  7000.  
  7001. - Fields containing space are to be handled normally.
  7002.  
  7003. - Unknown qualifiers at the start of the line (the field usued
  7004.  for Hub, Host, Region, Zone) must be accepted.
  7005.  
  7006. - The second field (where the node number is usually placed)
  7007.  may contain further information and space: it must be accepted
  7008.  without error.
  7009.  
  7010.  
  7011. ΓòÉΓòÉΓòÉ 15.4.3. DTP extensions ΓòÉΓòÉΓòÉ
  7012.  
  7013. 3.3. DTP extensions
  7014. ~~~~~~~~~~~~~~~~~~~
  7015.  
  7016. The DTP format is suitable for backward compatible extensions.
  7017.  
  7018. If you would like new fields, please contact Alberto Pasquale
  7019. (2:332/504@fidonet) and/or Thomas Waldmann (2:2474/400@fidonet)
  7020. for discussion.
  7021.  
  7022. If the new field is considered useful, a draft for the new
  7023. version of V7+ will be issued by Alberto Pasquale.
  7024.  
  7025.  
  7026.  
  7027. ΓòÉΓòÉΓòÉ 15.5. <NODEX>.PDX Phone Index ΓòÉΓòÉΓòÉ
  7028.  
  7029. 4. <NODEX>.PDX Phone Index
  7030. ==========================
  7031.  
  7032. The purpose of the Phone Index is to allow an indexed search of
  7033. a system entry from its phone number.
  7034.  
  7035. This is especially useful with CID (caller ID) enabled systems.
  7036.  
  7037.  
  7038. ΓòÉΓòÉΓòÉ 15.5.1. <NODEX>.PDX format ΓòÉΓòÉΓòÉ
  7039.  
  7040. 4.1. <NODEX>.PDX format
  7041. ~~~~~~~~~~~~~~~~~~~~~~~
  7042.  
  7043. The index is a btree, just like those for the Address and SysOp
  7044. indices that are standard in Version 7.
  7045.  
  7046. Phone numbers will be indexed in the "processed" dialable form
  7047. (i.e. as in the V7 phone field) after removal of dashes.
  7048.  
  7049. Special non-numerical phone entries, including IP addresses and
  7050. internet domains, are indexed verbatim (the possible
  7051. translations operated by the nodelist compiler to allow the
  7052. dialing on some mailers is NOT applied to the indexed entry).
  7053.  
  7054. The indexing is NOT case sensitive, although the case is
  7055. retained in the index entries.
  7056.  
  7057. The index look-up must be done just the same way as for the SysOp
  7058. index: from the "phone number" string you obtain a pointer to
  7059. the corresponding entry in the <NODEX>.DAT.
  7060.  
  7061. Please be aware that multiple entries with the same "phone" are
  7062. possible, e.g for administrative akas; the Phone links in
  7063. <NODEX>.DTP allow easy browsing of all the "same phone" entries
  7064. once you have got one by index.
  7065.  
  7066. Currently there is no purpose in doing a case sensitive lookup;
  7067. in the case it becomes useful in the future, the application may
  7068. optionally provide settings to allow that by skipping
  7069. non-case-matching entries.
  7070.  
  7071.  
  7072. ΓòÉΓòÉΓòÉ 15.5.2. The Look-up problem ΓòÉΓòÉΓòÉ
  7073.  
  7074. 4.2. The Look-up problem
  7075. ~~~~~~~~~~~~~~~~~~~~~~~~
  7076.  
  7077. Since most ISDN devices do NOT report the CID as a "ready to
  7078. dial" number, some processing is required before looking up the
  7079. index.
  7080.  
  7081. Let's classify the CID reported by ISDN devices in various
  7082. nations into categories:
  7083.  
  7084. Cat A reports CID with domestic and international dialing codes,
  7085.    local numbers have the area code.
  7086.  
  7087. Cat B reports CID with NO long distance dialing code,
  7088.    local numbers have the area code.
  7089.  
  7090. Cat C reports CID exactly as dialable.
  7091.  
  7092. Cat D reports CID with NO long distance dialing code,
  7093.    local numbers are exactly dialable.
  7094.  
  7095.  
  7096.  
  7097. I will now explain with an example:
  7098.  
  7099. I live in Modena, Italy;
  7100.  
  7101. Country code          : 39
  7102. District (area) code  : 59
  7103. domestic code         :  0
  7104. international code    : 00
  7105.  
  7106.  
  7107. Call Type       A-CID           B-CID           Dialable
  7108.  
  7109. Local           059246112       59246112        246112
  7110. Domestic        0513456789      513456789       0513456789
  7111. International   00492312345     492312345       00492312345
  7112.  
  7113.  
  7114.                 C-CID           D-CID
  7115.  
  7116. Local           246112          246112
  7117. Domestic        0513456789      513456789
  7118. International   00492312345     492312345
  7119.  
  7120.  
  7121.  
  7122. Processing needed:
  7123.  
  7124. Category A: for local calls we need to remove the domestic and
  7125. district codes; domestic and international calls do not need any
  7126. processing.
  7127.  
  7128. Category B: we need to attempt finding a domestic number then,
  7129. in case of failure, try the international one; unfortunately the
  7130. CID reported by these devices allows for some ambiguity.
  7131.  
  7132. Category C: no processing needed.
  7133.  
  7134. Category D: we need to attempt finding a local number, if not
  7135. found we look for a domestic number, if still not found we try
  7136. the international one. Even more ambigous than B.
  7137.  
  7138.  
  7139. ΓòÉΓòÉΓòÉ 15.5.3. The ALGORITHM ΓòÉΓòÉΓòÉ
  7140.  
  7141. 4.3. The ALGORITHM
  7142. ~~~~~~~~~~~~~~~~~~
  7143.  
  7144. The application must have configurable District/Area, domestic
  7145. and international codes; let's name them:
  7146.  
  7147. AreaCode
  7148. DomesticPrefix
  7149. IntlPrefix
  7150.  
  7151. Besides, the application must have a configurable "category",
  7152. which must have selections for cases A,B,C,D; let's name this
  7153. variable:
  7154.  
  7155. Category
  7156.  
  7157.  
  7158. Let "Search" be the name of a function that does the index
  7159. look-up. Please be aware that the index may contain multiple
  7160. entries with the same "phone" value (perhaps administrative
  7161. akas).
  7162.  
  7163. "Restore CID" means "restore the CID as got from the device".
  7164.  
  7165. Start:
  7166.  
  7167.    get CID
  7168.  
  7169.    if (category == A) {
  7170.        If (CID begins with DomesticPrefix+AreaCode)
  7171.            Remove DomesticPrefix and AreaCode   // is local
  7172.        Search
  7173.        goto END
  7174.    }
  7175.  
  7176.  
  7177.    if (category == B) {
  7178.        If (CID begins with AreaCode) {  // local or intl
  7179.            remove AreaCode          // try local
  7180.            Search
  7181.            if (found)
  7182.                goto END         // is local
  7183.            else {
  7184.                Restore CID
  7185.                Add IntlPrefix   // try international
  7186.                Search
  7187.                goto END
  7188.            }
  7189.        } else {                 // domestic or intl
  7190.            Add DomesticPrefix   // try domestic
  7191.            Search
  7192.            if (found)
  7193.                goto END         // is domestic
  7194.            else {
  7195.                Restore CID      // try intl
  7196.                Add IntlPrefix
  7197.                Search
  7198.                goto END
  7199.            }
  7200.  
  7201.        }
  7202.    }
  7203.  
  7204.  
  7205.    if (category == C) {    // no processing required
  7206.        Search
  7207.        goto END
  7208.    }
  7209.  
  7210.    if (category == D) {
  7211.        Search             // try local
  7212.        if (found)         // is local
  7213.            goto END
  7214.        else {
  7215.            Add DomesticPrefix    // try domestic
  7216.            Search
  7217.            if (found)            // is domestic
  7218.                goto END
  7219.            else {                // try international
  7220.                Restore CID
  7221.                Add IntlPrefix
  7222.                Search
  7223.                goto END
  7224.            }
  7225.        }
  7226.    }
  7227.  
  7228.  
  7229. END: report results (pointer to NODEX.DAT or nothing found)
  7230.  
  7231.  
  7232. The Phone links in <NODEX>.DTP allow easy browsing of all
  7233. remaining "same phone" entries.
  7234.  
  7235.  
  7236. ΓòÉΓòÉΓòÉ 15.6. V7+ Semaphore ΓòÉΓòÉΓòÉ
  7237.  
  7238. 5. V7+ Semaphore
  7239. ================
  7240.  
  7241. To avoid collisions between the nodelist compiler and V7+
  7242. applications, a semaphore is used.
  7243.  
  7244. When the compiler needs exclusive access to the nodelist files,
  7245. it creates (if non existent) and keeps open in SH_DENYRW mode a
  7246. "<NODEX>.BSY" file.
  7247.  
  7248. When the application must access the nodelist files, it creates
  7249. (if non existent) and keeps open for reading in SH_DENYWR mode
  7250. the "<NODEX>.BSY" file.
  7251.  
  7252. This method allows for concurrent access by multiple programs in
  7253. "read" mode, while granting exclusive access to the compiler.
  7254.  
  7255. Please note that <NODEX>.BSY does NOT need to be deleted in case
  7256. of abnormal termination or power failure since it's considered
  7257. busy only while kept open.
  7258.  
  7259.  
  7260. Example for a program that must read V7+:
  7261.  
  7262. bsyname is the "<NODEX>.BSY" file name;
  7263. timeout is the timeout in seconds;
  7264. the file handle is returned on success, -1 on timeout
  7265.  
  7266.  
  7267. int waitopen (const char *bsyname, int timeout) // -1 on timeout
  7268. {
  7269.   int ret = -1;
  7270.   int i = 0;
  7271.  
  7272.   do {
  7273.     if (i > 0)
  7274.       sleep (1);
  7275.     if (access (bsyname, F_OK)) {       // file not existent
  7276.       int handle = open (bsyname, O_WRONLY | O_CREAT, S_IWRITE);
  7277.       if (handle != -1)
  7278.         close (handle);
  7279.     }
  7280.     ret = sopen (bsyname, O_RDONLY, SH_DENYWR);
  7281.     i ++;
  7282.   } while ((ret == -1) && (i < timeout) &&
  7283.            ((errno == EACCES) || (errno == ENOENT)));
  7284.            // sharing violation or file not found
  7285.     return ret;
  7286. }
  7287.  
  7288.  
  7289.  
  7290.  
  7291. ΓòÉΓòÉΓòÉ 15.7. Space/Time needed for V7+ database vs. usability ΓòÉΓòÉΓòÉ
  7292.  
  7293. 6. Space/Time needed for V7+ database vs. usability
  7294. ===================================================
  7295.  
  7296. The V7+ DTP file may be considered redundant, since it contains
  7297. the entire "source" nodelist line, that duplicates some of the
  7298. information already present in the V7 DAT file.
  7299.  
  7300. Let's look at the time and space overhead involved and at the
  7301. gain in usability:
  7302.  
  7303.  
  7304. Time:
  7305.  
  7306. Accessing V7+ is as fast as V7, if you use the normal V7 access
  7307. method (and if you are NOT interested in the additional data).
  7308.  
  7309. If you access the additional data in the <NODEX>.DTP file, you
  7310. have 1 direct file access more. Nothing to worry about...
  7311.  
  7312. Generating a V7+ database will take somewhat longer since there
  7313. is more data to be written to disk, links to be set, indices to
  7314. be prepared; on modern machines this should not be a concern.
  7315.  
  7316.  
  7317. Space:
  7318.  
  7319. Space needed is about twice as much as for V7, but this should
  7320. be no concern on modern machines.
  7321.  
  7322.  
  7323. Usability:
  7324.  
  7325. - Full and complete (no lossy compression) nodelist information
  7326.  
  7327. - Phone Index for easy CID lookup
  7328.  
  7329. - SysOp/Phone/Fidonet links for easy nodelist browsing
  7330.  
  7331. - Backward compatible extendability
  7332.  
  7333.  
  7334.  
  7335. ΓòÉΓòÉΓòÉ 15.8. Sample "C" source code (taken from BT-XE) ΓòÉΓòÉΓòÉ
  7336.  
  7337. 7. Sample "C" source code (taken from BT-XE)
  7338. ============================================
  7339.  
  7340. See archive v7p_src.* ...
  7341.  
  7342. Attention: this source code is far from being final - in fact it
  7343.       is the very first V7+ implementation in BT-XE and does
  7344.       not support all stuff that has been defined in this
  7345.       document. But it can read and parse V7+ data and is
  7346.       maybe better than no source code at all ...
  7347.  
  7348.  
  7349. ΓòÉΓòÉΓòÉ 15.9. History of this document ΓòÉΓòÉΓòÉ
  7350.  
  7351. 8. History of this document
  7352. ===========================
  7353.  
  7354. Draft 1->8: preliminary thoughts about possible versions of V7+.
  7355.  
  7356. Draft 9: completely rewritten, this should be the final
  7357.      "Version_0" of V7+.
  7358.  
  7359. Version 0: first release version.
  7360.  
  7361.