home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / flm140.zip / Flm.Doc < prev    next >
Text File  |  1996-12-08  |  55KB  |  1,534 lines

  1.         **************************************************************
  2.         *                                                            *
  3.         *                                                            *
  4.         *                  *******  ****     **   **                 *
  5.         *                   **   *   **      *** ***                 *
  6.         *                   ** *     **      *******                 *
  7.         *                   ****     **      *******                 *
  8.         *                   ** *     **   *  ** * **                 *
  9.         *                   **       **  **  **   **                 *
  10.         *                  ****     *******  **   **                 *
  11.         *                                                            *
  12.         *                                                            *
  13.         *         A flexible File List Manager for Maximus (*)       *
  14.         *                                                            *
  15.         *                                                            *
  16.         **************************************************************
  17.         *                                                            *
  18.         *        (C) Copyright 1991-1996  by  Alberto Pasquale       *
  19.         *                                                            *
  20.         *            A L L   R I G H T S   R E S E R V E D           *
  21.         *                                                            *
  22.         **************************************************************
  23.         
  24.         (*) Maximus is a trademark of Lanius Corporation
  25.         
  26.  
  27.                   FLM 1.40 User's Manual, by Alberto Pasquale
  28.         
  29.                                   INTRODUCTION
  30.         
  31.         
  32.         -> For licensing information, please see License.Doc.
  33.         
  34.         Thanks for evaluating FLM: a File List Manager for Maximus(*).
  35.         
  36.                                  Main Features
  37.         
  38.         
  39.         - To be used with Maximus 3.xx by Scott J. Dudley.
  40.         
  41.         - One-Pass generation of multiple file lists.
  42.         
  43.         - Internal generation of Maximus File Base and indexes
  44.           (no need for external FB/FBP).
  45.         
  46.         - Generation of UniFiles.Idx in addition to MaxFiles.Idx to
  47.           allow File-Requests with no duplicates with Binkley(**).
  48.         
  49.         - New file announcement.
  50.         
  51.         - Support for separate "Creation" and "Modification" dates in
  52.           HPFS, following the Max 3.xx convention: the "Creation" date
  53.           is used as the "upload" date, to recognize new files; the
  54.           "Modification" date is used to list the file date.
  55.         
  56.         - Duplicate file report.
  57.         
  58.         - EchoToss.Log support.
  59.         
  60.         - Cfg support for external commands, to keep all stuff related
  61.           to list generation in the FLM.CFG.
  62.         
  63.         - Selective Adoption or Killing of Orphans.
  64.         
  65.         - Selective description deletion for missing files.
  66.         
  67.         - Minimum configuration effort required.
  68.         
  69.         - Okfile generation.
  70.         
  71.         - Okfile support for a fixed header and variable Magics.
  72.         
  73.         - Mutually Exclusive access to the filebase (for other ApWorks
  74.           programs).
  75.         
  76.         - Support for multi-line descriptions.
  77.         
  78.         
  79.         (*)  This program uses the Squish MsgAPI code,
  80.              Copyright 1991-1994 by Lanius Corporation.
  81.              Squish and Maximus are trademarks of
  82.              Lanius Corporation.
  83.         
  84.         (**) Binkley is Copyright 1988-1994 Bit Bucket Software
  85.         
  86.  
  87.                                OVERALL OPERATION
  88.         
  89.         
  90.         FLM scans all the file areas in FAREA.DAT (or the equivalent
  91.         file defined in Max.prm). FLM writes all the output files in one
  92.         pass: for every area all the unused output files are closed and
  93.         the used ones are opened.
  94.         
  95.         If too many output files are required at the same time, FLM
  96.         could exit with a "cannot open file" or "too many files to open"
  97.         error: see the "Files <num>" cfg statement to increase the
  98.         available file handles.
  99.         
  100.         In the FILES.BBS, lines starting with a space ' ' or a dash
  101.         followed by space "- " or empty are considered as comment.
  102.         The optional path specification in the files.bbs is supported.
  103.         The three dating styles ("Automatic", "List", "Manual") of Max
  104.         3.00 are supported.
  105.         
  106.         Areas that are offline (e.g. CDROMs not in the drive) can still
  107.         be listed provided they are defined in filearea.ctl with a
  108.         separate (and online) "FileList" and are of "Type DateList"; in
  109.         the output lists generated by FLM, these areas will be marked
  110.         with "Offl" just before the area description.
  111.         
  112.  
  113.         
  114.         
  115.         
  116.                                   INSTALLATION
  117.         
  118.         
  119.         1) Edit flm.cfg.
  120.            In the case you do not use the "MAXIMUS" environment variable
  121.            to point at the current MAX.PRM, you must use the "MaxPrm"
  122.            statement.
  123.         
  124.         2) Edit your maintenance batch in order to call FLM.
  125.         
  126.         3) (OS/2) Make sure you have the MSGAPI32.DLL file in your
  127.            LIBPATH.
  128.         
  129.            (NT): Make sure you have the MSGAPINT.DLL in a directory
  130.              contained in your PATH. MSGAPINT.DLL can be found in the
  131.              Max 3.01 for Windows archive (MAX301N.ZIP).
  132.         
  133.            (DOS)  Make sure you have the DOS4GW.EXE DOS extender in your
  134.            path.
  135.         
  136.            FLM.Exe must obviously be in your path.
  137.            FLM.Cfg must be in the current directory.
  138.         
  139.         
  140.         
  141.                              Command line Switches
  142.         
  143.         
  144.            -c<cfgfile>    Cfg file override.
  145.         
  146.            -a[n]          Use the nth "last-exec" date (0 <= n <= 9).
  147.                           If the switch is not specified, date #0 is used.
  148.                           If n is omitted, no announcement is made.
  149.         
  150.                           FLM keeps 10 different "last-exec" dates for
  151.                           announcements: you may want to use '-a0'
  152.                           (default) for daily announcements, '-a1' for
  153.                           weekly ones and so on.
  154.         
  155.                 Examples:
  156.         
  157.                 -a  Do NOT announce
  158.                 -a0 Announce files newer than last-exec date 0 (default)
  159.                 -a1 Announce files newer than last-exec date 1
  160.                 -a9 Announce files newer than last-exec date 9
  161.         
  162.         
  163.            -h or -?       Help
  164.         
  165.         
  166.            Example: FLM -cc:\max\flm.cfg -a1
  167.         
  168.         
  169.         
  170.         
  171.                                   ERRORLEVELS
  172.         
  173.         
  174.              0 - Normal termination
  175.              1 - Error in CFG
  176.              2 - Help Requested
  177.              3 - Abnormal termination
  178.              4 - Cfg file not found
  179.              5 - File Base is Busy (TimeOut)
  180.             10 - Prefix or Suffix too long
  181.            250 - MsgApi Init Error
  182.            251 - Area Open Error
  183.            252 - Error Opening output list
  184.            253 - Cannot read max.prm
  185.            254 - Cannot open logfile
  186.            255 - out-of-memory
  187.  
  188.         
  189.         
  190.                                  CFG REFERENCE
  191.         
  192.         
  193.         FLM requires a configuration file (defaults to FLM.Cfg). Before
  194.         using FLM you should edit this file, following the comments in
  195.         the sample one.
  196.         
  197.         
  198.                                  Conventions
  199.         
  200.         
  201.         
  202.         - Items between square brackets (e.g. [<item>]) are optional.
  203.         
  204.         - Items separated by '|' are mutually exclusive (e.g. C|H|D|N|O).
  205.         
  206.         - The names of the various Keywords are NOT case sensitive.
  207.         
  208.         - The area TAGs are NOT case sensitive.
  209.         
  210.         - When a directory path is required, the trailing backslash '\'
  211.           is optional.
  212.         
  213.         - The ';' character starts comments: any character following the
  214.           ';' is ignored. Please note that configuration text strings
  215.           (e.g. Subj, Origin) must be specified between double quotes
  216.           to allow the ';' character.
  217.         
  218.         - The maximum length of configuration lines is 254 characters.
  219.         
  220.         - Unless differently specified, addresses are standard 4D and
  221.           MUST begin with the zone number.
  222.         
  223.         - <WTag> is a "Wild TAG" specification: it can be a normal area
  224.           TAG or contain wildcards ('?' and '*') in the "OS/2 style".
  225.           If you specify the '*' alone, all tags will be included,
  226.           except for the "<special>" ones.
  227.         
  228.           Examples:
  229.         
  230.           1!*  includes all the tags starting with "1!".
  231.         
  232.           *    includes all the normal tags, does not include the
  233.                special tags like "<DEF>" or "<DUPES>".
  234.         
  235.           1!LOCAL  specifies the "1!LOCAL" area.
  236.         
  237.           LOCAL.*  specifies the LOCAL division.
  238.         
  239.           *LOCAL*  specifies all areas whose tag contains "LOCAL".
  240.         
  241.           UP.???   specifies all areas of division "UP" with up to 3
  242.                    characters after the point.
  243.         
  244.           <DUPES>  specifies the "dupe-file report".
  245.         
  246.           <DEF>    specifies the announcement of all new files not
  247.                    announced elsewhere.
  248.         
  249.           <CDROM>  specifies all the areas that are either marked as
  250.                    "Type CD" in filearea.ctl or detected as read-only by
  251.                    FLM, for NoAdopt and NoRemMis statements ONLY.
  252.         
  253.         - <filename> is a fully qualified filename with optional drive
  254.           and path.
  255.         
  256.         - <filespec> is a filename (no path, wildcards * and ? accepted)
  257.         
  258.         - The wildcards work the same as in OS/2 commands.
  259.           * stands for 0 or more characters
  260.           ? stands for 1 character (0 or 1 when at the end)
  261.           . is a character as all the others
  262.         
  263.           Examples:
  264.         
  265.           'dummy' does not match 'dummy.txt'
  266.           'dummy*' matches 'dummy.txt'
  267.           'du?mmy.txt' does not match 'dummy.txt'
  268.           'dummy.txt?' matches 'dummy.txt'
  269.           'du*y.txt' matches 'duy.txt'
  270.           'du*?y.txt' does not match 'duy.txt'
  271.           'du*?y.txt' matches 'dumy.txt'
  272.           'du*y.txt' does not match 'duo.txt'
  273.         
  274.         - ... means that you can list further items of the same type;
  275.         
  276.           Whenever you have to specify a list of items (tags, paths,
  277.           files, etc.), you can use multiple lines if you want:
  278.         
  279.           Adopt WIN* SDN*
  280.             is equivalent to:
  281.           Adopt WIN*
  282.           Adopt SDN*
  283.         
  284.         - <ACS> is a maximus access string
  285.         
  286.           Favored
  287.           Favored/1A
  288.           1000/!2
  289.           >=500|twit/A
  290.           <=300/b&disgrace/!c
  291.         
  292.         - <num>      is an integer number
  293.         
  294.         Please, note that the order of the configuration statements
  295.         follows some logical rule. In order not to create confusion in
  296.         the .cfg file and not to break some _necessary_ order relation,
  297.         please follow the scheme proposed in the example CFG file
  298.         and in this reference documentation.
  299.         
  300.  
  301.                                 Global Keywords
  302.         
  303.         The following statements are "Global" in scope, i.e. they affect
  304.         all the operations of FLM.
  305.         
  306.         
  307.         
  308.         RegKey <RegKey>
  309.         
  310.                 Registered Users only: <RegKey> is the registration key
  311.                 and it is NOT case sensitive.
  312.         
  313.             Example:
  314.         
  315.                 RegKey dfhyuwru6274623
  316.         
  317.         
  318.         
  319.         StatusLog <filename>
  320.         
  321.                 The usual Binkley Style logfile.
  322.         
  323.         
  324.         
  325.         Files <num>
  326.         
  327.                 It is used to increase the number of files that can be
  328.                 open at the same time. The Operating System allows 20
  329.                 files per process by default, including the 5 "standard"
  330.                 ones. If you need FLM to open many files, you might need
  331.                 to increase this limit. When you use this statement
  332.                 (with <num> > 20), FLM reports both on screen and to the
  333.                 logs the exact total number of files that can be open at
  334.                 the same time (can be >= <num>).
  335.         
  336.            DOS: WARNING: You need to specify a "Files=<num>" statement
  337.                 in your config.sys also. The "Files <num>" specification
  338.                 in FLM.cfg does not allow FLM to use more files than
  339.                 specified in the "Files=<num>" statement in your
  340.                 config.sys. E.g.: "Files=50"
  341.         
  342.             Example:
  343.         
  344.                 Files 50
  345.         
  346.         
  347.         
  348.         MsgSize <bytes>
  349.         
  350.                To specify the maximum size (in bytes) for a message
  351.                generated by FLM (minimum 8KB, default 12KB).
  352.         
  353.                Please be careful not to use a size larger than your
  354.                downlinks can handle.
  355.         
  356.                Example:
  357.         
  358.                MsgSize 90000
  359.         
  360.         
  361.         
  362.         MaxPrm <filename>
  363.         
  364.                 If the MAXIMUS environment variable is defined, this
  365.                 statement is an optional override only.
  366.         
  367.                 It is used to take the default for EchoTossLog and to
  368.                 get the name and location of the files necessary for
  369.                 filebase updating. The ".prm" extension in <filename>
  370.                 can be omitted.
  371.         
  372.             Example:
  373.         
  374.                 MaxPrm d:\bbs\max\max.prm
  375.         
  376.         
  377.         CompressCfg <filename>
  378.         
  379.                 Required to use File_Id.Diz for orphan adoption.
  380.         
  381.                 <filename> must specify the location and name of a
  382.                 "Squish style" compress definition file.
  383.         
  384.                 In the case you are using a case-sensitive
  385.                 de/compression program (e.g. OS/2 ZIP/UNZIP), please
  386.                 make sure to use the correct switches in <filename>.
  387.         
  388.                 If you are already using Squish and or Maximus, you
  389.                 can just specify the name of their compress.cfg (but do
  390.                 check that they indicate the necessary switches to avoid
  391.                 case sensitiveness during extraction).
  392.         
  393.                 Refer to the "Compress Definition File" section at the
  394.                 end of this reference for the syntax of this
  395.                 configuration file.
  396.         
  397.             Example:
  398.         
  399.                 CompressCfg c:\squish\compress.cfg
  400.          
  401.         
  402.         
  403.         
  404.         SquishCfg <filename>
  405.         
  406.                 It is used to specify the squish configuration file, so
  407.                 that the path, type (SDM vs Squish) and primary address
  408.                 for the announcement areas defined with the "AreaTag"
  409.                 statement can be automatically looked up.
  410.         
  411.                 When SquishCfg is defined, if you use "AreaTag <Tag>" to
  412.                 define announcement areas, the "FromNode <adr>"
  413.                 statement is only used to override the primary address
  414.                 specified for that area in Squish.Cfg (including the
  415.                 -p<address> overrides).
  416.         
  417.                 The "Include" keyword of Squish.Cfg is supported: just
  418.                 be sure to always use the full pathname in the Include
  419.                 statement if different from the working path.
  420.         
  421.                 Both echomail and netmail areas are recognized by their
  422.                 Squish tags.
  423.         
  424.                 Netmail areas will have the Private attribute and no
  425.                 origin by default. Local overrides are still possible
  426.                 via local "Origin" and "Attr" statements.
  427.         
  428.             Example:
  429.         
  430.                 SquishCfg c:\squish\squish.cfg
  431.         
  432.         
  433.         EchoTossLog <filename>
  434.         
  435.                 When a message is written into echoareas defined with
  436.                 the "AreaTag" statement, the corresponding
  437.                 TAGs are written (one per line) to <filename>.
  438.         
  439.                 If you use the "MaxPrm" statement (or MAXIMUS
  440.                 environment variable), "EchoTossLog" is not necessary
  441.                 and becomes an override of the echotosslog specification
  442.                 found in the Maximus .PRM file.
  443.         
  444.                 If you do not like this output, you can override with
  445.                 the NUL name: "EchoTossLog NUL".
  446.         
  447.             Example:
  448.         
  449.                 EchoTossLog d:\bbs\squish\echotoss.log
  450.         
  451.         
  452.         
  453.         DateFormat USA|EURO|JAPAN
  454.         
  455.                 It sets the date format for file lists and message
  456.                 reports to mm-dd-yy, dd-mm-yy, yy-mm-dd respectively.
  457.         
  458.             Example:
  459.         
  460.                 DateFormat EURO
  461.         
  462.         
  463.         
  464.         FBCompile
  465.         
  466.                 FLM will compile the Maximus filebase while generating
  467.                 the file lists. Both MaxFiles.Idx and UniFiles.Idx (with
  468.                 no duplicates) will be created. This keyword is implied,
  469.                 thus redundant, when the "OkMaxFiles" statement is used.
  470.         
  471.                 A flag "FileBase.Bsy" in the Maximus system directory
  472.                 allows for mutually exclusive access to the filebase
  473.                 files and is supported by other ApWorks programs.
  474.         
  475.                 In the case of power failure or abnormal termination,
  476.                 there is no need to "manually" delete this flag file:
  477.                 ApWorks programs are smart enough not to be deceived by
  478.                 a "zombie" :-)
  479.         
  480.         
  481.         
  482.         UniqueDmpLine
  483.         
  484.                 Forces the generation of FILES.DMP filebase files with
  485.                 descriptions on one line only (multiple lines are
  486.                 concatenated).
  487.         
  488.                 By default, multi-line descriptions are output without
  489.                 changes to FILES.DMP: when using L)ocate and N)ewfiles
  490.                 commands, Maximus will respect the original formatting,
  491.                 but the continuation lines will be aligned to the left.
  492.         
  493.                 When this statement is used, the original formatting of
  494.                 descriptions is lost (in the filebase) but Maximus will
  495.                 be able to word-wrap and align when executing L)ocate or
  496.                 N)ewfiles commands.
  497.         
  498.         
  499.         
  500.         AreaExclude <WTAG> ...
  501.         
  502.                 The specified areas are completely excluded from
  503.                 processing.
  504.         
  505.         
  506.         
  507.         Adopt <WTag> ...
  508.         
  509.                 Areas where you want to adopt orphans (files with no
  510.                 FILES.BBS entry).
  511.         
  512.                 For areas with "Automatic dating" only.
  513.         
  514.                 Please note that "KillOrphans" has priority over
  515.                 "Adopt".
  516.         
  517.         
  518.         
  519.         NoAdopt <WTag> ...
  520.         
  521.                 Areas to be excluded from adoption.
  522.         
  523.                 You should usually exclude CD-ROMs using the "special"
  524.                 tag <CDROM>. If you are using the files.bbs directly on
  525.                 CD, FLM will automatically exclude adoption on the area.
  526.         
  527.             Example:
  528.         
  529.                 Adopt *
  530.                 NoAdopt <CDROM>
  531.         
  532.         
  533.         
  534.         AdoptExclude <filespec> ...
  535.         
  536.                 Excludes the specified files from adoption.
  537.                 Files.* and *.BBS are excluded anyway.
  538.         
  539.             Example:
  540.         
  541.                 AdoptExclude *.BAK
  542.         
  543.         
  544.         
  545.         AdoptAnnounce
  546.         
  547.                 Usually, adopted files are announced only if new.
  548.                 This statement allows to announce _all_ adopted files
  549.                 regardless of their file dates, provided there is some
  550.                 announce configured for that file area.
  551.         
  552.             Example:
  553.         
  554.                 AdoptAnnounce
  555.         
  556.         
  557.         
  558.         AdoptUpperCase
  559.         
  560.                 Usually files are adopted with the same upper/lower case
  561.                 characters of their directory entry.
  562.         
  563.                 Some brain-dead programs may have difficulties in
  564.                 handling lowercase characters in file names (e.g. for
  565.                 File/Requests): if you have such a problem, use this
  566.                 statement.
  567.         
  568.             Example:
  569.         
  570.                 AdoptUpperCase
  571.         
  572.         
  573.         
  574.         DescStart "<string>" <WTAG> ...
  575.         
  576.                 This allows to add <string> at the head of files.bbs
  577.                 descriptions while adopting files from area TAGs that
  578.                 match one of the <WTAG> specifications.
  579.         
  580.                 This statement is useful for people using download
  581.                 counters and/or special flags.
  582.         
  583.             Example:
  584.         
  585.                 DescStart "[00] " 1* 2*
  586.         
  587.                 This adds "[00] " at the head of files.bbs
  588.                 descriptions while adopting files from areas whose TAG
  589.                 begins with '1' or '2'.
  590.         
  591.         
  592.         
  593.         KillOrphans <WTag> ...
  594.         
  595.                 Areas where you want to kill orphans (files with no
  596.                 FILES.BBS entry).
  597.         
  598.                 For areas with "Automatic dating" only.
  599.         
  600.         
  601.         
  602.         NoKillOrphans <WTag> ...
  603.         
  604.                 Areas to be excluded from killing of Orphans.
  605.         
  606.             Example:
  607.         
  608.                 KillOrphans TIC.*
  609.                 NoKillOrphans TIC.SpecArea
  610.         
  611.         
  612.         
  613.         KillOrphansExclude <filespec> ...
  614.         
  615.                 Excludes the specified files from killing.
  616.                 Files.* and *.BBS are excluded anyway.
  617.         
  618.             Example:
  619.         
  620.                 KillOrphansExclude *.DIR
  621.         
  622.         
  623.         
  624.         RemMis <WTag> ...
  625.         
  626.                 Areas where you want to remove descriptions of missing
  627.                 files. This function works in areas with "Automatic
  628.                 dating", only.
  629.         
  630.                 WARNING: if you use multi-line descriptions (multiple
  631.                 lines in the files.bbs), then you must pay attention to
  632.                 configure the "MultiLineDesc" statement correctly,
  633.                 otherwise the continuation lines will not be recognized
  634.                 and they might be removed when they should not or
  635.                 vice-versa.
  636.         
  637.         
  638.         
  639.         NoRemMis <WTag> ...
  640.         
  641.                 Areas to be excluded from RemMis.
  642.         
  643.                 You should usually exclude CD-ROMs using the "special"
  644.                 tag <CDROM>. If you are using the files.bbs directly on
  645.                 CD, FLM will automatically exclude RemMis on the area.
  646.         
  647.         
  648.             Example:
  649.         
  650.                 RemMis *
  651.                 NoRemMis <CDROM>
  652.         
  653.         
  654.         
  655.         WrapCol [<num> [<num>]]
  656.         
  657.                 Enables word wrapping of long descriptions in file
  658.                 lists. The optional <num>s give the left and right
  659.                 margins for word wrapping (default to 0 and 79).
  660.                 Suggested values: 31 and 79.
  661.         
  662.             Example:
  663.         
  664.                 WrapCol 31 79
  665.         
  666.         
  667.         
  668.         MultiLineDesc <nnn> [<c>]
  669.         
  670.                 By default, files.bbs description must be on a single
  671.                 line; this statement enables Multi-Line support.
  672.         
  673.                 <nnn> is the number of spaces that must precede the
  674.                 continuation lines.
  675.         
  676.                 <c> is the continuation character.
  677.         
  678.                 If <c> is NOT specified, it is assumed that the
  679.                 continuation lines must be preceded by <nnn> spaces.
  680.         
  681.                 If <c> IS specified, it is assumed that the continuation
  682.                 lines must be preceded by <nnn> spaces, the <c>
  683.                 character and one more space.
  684.         
  685.                 For example, to have the 2nd and following description
  686.                 lines in files.bbs start at the 32nd column, use:
  687.         
  688.                 MultiLineDesc 31
  689.         
  690.                 A description in files.bbs would be like:
  691.         
  692.                 Test.Zip This is the first description line
  693.                                                this is the 2nd line
  694.                                                this is the 3rd line
  695.                 ^                             ^^
  696.                 1                           31  32
  697.         
  698.                 To have the continuation lines preceded by a '|'
  699.                 character, use:
  700.         
  701.                 MultiLineDesc 29 |
  702.         
  703.                 A description in files.bbs would be like:
  704.         
  705.                 Test.Zip This is the first description line
  706.                                              | this is the 2nd line
  707.                                              | this is the 3rd line
  708.                 ^                           ^  ^
  709.                 1                          29  32
  710.         
  711.         
  712.         
  713.         NoAnnDupeTag <WTag> ...
  714.         NoAnnDupePath <PartPath> ...
  715.         
  716.                 Exclude areas from dupe report, by TAG or Path.
  717.         
  718.                 In the case you have lots of dupes you do not want
  719.                 announced (e.g. on CDROMs), you can exclude areas
  720.                 (NoAnnDupeTag) or paths (NoAnnDupePath).
  721.         
  722.                 All dupes will be removed from the UniFiles.Idx anyway.
  723.         
  724.                 <PartPath> is a partial path specification: all the
  725.                 dupes that have a path beginning with <PartPath> will
  726.                 not be announced.
  727.         
  728.                 Note: Please be aware that you could have the
  729.                 announcement of a single file as "dupe" if it is not
  730.                 excluded while its corresponding duplicate is.
  731.         
  732.             Example:
  733.         
  734.                 NoAnnDupeTag 1!apw* GFX*
  735.                 NoAnnDupePath d:\bbstest\file\1!apb g: h:
  736.         
  737.         
  738.  
  739.         
  740.                                Start of File List
  741.         
  742.         You can generate as many file lists as you like.
  743.         The cfg section that defines the generation of a file list
  744.         starts with the ListPriv statement, followed by a group of
  745.         "local" keywords.
  746.         
  747.         
  748.         ListPriv <ACS>
  749.         
  750.                 Areas with level/keys that do not grant access to <ACS>
  751.                 will not be listed.
  752.         
  753.                 Areas contained in a Division that can't be accessed
  754.                 with <ACS> will not be listed too.
  755.         
  756.             Example:
  757.         
  758.                 ListPriv Favored/1A
  759.         
  760.         
  761.                            Local Keywords
  762.         
  763.         
  764.         The following keywords refer to the preceding ListPriv
  765.         statement: you can generate multiple file lists by using
  766.         multiple ListPriv statements, each one followed by its group of
  767.         "local" keyword.
  768.         
  769.         
  770.         
  771.         ListAreas <WTag> ...
  772.         
  773.                 Areas to be listed (if they match the <ACS>
  774.                 requirement).
  775.         
  776.             Example:
  777.         
  778.                 ListAreas *
  779.         
  780.         
  781.         
  782.         NoListAreas <WTag> ...
  783.         
  784.                 Areas to be excluded from current list.
  785.         
  786.         
  787.         
  788.         NewDays <num>
  789.         
  790.                 Files newer than <num> days (basing on the upload date)
  791.                 are listed in the NewFiles list and marked with asterisk
  792.                 in the AllFiles one.
  793.         
  794.                 Default: 30
  795.         
  796.         
  797.         
  798.         NewHeader <filename> ...
  799.         
  800.                 Header for NewFiles list.
  801.                 Default: no header.
  802.         
  803.         
  804.         
  805.         NewFiles <filename>
  806.         
  807.                 Output file for new-file list.
  808.                 Default: no output file.
  809.         
  810.         
  811.         
  812.         AllHeader <filename> ...
  813.         
  814.                 Header for AllFiles list.
  815.                 Default: no header.
  816.         
  817.         
  818.         
  819.         AllFiles <filename>
  820.         
  821.                 Output file for all-file list.
  822.                 Default: no output file.
  823.         
  824.         
  825.         
  826.         NewFilesCmd <cmd>
  827.         AllFilesCmd <cmd>
  828.         
  829.                 They allow easy integration in FLM.CFG of the commands
  830.                 related to FLM that must be executed after the
  831.                 generation of the file lists (as defined in the current
  832.                 NewFiles and AllFiles respectively) is complete (instead
  833.                 of putting them in the calling batch file).
  834.         
  835.                 If the command does not begin with the name of an
  836.                 executable file, the default command interpreter is
  837.                 invoked.
  838.         
  839.                 The "%f" parameter can be used to represent the name of
  840.                 the file (as specified in the NewFiles and AllFiles
  841.                 statements respectively).
  842.         
  843.                 In case of multiple commands, you can invoke a batch
  844.                 file (.CMD (OS/2) or .BAT (DOS)) or use multiple
  845.                 "NewFilesCmd" and "AllFilesCmd": they will be executed
  846.                 in sequence.
  847.         
  848.                 Note: Usually you will like creating the file lists in a
  849.                 place different from the destination file area,
  850.                 otherwise the file list will show a "0 length" file-list
  851.                 file, since it is "under construction" while FLM
  852.                 examines the area.
  853.         
  854.             Example:
  855.         
  856.                 The commands in the following example are for 4OS2
  857.                 (trademark of JP Software): if you do not use this
  858.                 excellent command interpreter you would need a slightly
  859.                 different syntax.
  860.         
  861.                 NewFiles \file\ApWorks.new
  862.                   NewFilesCmd *move %f \file\1!apwork\
  863.                 AllFiles \file\ApWorks.All
  864.                   AllFilesCmd copy %f \file\1!apwork\
  865.                   AllFilesCmd zip -mj \file\ApWorks %f
  866.                   AllFilesCmd *move \file\ApWorks.zip \file\1!apwork\
  867.         
  868.         
  869.         
  870.         OkHeader <filename> ...
  871.         
  872.                 Header for OkFile.
  873.                 Default: no header.
  874.         
  875.         
  876.         
  877.         OkFile <filename>
  878.         
  879.                 Output file for OkFile.
  880.                 Default: no output file.
  881.         
  882.         
  883.         
  884.         OkMaxFiles
  885.         
  886.                 Use UniFiles.Idx for File Requests instead of the
  887.                 complete list of paths (BT 2.55 or greater).
  888.         
  889.                 FBCompile is implied, i.e. FLM compiles MaxFiles.Idx and
  890.                 UniFiles.Idx while generating the file lists.
  891.         
  892.         
  893.         
  894.         OkDirsOnly
  895.         
  896.                 List directories with no trailing "\*.*" in the OkFile.
  897.         
  898.                 E.g.:
  899.                 d:\bbs\file\area1
  900.                 d:\bbs\file\area2
  901.         
  902.         OkDirsSlash
  903.         
  904.                 List directories with no trailing "*.*" in the OkFile.
  905.         
  906.                 E.g.:
  907.                 d:\bbs\file\area1\
  908.                 d:\bbs\file\area2\
  909.         
  910.         
  911.         
  912.         MagicFile <filename> ...
  913.         
  914.                 List of magics and wildcarded filespecs to be resolved
  915.                 before putting them in the OkFile. FLM gets the most
  916.                 recent file for each filespec and puts it in the OkFile
  917.                 preceded by the Magic. Password protected magics
  918.                 allowed.
  919.         
  920.           OS/2: On HPFS the magics are resolved using the upload
  921.                 (creation) date.
  922.         
  923.             Example:
  924.         
  925.                 MagicFile Magic.Lst
  926.         
  927.             Example for Magic.Lst:
  928.         
  929.                 Magic1 c:\file\file1???.zip
  930.                 Magic2 c:\file\file2???.zip pwd1
  931.         
  932.                 The second item is protected.
  933.                 FLM will write to the okfile the resolved magics; e.g:
  934.         
  935.                 @Magic1 c:\file\file1999.zip
  936.                 @Magic2 !pwd1 c:\file\file2888.zip
  937.         
  938.         
  939.         
  940.         WrapCol [<num> [<num>]]
  941.         
  942.                 Local WrapCol setting: see the global WrapCol keyword.
  943.                 Can be used with or without a global WrapCol (in the
  944.                 first case the local margin values override the global
  945.                 ones).
  946.         
  947.                         Example of File List definition
  948.         
  949.         ListPriv Extra          ; first file list block
  950.           ListAreas *
  951.           NoListAreas WIN*
  952.           WrapCol 31 131
  953.           NewDays 30
  954.           NewHeader \bbs\misc\apworks.abt
  955.           NewFiles \bbs\file\ApWorks.new
  956.             NewFilesCmd *move %f \bbs\file\1!apwork\
  957.           AllHeader \bbs\misc\apworks.abt
  958.           AllFiles \bbs\file\ApWorks.All
  959.             AllFilesCmd copy %f \bbs\file\1!apwork\
  960.             AllFilesCmd zip -mj \bbs\file\ApWorks %f
  961.             AllFilesCmd *move \bbs\file\ApWorks.zip \bbs\file\1!apwork\
  962.           OkHeader \bbs\misc\okhead.lst
  963.           OkFile \bbs\misc\okfile.lst
  964.           OkMaxFiles
  965.           MagicFile \bbs\misc\magic.lst
  966.         
  967.         ListPriv Extra          ; second file list block
  968.           ListAreas Local.*
  969.           AllHeader \bbs\misc\apworks.abt
  970.           AllFiles \bbs\file\ApFiles.Lst
  971.             AllFilesCmd *move %f \bbs\file\1!apwork\
  972.         
  973.  
  974.         
  975.                              New File Announcements
  976.         
  977.         
  978.         FLM can announce new files (upload date later than FLM was last
  979.         run with the same -a switch) found during file list generation.
  980.         
  981.         Each announcement area is defined by a dedicated group of
  982.         statements. Many of these statements can be used before the
  983.         first announcement area definition to establish defaults to be
  984.         used in all subsequent area definitions, thus avoiding the need
  985.         to unnecessarily repeat common statements.
  986.         
  987.         
  988.                                 Global Keywords
  989.         
  990.             Statements that can be used before area definitions to set
  991.             defaults (please note that all these statements can be
  992.             overridden in each area definition).
  993.         
  994.         
  995.         FromNode <address>
  996.         
  997.                 This specifies the 4D address to be used as the
  998.                 from-address in the announcement messages: it is used in
  999.                 the header, in the Origin and in the MSGID. Usually, it
  1000.                 should be your primary address.
  1001.         
  1002.             Example:
  1003.         
  1004.                 FromNode     2:332/504.0
  1005.         
  1006.         
  1007.         
  1008.         ToNode <address>
  1009.         
  1010.                 This specifies the 4D address to be used as the
  1011.                 to-address in the announcement messages: it is used in
  1012.                 the header. Usually, for echo area announcements, it
  1013.                 should be the same as in FromNode.
  1014.         
  1015.             Example:
  1016.         
  1017.                 ToNode       2:332/504.0
  1018.         
  1019.         
  1020.         
  1021.         From <name>
  1022.         
  1023.                 This specifies the name to be used as the from-name in
  1024.                 the announcement messages. Usually it should be the
  1025.                 SysOp name.
  1026.         
  1027.             Example:
  1028.         
  1029.                 From         Alberto Pasquale
  1030.         
  1031.         
  1032.         
  1033.         To <name>
  1034.         
  1035.                 This specifies the name to be used as the to-name in the
  1036.                 announcement messages. Usually it should be "All".
  1037.         
  1038.             Example:
  1039.         
  1040.                 To           All
  1041.         
  1042.         
  1043.         
  1044.         Subj <subject>
  1045.         
  1046.                 This specifies the string to be used as the subject in
  1047.                 the announcement messages.
  1048.         
  1049.             Note:
  1050.         
  1051.                 If the Subj text contains the ';' character, it MUST
  1052.                 be enclosed in quotes '"', otherwise it will be taken as
  1053.                 the start of a comment.
  1054.         
  1055.             Examples:
  1056.         
  1057.                 Subj    New Echo Files
  1058.                 Subj    "New files; OS/2 BBS"
  1059.         
  1060.         
  1061.         
  1062.         Attr [P][K][C|H|D|N|O]
  1063.         
  1064.                 This specifies the attributes to be used in the
  1065.                 announcement messages. Usually no special attribute is
  1066.                 necessary, except for private announcements in the
  1067.                 netmail area.
  1068.         
  1069.                 The available attributes are:
  1070.                 P -> Private
  1071.                 K -> Kill/Sent
  1072.                 C -> Crash
  1073.                 H -> Hold
  1074.                 D -> Direct (equivalent to "CH")
  1075.                 N -> Normal (default)
  1076.                 O -> Normal (default)
  1077.         
  1078.                 The required attributes can be listed in any order and
  1079.                 are not case sensitive.
  1080.         
  1081.             Examples:
  1082.         
  1083.                 Attr            ; no attributes
  1084.                 Attr N          ; no attributes (Normal flavour)
  1085.                 Attr PK         ; Private and Kill/Sent
  1086.                 Attr PC         ; Private and Crash
  1087.                 Attr PDK        ; Private, Direct, and Kill/Sent
  1088.         
  1089.         
  1090.         
  1091.         HighAsciiOk
  1092.         
  1093.                 Grants permission for High Ascii codes (> 127) in file
  1094.                 descriptions.
  1095.         
  1096.         
  1097.         
  1098.         Prefix <filename>
  1099.         
  1100.                 This specifies the file containing the prefix text for
  1101.                 announcement messages: it is put at the head of the
  1102.                 message body, just before the real announcement lines.
  1103.                 It should usually contain something like "New Echo Files
  1104.                 Received:".
  1105.         
  1106.             Example:
  1107.         
  1108.                 Prefix       d:\bbs\FLM\PREFIX.FLM
  1109.         
  1110.         
  1111.         
  1112.         Suffix <filename>
  1113.         
  1114.                 This specifies the file containing the suffix text for
  1115.                 announcement messages: it is put at the end of the
  1116.                 message body, just before the tear-line and the Origin.
  1117.                 It should usually contain something like "File Request
  1118.                 open to everybody between 06:00 and 23:00 GMT".
  1119.         
  1120.             Example:
  1121.         
  1122.                 Suffix       d:\bbs\FLM\SUFFIX.FLM
  1123.         
  1124.         
  1125.         
  1126.         Origin <origin>
  1127.         
  1128.                 This specifies the text to be used as the Origin in
  1129.                 announcement messages. The required " * " will
  1130.                 automatically be added at the head and the address at
  1131.                 the end, truncating <origin> if necessary to fit the 79
  1132.                 character maximum length.
  1133.                 To disable the Origin (e.g. in netmail area) use an
  1134.                 empty origin string.
  1135.         
  1136.             Note:
  1137.         
  1138.                 If the Origin text contains the ';' character, it MUST
  1139.                 be enclosed in quotes '"', otherwise it will be taken as
  1140.                 the start of a comment.
  1141.         
  1142.             Examples:
  1143.         
  1144.                 Origin       <ApWorks Modena I><Tel.+39-59-246112/3>
  1145.                 Origin       "ApWorks Modena I; +39-59-246112/3"
  1146.                 Origin       ; empty origin to disable origin generation
  1147.         
  1148.         
  1149.         
  1150.         AnnExclude <filespec> ...
  1151.         
  1152.                 The specified files are excluded from announcements.
  1153.         
  1154.                 When this statement is used inside an announcement-area
  1155.                 definition block, it specifies _additional_ exclusions
  1156.                 (besides those of a global statement, if present).
  1157.         
  1158.         
  1159.                                 Area Definition
  1160.         
  1161.             All the preceding statements can be used both before
  1162.             announcement area definitions (to set defaults) and inside
  1163.             each definition to override the defaults.
  1164.         
  1165.         
  1166.         AreaTag <Tag> [<path> [-$]]
  1167.         AreaPath <path> [-$]
  1168.         
  1169.                 One of these statements starts the definition of an
  1170.                 announcement area.
  1171.         
  1172.                 <Tag> is the area TAG, to be logged to EchoTossLog
  1173.                 provided this is not a NetMail area.
  1174.         
  1175.                 <path> is the directory for the *.MSG format or the full
  1176.                 filename (no extension) for the Squish base.
  1177.         
  1178.                 -$ specifies the use of the Squish format.
  1179.         
  1180.         
  1181.             AreaTag <Tag>
  1182.         
  1183.                 This is the form to be generally used when SquishCfg is
  1184.                 defined.
  1185.         
  1186.                 <Tag> will be looked up in SquishCfg to find the
  1187.                 corresponding path, message-base type and primary
  1188.                 address.
  1189.         
  1190.                 A local "FromNode" statement can be used to override the
  1191.                 primary address for the area (including -p<address>
  1192.                 specifications) found in SquishCfg.
  1193.         
  1194.                 If this is an EchoArea, its <Tag> will be output to the
  1195.                 EchoTossLog whenever a message is written to this area.
  1196.         
  1197.                 If this is a NetArea, as a default, the Origin will not
  1198.                 be used and the Private attribute will be set; you can
  1199.                 override this with local "Origin" and "Attr" statements.
  1200.         
  1201.         
  1202.             AreaTag <Tag> <path> [-$]
  1203.         
  1204.                 This is the form to be used for EchoMail areas when
  1205.                 SquishCfg is not defined or you want to override its
  1206.                 information AND you want <Tag> to be logged to
  1207.                 EchoTossLog.
  1208.         
  1209.         
  1210.             AreaPath <path> [-$]
  1211.         
  1212.                 This is the form to be used when SquishCfg is not
  1213.                 defined AND you do not need to log a <Tag> to
  1214.                 EchoTossLog (NetMail areas or no EchoTossLog defined).
  1215.         
  1216.             Notes:
  1217.         
  1218.                 Any of the statements described above in this
  1219.                 "Announcements" section can be used after the
  1220.                 AreaTag/AreaPath statement to override the defaults for
  1221.                 this announcement area only.
  1222.         
  1223.                 Please note that you can use different AreaTag/AreaPath
  1224.                 definitions with the same message area Tag/Path, in
  1225.                 order to announce different file areas in different
  1226.                 messages but in the same message area.
  1227.         
  1228.             Examples:
  1229.         
  1230.                 AreaTag OS2BBS
  1231.                 AreaTag OS2BBS d:\bbs\mail\os2bbs -$
  1232.                 AreaPath d:\bbs\mail\net
  1233.         
  1234.         
  1235.         
  1236.         Announce <WTAG> ...
  1237.         NoAnnounce <WTAG> ...
  1238.         
  1239.                 This defines the list of file areas to be announced in
  1240.                 the current announcement message area (the one defined
  1241.                 by the previous AreaTag/AreaPath statement).
  1242.         
  1243.                 Multiple statements are allowed.
  1244.         
  1245.                 All the areas that match one of the <WTAG>s in "Announce"
  1246.                 and do not match any of the <WTAG>s in "NoAnnounce" are
  1247.                 announced in the current area.
  1248.         
  1249.                 Obviously you can omit the "NoAnnounce" statement if you
  1250.                 do not need to exclude areas that have been included via
  1251.                 the "Announce" statement.
  1252.         
  1253.                 "Announce *" makes all the file areas announced.
  1254.         
  1255.             Special tags:
  1256.         
  1257.                 The following "special tags" can be used in "Announce"
  1258.                 or "NoAnnounce" statements as if they were normal area
  1259.                 TAGs, but are not included in the "*" wildcard (i.e.
  1260.                 "Announce *" does not make them announced).
  1261.         
  1262.                 "<DUPES>" is used to announce duplicate files that are
  1263.                 removed from the UniFiles.Idx index.
  1264.                 No duplicate report is done if FLM is not configured to
  1265.                 manage the filebase ("OkMaxFiles" or "FBCompile"
  1266.                 statements). A separate announcement is  generated,
  1267.                 before the new-file ones.
  1268.         
  1269.                 Should you want to exclude some areas or paths from the
  1270.                 duplicate report, please see the "NoAnnDupeTag" and
  1271.                 "NoAnnDupePath" statements in the main global section.
  1272.         
  1273.                 "<DEF>" is used to announce all the files that have not
  1274.                 been announced elsewhere. A separate announcement is
  1275.                 generated after all other announcements have been
  1276.                 completed, even if "<DEF>" is listed together with other
  1277.                 TAGs.
  1278.         
  1279.             Examples:
  1280.         
  1281.                 Announce DOSUTI OS2*
  1282.                 NoAnnounce OS2BBS
  1283.         
  1284.                 This announces the file areas with tag "DOSUTI"
  1285.                 and all those whose TAG starts with "OS2" but
  1286.                 "OS2BBS".
  1287.         
  1288.                 Announce PRIVFILE <DEF> <DUPES>
  1289.         
  1290.                 This announces in different messages:
  1291.         
  1292.                 - All the duplicate files found while building the
  1293.                   UniFiles.Idx index (if OkMaxFiles or FBCompile
  1294.                   statements are used)
  1295.         
  1296.                 - New files found in area "PRIVFILE"
  1297.         
  1298.                 - All the new files that have not been announced
  1299.                   elsewhere.
  1300.         
  1301.         
  1302.         
  1303.             Complete example of the announcement definition section:
  1304.         
  1305.           ; Defaults for all subsequent area definitions
  1306.         
  1307.             FromNode     2:332/504.0
  1308.             ToNode       2:332/504.0
  1309.             From         Alberto Pasquale
  1310.             To           All
  1311.             Subj         New Local Files
  1312.             Attr
  1313.             Prefix       PREFIX.FLM
  1314.             Origin       <APWORKS Modena I><Tel.+39-59-246112/3>
  1315.             Suffix       SUFFIX.FLM
  1316.         
  1317.           ; Announcement areas: each statement is local to the preceding
  1318.           ; AreaTag/AreaPath and overrides the default one.
  1319.         
  1320.             AreaTag      SWN_332.500
  1321.               Announce     1!*
  1322.               NoAnnounce   1!ap* 1!harald* 1!up*
  1323.         
  1324.             AreaTag      SYSOP_332.504
  1325.               Announce     <DUPES>
  1326.               From         FLM
  1327.               To           AsstSysOps
  1328.               Subj         Dupe Report
  1329.               Prefix
  1330.               Suffix
  1331.         
  1332.             AreaTag      SYSOP_332.504
  1333.               Announce     1!up*
  1334.               From         FLM
  1335.               To           AsstSysOps
  1336.               Subj         Upload Report
  1337.               Prefix
  1338.               Suffix
  1339.         
  1340.             AreaPath     d:\msg\local -$
  1341.               Announce     *
  1342.               Subj         Local file news
  1343.               HighAsciiOk
  1344.         
  1345.  
  1346.         
  1347.                             COMPRESS DEFINITION FILE
  1348.         
  1349.         
  1350.         The file specified in the CompressCfg statement is a sequence of
  1351.         Archive definition blocks, each one starting with "Archiver" and
  1352.         ending with "End Archiver". You can find an example in the
  1353.         Compress.Cfg file included in the distribution pack.
  1354.         
  1355.         The order of the archive definition blocks within this file may
  1356.         be important: when trying to unpack a compressed file, the list
  1357.         of archivers is scanned in a reverse order.
  1358.         
  1359.         In the case of two archivers that use the same identification
  1360.         string (e.g. ARC and PAK), you must specify the archiver that
  1361.         can unpack both (PAK) after the other one (ARC).
  1362.         
  1363.         The compress.cfg file can be shared between DOS/NT and OS/2
  1364.         applications: the "DOS" and "OS2" keywords are available to
  1365.         distinguish between the commands to be used under DOS/NT and
  1366.         OS/2.
  1367.         
  1368.         O.S. specific archivers or commands must be prefixed with the
  1369.         relevant keyword.
  1370.         
  1371.         IMPORTANT NOTE: The lines that begin with "DOS" or "OS2" are
  1372.         parsed by the DOS/NT and OS/2 versions respectively. If you need
  1373.         the OS/2 version to execute a DOS command, you MUST NOT use the
  1374.         DOS keyword: if you do, it will never parse that line; if you do
  1375.         not, it will execute the DOS command "normally", provided you
  1376.         have installed OS/2's Dos support.
  1377.         
  1378.         See the examples below.
  1379.         
  1380.         
  1381.         Archiver <ARCname>
  1382.         
  1383.                 Starts the Archive definition block.
  1384.         
  1385.                 <ARCname> is the name used to identify this archiver.
  1386.         
  1387.             Example:
  1388.         
  1389.                 Archiver ZIP
  1390.         
  1391.         
  1392.         
  1393.         Extension  <ext>
  1394.         
  1395.                 Specifies the default extension for the compressed
  1396.                 files.
  1397.         
  1398.             Example:
  1399.         
  1400.                 Extension ZIP
  1401.         
  1402.         
  1403.         
  1404.         Ident <ofs>,<ID>
  1405.         
  1406.                 <ofs> is a decimal integer number representing the
  1407.                 offset at which an archive identity marker <ID> must be
  1408.                 present.
  1409.         
  1410.                 Negative values can be used to indicate offsets from the
  1411.                 END of a compressed file. -1 means "the last byte", -2
  1412.                 "the second last byte" and so on.
  1413.         
  1414.                 <ID> is a series of hexadecimal figures which represent
  1415.                 the bytes of the marker string that must be present at
  1416.                 the specified offset of the archive file.
  1417.         
  1418.             Example:
  1419.         
  1420.                 Ident 0,504b0304  ; "PK^c^d"
  1421.         
  1422.         
  1423.         
  1424.         Add <command>
  1425.         
  1426.                 Specifies the command to add files to an archive.
  1427.                 %a and %f are translated to the name of the archive and
  1428.                 file to add.
  1429.         
  1430.             Example:
  1431.         
  1432.                 Add zip -jk %a %f
  1433.         
  1434.         
  1435.         
  1436.         Extract <command>
  1437.         
  1438.                 Specifies the command to extract files from an archive.
  1439.                 %a and %f are translated to the name of the archive and
  1440.                 file to extract.
  1441.         
  1442.             Example:
  1443.         
  1444.                 Extract unzip -qqnjC %a %f
  1445.         
  1446.         
  1447.         
  1448.         View <command>
  1449.         
  1450.                 This line is recognized and accepted for compatibility,
  1451.                 but not used.
  1452.         
  1453.         
  1454.         
  1455.         End Archiver
  1456.         
  1457.                 This statement is used to close a Archive definition.
  1458.         
  1459.         
  1460.                                     Examples
  1461.         
  1462.         
  1463.             Complete example 1 (you need OS/2 only):
  1464.         
  1465.         Archiver ZIP
  1466.              Extension     ZIP
  1467.              Ident         0,504b0304
  1468.              Add           zip -jk %a %f
  1469.              Extract       unzip -qqnjC %a %f
  1470.              View          unzip -v %a
  1471.         End Archiver
  1472.         
  1473.         
  1474.             Complete example 2 (you need DOS only):
  1475.         
  1476.         Archiver ZIP
  1477.              Extension     ZIP
  1478.              Ident         0,504b0304
  1479.              Add           pkzip -a %a %f
  1480.              Extract       pkunzip -n %a %f
  1481.              View          pkzip -v %a
  1482.         End Archiver
  1483.         
  1484.         
  1485.             Complete example 3 (you need both OS/2 and DOS):
  1486.         
  1487.         Archiver ZIP
  1488.              Extension     ZIP
  1489.              Ident         0,504b0304
  1490.         OS2  Add           zip -jk %a %f
  1491.         DOS  Add           pkzip -a %a %f
  1492.         OS2  Extract       unzip -qqnjC %a %f
  1493.         DOS  Extract       pkunzip -n %a %f
  1494.         OS2  View          unzip -v %a
  1495.         DOS  View          pkzip -v %a
  1496.         End Archiver
  1497.         
  1498.         
  1499.             Complete example 4 (archiver to be used under DOS only):
  1500.         
  1501.         DOS Archiver ZOO
  1502.         DOS     Extension       ZOO
  1503.         DOS     Ident           0,5a4f4f                        ; "ZOO"
  1504.         DOS     Add             zoo a: %a %f
  1505.         DOS     Extract         zoo e:O %a %f
  1506.         DOS     View            zoo v %a
  1507.         DOS End Archiver
  1508.         
  1509.         
  1510.             Complete example 5 (it's a DOS executable, to be used under
  1511.                                 DOS or OS/2 indifferently):
  1512.         
  1513.         Archiver ZOO
  1514.              Extension       ZOO
  1515.              Ident           0,5a4f4f                        ; "ZOO"
  1516.              Add             zoo a: %a %f
  1517.              Extract         zoo e:O %a %f
  1518.              View            zoo v %a
  1519.         End Archiver
  1520.  
  1521.         
  1522.                                S H A R E W A R E
  1523.         
  1524.         
  1525.         If you like this program and continue using it, you should pay
  1526.         the author for his work, as per the ShareWare concept of
  1527.         distribution.
  1528.         
  1529.         Please see LICENSE.DOC and REGISTER.DOC for information.
  1530.         
  1531.         Thank you for your interest in ApWorks programs.
  1532.         
  1533.         
  1534.