home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / DLMST260.ZIP / DLMST260.DOC < prev    next >
Text File  |  1993-08-18  |  22KB  |  525 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.       ┌────────────────────────────────────────────────────────────┐
  9.       │                                                            │
  10.       │  DLMASTER v2.60  - The RBBS Download File Listing Utility  │
  11.       │                                                            │
  12.       │                 (c) 1990-93 by Bob Hampton                 │
  13.       │                                                            │
  14.       │   S3-Technologies BBS  (703)451-9509   300-9600bps 24-hr   │
  15.       └────────────────────────────────────────────────────────────┘
  16.  
  17.                RBBS-PC copyright 1990 by D. Thomas Mack
  18.                 SuperFMSL copyright 1989 by Ethan Poole
  19.                     PKZIP copyright 1990 by PKWare
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28. INTRODUCTION:
  29.  
  30.    DLMASTER was created to make a professional-looking list of all
  31. files available for download on an RBBS-PC bulletin board.  It was
  32. inspired by Ethan Poole's fine SuperFMSL program, but is being
  33. distributed free of charge, in the spirit of the RBBS-PC tradition.
  34.  
  35.    I have included the C source code for those who wish to examine and
  36. possibly modify the program to suit their own purposes.  I ask only
  37. that the program not be distributed with modifications I have not
  38. approved and incorporated, since there would be no way for me to offer
  39. support for such a modified program.
  40.  
  41.    DLMASTER is written to make use of both disk and memory in order to
  42. sort out and create the listing in the most expedient manner.  I think
  43. you will find that DLMASTER runs almost twice as fast as other such
  44. programs with it's sorting capabilities, and I am working on ways to
  45. increase that speed even more.
  46.  
  47.  
  48. DLMASTER 2.60                                                Page 2
  49.  
  50.  
  51.  
  52. FILES INCLUDED:
  53.  
  54.  
  55.    Enclosed in this distribution should be the following files :
  56.  
  57.         DLMASTER.C    -   Source code for DLMASTER
  58.         DLMASTER.EXE  -   The executable file
  59.         DLMST260.DOC  -   What you're reading
  60.         DOSWDW.ASM    -   Assembly source code for DOSWDW
  61.         DOSWDW.DOC    -   Documentation on DOSWDW
  62.         DOSWDW.OBJ    -   Object file for linking
  63.         DOSWDW.H      -   Include file for DOSWDW
  64.         FMSCHK.C      -   Source code for FMSCHK
  65.         FMSCHK.EXE    -   The executable file
  66.         FMSCHK.TXT    -   Info on the FMSCHK program
  67.         README.NOW    -   Late-breaking info
  68.  
  69.     DLMASTER is now distributed in ZIP format using PKWare's Authenticity
  70. Verification.   When unzipping the file, you should see the following:
  71.  
  72.  
  73.       Searching ZIP: DLMST260.ZIP
  74.         Exploding: DLMASTER.C    -AV
  75.         Exploding: DLMASTER.EXE  -AV
  76.         Exploding: DLMST260.DOC  -AV
  77.         Exploding: DOSWDW.ASM    -AV
  78.         Exploding: DOSWDW.DOC    -AV
  79.         Exploding: DOSWDW.H      -AV
  80.         Exploding: DOSWDW.OBJ    -AV
  81.         Exploding: FMSCHK.C      -AV
  82.         Exploding: FMSCHK.EXE    -AV
  83.         Exploding: FMSCHK.TXT    -AV
  84.         Exploding: README.NOW    -AV
  85.  
  86.       Authentic files Verified!   # MIQ538   S3-Tech
  87.  
  88. If you do not see the verification number, then you have not received an
  89. authentic copy of the program.
  90.  
  91.  
  92. DLMASTER 2.60                                                Page 3
  93.  
  94.  
  95.  
  96. FEATURES:
  97.  
  98.    -  Supports FMS files of virtually unlimited size.
  99.  
  100.    -  Supports multiple category codes per category.
  101.  
  102.    -  Includes FMSCHK utility to check your FMS directory structure for
  103.       proper format.
  104.  
  105.    -  Sorts files by name or date, in ascending or descending order.
  106.  
  107.    -  Supports \FMS CH and \FMS TOP parameters.
  108.  
  109.    -  Supports FMS security levels.
  110.  
  111.    -  Supports FMS comments and category headers.
  112.  
  113.    -  Supports formatted (non-standard) filenames in the FMS
  114.       directories.
  115.  
  116.    -  Automatically detects the width of the FMS line.
  117.  
  118.    -  Can add user-specified text files to the head and/or tail of the
  119.       list.
  120.  
  121.    -  Can automatically link to your choice of compression utility to
  122.       to produce compressed output.
  123.  
  124.  
  125.  
  126. REQUIREMENTS:
  127.  
  128.    -  Requires approx. 128K of memory, plus 28K per 1000 files in your
  129.       largest single or multiple-code category. Will work faster on
  130.       larger files with more memory.
  131.  
  132.    -  Requires approx. 28K of free disk space per 1000 files to create
  133.       the temporary work files, plus space for the output file and the
  134.       ZIPped file (if created).
  135.  
  136.  
  137. DLMASTER 2.60                                                Page 4
  138.  
  139.  
  140.  
  141. THE DLMASTER CONFIG FILE:
  142.  
  143.    DLMASTER uses a configuration file, which you can create with any
  144. text editor, in order to specify parameters required for the sort and
  145. output.  The name of this config file will be included on the command
  146. line when running the program.  The default name for the file is
  147. DLMASTER.CFG, and the program will look for this file if you do not
  148. specify one on the command line.
  149.  
  150.    The configuration file must contain at least 6 lines, and can
  151. contain up to 10, in order to specify the following parameters:
  152.  
  153. line   description                         example
  154. ====   ============================        =====================
  155.  1     full path of master FMS file        C:\RBBS\MASTER.DIR
  156.  2     full path of DIR.CAT file           C:\RBBS\DIR\DIR.CAT
  157.  3     full path of file to create         F:\SEND\S3FILES.TXT
  158.  4     name of BBS                         S3-Technologies BBS
  159.  5     sort type - A)lpha or D)ate         A
  160.  6     reverse sort? - Y or N              N
  161.  7     header file to include (optional)   C:\TXT\S3HEADER.TXT
  162.  8     footer file to include (optional)   C:\TXT\S3FOOTER.TXT
  163.  9     path\filename for compression util  C:\PKWARE\PKZIP
  164.        (optional)
  165. 10     lowest and highest security levels  5,46 (MUST INCLUDE BOTH !!)
  166.        to process (optional)
  167.  
  168.    It is worth noting a couple of points here.  First, you can create
  169. different types of listings by using different config files (to create
  170. output sorted by date or name. for instance).  Second, you can also
  171. create different listings by using different DIR.CAT files.  Only the
  172. categories listed in the DIR.CAT file will be included in the final
  173. output.  Also, no files marked as "private for sysop" (those with
  174. category code "***") will be included in the output.
  175.    The last notes pertain to using the optional parameters: numbers 7,
  176. 8, 9 & 10.  DLMASTER will read the config file to the end-of-file.  It
  177. must find at least six lines for the first six parameters.  You do not
  178. need to add any blank lines for parameters 7-10 if you do not intend to
  179. use any of them, but if you wish to use say, parameter 9, you MUST
  180. include a blank line (carriage return ONLY) for each of lines 7 and 8.
  181. If you wish to use just parameter 8, you would include a blank line for
  182. parameter 7, but would not need one for parameter 9.
  183.    If using parameter nine, you must specify the name of the compression
  184. utility you wish to use.  I have tested DLMASTER with PKZIP, ARJ, and
  185. LHARC with success.  The only limitation here is that if not using one
  186. of these utilities, the program you select must support the use of an
  187. 'a' parameter to indicate that it is adding files to the compressed
  188. output.
  189.    If using parameter 10, the FMS seecurity levels, you must specify both
  190. parameters or DLMASTER will not function correctly.  You may use any valid
  191. number from 0 to 32767.  You can pick just one security level to process
  192. by choosing it as both the lowest and highest level to process.
  193.  
  194.  
  195. DLMASTER 2.60                                                Page 5
  196.  
  197.  
  198.  
  199. SPECIAL NOTES:
  200.  
  201.   A request was made to handle FMS files where the filename was
  202. formatted in a non-standard way.   You may therefore have filenames in
  203. your FMS files formatted in any of four ways:
  204.  
  205.    1)   FILENAME.EXT     (standard)
  206.    2)   FILENAME   EXT   (formatted)
  207.    3)   FILENAME  .EXT   (dot formatted)
  208.    4)   FILENAME         (no extension)
  209.  
  210. The number of spaces between the filename and the extension is
  211. variable, as long as it does not conflict with RBBS-PC requirements.
  212. There must, however, be no spaces between the dot (if used) and the
  213. file extension.  The final output will show the filename exactly as it
  214. is in the FMS file.
  215.  
  216.  
  217.  
  218.  
  219.  
  220. RUNNING THE PROGRAM:
  221.  
  222.    The syntax for executing DLMASTER is as follows:
  223.  
  224.               DLMASTER <config file>
  225.  
  226. where <config file> is the name of the configuration file you
  227. have created.  If you do not specify a config file, DLMASTER will
  228. look for DLMASTER.CFG by default.
  229.  
  230.  
  231.  
  232. LIMITATIONS:
  233.  
  234.      The following are known limitations of DLMASTER at the present
  235. time:
  236.  
  237.      - Supports no more than 50 chained FMS files.
  238.  
  239.      - Does not display comment lines (beginning with '\' or '*').
  240.  
  241.      - All FMS files must use the same line width.
  242.  
  243.  
  244. DLMASTER 2.60                                                Page 6
  245.  
  246.  
  247.  
  248. THE FMSCHK PROGRAM:
  249.  
  250.    Up to now, I have spent many hours helping people debug problems
  251. with DLMASTER that were related to errors in the format of certain
  252. lines of their FMS directories.  Such errors included improper
  253. format/characters in the filesize or date fields, and extraneous
  254. characters between the various fields.
  255.  
  256.    These errors apparantly did not disturb RBBS, but wreaked havoc
  257. with DLMASTER.  I have therefore included a small utility, FMSCHK.EXE,
  258. to scan your FMS directory files to ensure that they are in a proper
  259. format to work with DLMASTER.
  260.  
  261.    If you have a problem with DLMASTER, I suggest you first double
  262. check your DLMASTER.CFG file, then run the FMSCHK program against your
  263. FMS.  Please refer to FMSCHK.TXT for further information.
  264.  
  265.  
  266.  
  267. FUTURE PLANS:
  268.  
  269.    The best-laid plans often go astray.  I have thought of a few
  270. things that I might like to add, but would prefer to get your input on
  271. what you feel would be useful additions or enhancements to DLMASTER.
  272. Please make your suggestions within the scope of DLMASTER's intended
  273. purpose - I'm not trying to make it a "Swiss Army Knife" of FMS
  274. utilities! <grin>
  275.  
  276.  
  277.  
  278. SUPPORT:
  279.  
  280.    I will attempt to provide support for any questions that arise
  281. regarding the use of DLMASTER.  Please leave me a message on my
  282. bulletin board, and I will respond within 24 hours.  If there is a bug
  283. report, I will try to have a fix available within 3 days.  The number
  284. for the board is:
  285.  
  286.           Bob Hampton
  287.           S3-Technologies BBS
  288.           Burke, VA
  289.           (703) 451-9509
  290.  
  291.           300-9600bps   24-hr
  292.  
  293.    Enjoy the program, and let me know if you have ideas for other
  294. useful RBBS-PC utilities!
  295.  
  296.  
  297. DLMASTER 2.60                                                Page 7
  298.  
  299.  
  300.  
  301. NOTES ON COMPILING:
  302.  
  303.    With the introduction of the DOSWDW module, recompiling DLMASTER has
  304. grown to become a C Project, as opposed to a simple compile.  Included
  305. in this distribution are the DOSWDW.H and DOSWDW.OBJ files necessary for
  306. your Turbo C MAKE utility.  Using these files requires that you temporarily
  307. comment out the current declarations for the setvect() function in your
  308. DOS.H file.  Interestingly enough, I found setvect() to be declared twice
  309. in this file, so double-check yours before starting the compile.  Also
  310. remember to switch to the Large memory module for compiling DLMASTER, or
  311. you'll get an error during the linking process. If you want an additional
  312. example of how to use this function in a program, download a copy of
  313. DOSWDW.ZIP, available on my board of you can't find it elsewhere.
  314.  
  315.  
  316.  
  317. ACKNOWLEDGEMENTS:
  318.  
  319.    I would like to thank the following sysops for helping me to test
  320. and debug DLMASTER:
  321.  
  322.       Dan Shore        The Shoreline           (301) 946-2771
  323.       Walter Ames      The World of Greyhawk   (301) 461-9943/465-3891
  324.       John Palazzolo   JP's Place              (703) 237-5786
  325.       Sam Coleman      Port-of-Call            (301) 249-4193
  326.       Bruce Marusich   Street Noise            (301) 601-8710
  327.  
  328. Their time and efforts have been invaluable in providing me the
  329. feedback necessary to bring you the most bug-free and user-oriented
  330. program possible.
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337. SPECIAL THANKS:
  338.  
  339.    I would like to thank Thomas Mack, Ken Goosens, Doug Azzarito, Jon
  340. Martin, and the countless others who have strived to make RBBS-PC the
  341. best and best-supported BBS program around.  Their continuing
  342. commitment to excellence, and their unselfish devotion to public
  343. service is a refreshing change in this otherwise commercialized world.
  344. Their attitude of "users helping users" is one that I hope will
  345. continue to thrive and grow within the PC community, and one that I am
  346. happy to do my part in propagating.
  347.  
  348.  
  349. DLMASTER 2.60                                                Page 8
  350.  
  351.  
  352.  
  353. REVISION HISTORY: (note:  'ß' suffix indicates beta version)
  354.  
  355.     2.60    08-18-93   Added true support for FMS security levels on
  356.                        files.  Added new config parameter to allow
  357.                        of security levels to be processed - default
  358.                        being all.
  359.  
  360.     2.52ß   08-15-92   Corrected bug where multiple entries using RBBS
  361.                        security symbol '=' caused DLMASTER to crash
  362.                        with various messages.
  363.  
  364.     2.51    10-09-92   Double Oops!  Changed some code in preparation
  365.                        for an upcoming feature which affected the
  366.                        compilation of the compressed file so that
  367.                        the extension was concatenated.  Fixed.
  368.  
  369.     2.50    10-02-92   Oops!  Forgot that DOS would only allow you
  370.                        to have 20 files open at once for any given
  371.                        process.  This caused DLMASTER to bomb out
  372.                        when using more than 15 chained FMS files
  373.                        (DOS automatically uses 5 of the available 20).
  374.                        Thanx to Bob Kiernan from the Beehive BBS for
  375.                        pointing me towards this one.
  376.  
  377.                        This release also supports the compression
  378.                        utility of your choice, and changes the way
  379.                        progress is reported during final output by
  380.                        using a graph.  Also adds windowed output
  381.                        to observe the compression utility in progress.
  382.  
  383.     2.41     6-29-92   Corrected small bug that caused lockup when
  384.                        DIR.CAT file used spaces between category
  385.                        codes in multi-code categories.
  386.  
  387.                        Also includes version 1.04 of FMSCHK program.
  388.  
  389.     2.40ß    4-20-92   At Last!!  I have learned (hopefully) how to
  390.                        properly manage HUGE arrays in memory (over
  391.                        64K).  Have eliminated annoying bug of lockups
  392.                        when a single category was too large.  Also
  393.                        reintroduced ability to handle multiple
  394.                        category codes per category.  Also now the
  395.                        only supported version of DLMASTER (v1.32
  396.                        rescinded).
  397.  
  398.     2.30               (never released)
  399.  
  400.     2.20     8-4-91    Improved the way that the final output file is
  401.                        created in order to reduce disk thrashing.  Added
  402.                        proper support for monochrome monitors (finally!).
  403.                        Also fixed a memory bug that had crept in between
  404.                        versions 2.00b and 2.10b.
  405.  
  406.     2.11     8-3-91    A cute one!  Had changed the way DLMASTER named the
  407.                        temp files, which caused a strange error.  If FMS
  408.                        category code was "PRN", DLMASTER tried to create a
  409.                        temp file called "PRN.DL$".  Trying to write to the
  410.                        file would cause a DOS error "Unable to write to
  411.                        device: PRN", as if it was accessing the printer.
  412.                        Thanx to Sam Coleman for pointing out this one.
  413.  
  414.     2.10ß    8-3-91    A small oversight corrected.  DLMASTER would not
  415.                        handle FMS category headers, lines that began with
  416.                        '*'.  Thanx to Peter Skorupsky of the Freedom Infonet
  417.                        BBS for pointing this out.
  418.  
  419.  
  420. DLMASTER 2.60                                                 Page 9
  421.  
  422.  
  423.  
  424.                        Also fixed a bug in 2.01b whereby private files to
  425.                        Sysop (category code = "***") were not being
  426.                        processed correctly.
  427.  
  428.     2.01ß    7-28-91   Fixed a bug that had crept in around version 1.20
  429.                        which caused chained FMS directories not to work.
  430.  
  431.     2.00ß    7-27-91   A MAJOR CODE REWRITE!!  DLMASTER now supports FMS
  432.                        files of virtually unlimited size.  Thanx again to
  433.                        Bruce Marusich for forcing my programming skills
  434.                        beyond their previous limitation.  Had to give up the
  435.                        ability to handle multiple category codes per
  436.                        category, but hope to add this back in.
  437.  
  438.                        Introduction of the FMSCHK utility, to help identify
  439.                        errors in the format of the FMS.
  440.  
  441.     1.41ß    7-14-91   Okay - so it was late and I was tired, and I forgot
  442.                        to increase the stack size....
  443.  
  444.     1.40ß    7-13-91   Fixed problem of stack overflow when more than
  445.                        approx. 1200 files in one category.  This should have
  446.                        been done at the same time as the fixes in 1.10b, but
  447.                        hadn't run into a .DIR file with that many files in
  448.                        one category.  Thanks to Bruce Marusich of the Street
  449.                        Noise BBS for pointing this out.
  450.  
  451.     1.32     3-29-92   Cleaned up bug of not properly deleting all the
  452.                        temporary files.  Also allowed parsing multi-
  453.                        code category definitions in DIR.CAT with spaces
  454.                        in between codes.
  455.  
  456.     1.31c    3-23-92   This actually released after version 2.20, in
  457.                        order to satisfy the needs of those who did not
  458.                        have large FMS files (over 1200 files/category,
  459.                        or over 2700 files in total FMS), but needed
  460.                        the ability to handle multiple category codes.
  461.                        fixes problem of not properly handling chained
  462.                        FMS files, and increases maximum category codes
  463.                        per category to 20.
  464.  
  465.     1.30     6-11-91   DLMASTER could not work with files that had no
  466.                        extension.  An oversight which I was surprised not to
  467.                        have turned up earlier.  Thanx to Jim Mayor of the
  468.                        HUG BBS for bringing this to my attention.
  469.  
  470.     1.20     4-27-91   First general release since fixes in 1.10b - also
  471.                        added code to strip "Uploaded by" lines when using
  472.                        BAMAWHO.MRG or RBBSWHO.MRG merges.
  473.     1.10ß    3-24-91   Fixed problem with memory management to work with
  474.                        arrays larger than 64K.  Problem occurred when more
  475.                        than 2973 files were listed in an FMS directory(ies).
  476.                        Thanx to Dan Shore of SPPT and Tom Hansen of Church
  477.  
  478.  
  479. DLMASTER 2.60                                                 Page 10
  480.  
  481.  
  482.                        Chatters for helping me find this one.  Also
  483.                        reformatted docs to print correctly on laser
  484.                        printers.  Thanx to JP of JP's Place and Sam Coleman
  485.                        of Port-of-Call for pointing out the benefits of
  486.                        this.
  487.  
  488.     1.01     1-5-91    Fixed bug causing certain \FMS header lines to not be
  489.                        parsed correctly.
  490.  
  491.     1.0      1-3-91    First public release.  Another rewrite of
  492.                        documentation.  A couple of minor code trims to
  493.                        remove code used while debugging the beta versions.
  494.  
  495.     0.95ß    1-1-91    Corrected bug causing filenames not to show correctly
  496.                        on the screen display.  Improved error-handling code.
  497.                        Major rewrite of documentation.  New 3-D display
  498.                        interface added.
  499.  
  500.     0.94ß  12-25-90    Added capability to add user-specified text files at
  501.                        the head and/or tail of the output file.  Modified
  502.                        screen colors slightly, and added additional
  503.                        information to documentation.
  504.  
  505.     0.93ß  12-24-90    A quick fix.  Allows use of formatted file names in
  506.                        FMS directories, and corrects problem that caused
  507.                        work files not to be deleted.  This was due to the
  508.                        fact that DLMASTER read ALL files listed in the FMS
  509.                        directories, and created temp files for such, but did
  510.                        not include files in the output for directory
  511.                        categories not listed in the DIR.CAT file.  This
  512.                        situation also caused the total file and byte counts
  513.                        to be off.
  514.  
  515.     0.92ß  12-24-90    Added colorful display.  Added capability to
  516.                        automatically ZIP the output file (new config
  517.                        parameter).
  518.  
  519.     0.91ß  12-22-90    Corrected problems with stack overflow that resulted
  520.                        in program crashes with larger FMS files.   Corrected
  521.                        code so that files that were for sysop only (cat code
  522.                        = "***") would not be included in the listing.
  523.  
  524.     0.90ß  12-20-90    Initial beta release.
  525.