home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / BUSINESS / VNDNFO10.ZIP / VENDPRCS.DOC < prev    next >
Text File  |  1994-01-05  |  152KB  |  4,072 lines

  1.  
  2.     
  3.  
  4.  
  5.  
  6.  
  7.                   +----------------------------------------+
  8.                   |                                        |
  9.                   |                                        |
  10.                   |              User's Guide              |
  11.                   |                                        |
  12.                   |         VendPrcs(TM) Processor         |
  13.                   |   for accessing VENDINFO(TM) records   |
  14.                   |              Version 1.00              |
  15.                   |                                        |
  16.                   |                                        |
  17.                   |       Last updated: December 1993      |
  18.                   |                                        |
  19.                   |                                        |
  20.                   |  Copyright 1993 Rams' Island Software  |
  21.                   |          All rights reserved           |
  22.                   |                                        |
  23.                   +----------------------------------------+
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.    Rams' Island Software
  45.    7644 E. Lakecliff Way                   _______
  46.    Parker, CO 80134-5904 (USA)        ____|__     |                (R)
  47.                                    --|       |    |-------------------
  48.    Voice: (303) 841-2848             |   ____|__  |  Association of
  49.    BBS:   (303) 841-6269             |  |       |_|  Shareware
  50.    CompuServe: 76244,324             |__|   o   |    Professionals
  51.                                    -----|   |   |---------------------
  52.    FidoNet:  1:104/333                  |___|___|    MEMBER
  53.    RIME:     RAMSISLE
  54.    Internet: 76244.324@CompuServe.Com
  55.  
  56.  
  57.                                                                            
  58.  
  59.  
  60.  
  61.  
  62.    VendPrcs User's Guide                                           VendPrcs
  63.  
  64.  
  65.                               +-----------------+
  66.                               | Acknowledgments |
  67.                               +-----------------+
  68.  
  69.    Many people have helped to mold the VENDINFO vision, and to provide
  70.    support and encouragement throughout its development process. Thanks are
  71.    given to all those who have reviewed the Concept Paper or the VENDINFO
  72.    standard, or who have otherwise made suggestions regarding the project.
  73.  
  74.    The author is especially grateful to Fred Hill and Richard Holler, for
  75.    long-term support and help with VENDINFO.
  76.  
  77.    While many have reviewed parts of the VENDINFO documentation, special
  78.    thanks go to Jim Green, for helping us avoid a wrong direction; to Bob
  79.    Ostrander for a simple but particularly powerful idea; and to Daan van
  80.    Rooijen, for really studying the standard and providing many, many
  81.    useful suggestions.
  82.  
  83.    Many people have also helped in beta testing the VENDINFO tools, and
  84.    we're grateful to them all. Special thanks are given to Steve Estvanik
  85.    and Jerry Stern, for really giving things a workout, and tirelessly
  86.    reporting the results.
  87.  
  88.    The VENDINFO team is grateful to the following shareware trade associa-
  89.    tions for their endorsements of VENDINFO:
  90.  
  91.       Association of Shareware Professionals (ASP)
  92.       Association of Shareware Authors and Distributors (ASAD)
  93.       Shareware Trade Association and Resources (STAR)
  94.       Educational Software CoOperative (ESC)
  95.  
  96.    Finally, we particularly appreciate the 30-or-so software development
  97.    teams (mostly BBS-related) whose early commitment to support the VEN-
  98.    DINFO standard in their software products has helped provide momentum
  99.    and visibility to this effort.
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.    VENDINFO, VendEdit, VendPrcs, VendView, and VendLib are trademarks of
  112.    Rams' Island Software.
  113.  
  114.  
  115.  
  116.    VendPrcs Processor v1.00           -ii-                         Dec 1993
  117.  
  118.  
  119.  
  120.  
  121.    VendPrcs User's Guide                                  Table of Contents
  122.  
  123.  
  124.                              +-------------------+
  125.                              | Table of Contents |
  126.                              +-------------------+
  127.  
  128.  
  129.     The VENDINFO System ................................................  1
  130.        Components of the System ........................................  1
  131.        Structure of a VENDINFO File ....................................  2
  132.        A Little Background .............................................  3
  133.        Industry Support and Endorsements ...............................  4
  134.        Other VENDINFO Documents and Packages ...........................  5
  135.  
  136.     Introduction to VendPrcs ...........................................  6
  137.  
  138.     Installation .......................................................  7
  139.        Quick Start .....................................................  7
  140.        Detailed Contents of the VendPrcs Package .......................  8
  141.        Warranty and License ............................................  9
  142.        Technical Support for VendPrcs ..................................  9
  143.  
  144.     Extracting Fields from a VENDINFO File (-x) ........................ 11
  145.        Simple Extraction of a Field Value (-x) ......................... 11
  146.        Multi-Line Field Values (-zr, -zc) .............................. 11
  147.        Indenting the Output (-zi) ...................................... 12
  148.        Inserting in Other Text (-y, -zi) ............................... 12
  149.        Special Format-Control Strings (-zd) ............................ 13
  150.        Alternative TRUE/FALSE Strings (-zt, -zf) ....................... 14
  151.        Multiple Extractions on One Line (-zn) .......................... 14
  152.        Truncating and Padding to Exact Width (-zw, -zl) ................ 15
  153.        Special Output Conventions (-zv) ................................ 15
  154.        Value Returned if Field is Empty ................................ 16
  155.        Special Extraction Formats (-s) ................................. 16
  156.        Improving Performance During Multiple Extractions (-zk) ......... 16
  157.        Errorlevels Returned by Extraction Operations ................... 17
  158.        Extraction Examples ............................................. 18
  159.  
  160.     Testing for Field Values (-e) ...................................... 19
  161.        Errorlevels Returned by Field Tests ............................. 19
  162.        Testing Fields That Can Be Missing .............................. 19
  163.        Testing Boolean Fields .......................................... 20
  164.        Testing Other Always-Present Fields ............................. 21
  165.  
  166.     Testing for Distribution Permission (-d) ........................... 22
  167.        Philosophy Regarding Distribution Restrictions .................. 23
  168.        Algorithm Used for Distribution Permission Tests ................ 24
  169.        Proposed Distribution Channel (-d) .............................. 25
  170.        Charges Made for Distribution Services (-c) ..................... 27
  171.        Distributor "Type" (-t) ......................................... 29
  172.        Indicating Details of the Distribution Medium (-m) .............. 29
  173.  
  174.  
  175.    VendPrcs Processor v1.00          -iii-                         Dec 1993
  176.  
  177.  
  178.  
  179.  
  180.    VendPrcs User's Guide                                  Table of Contents
  181.  
  182.  
  183.        Informing the Customer (-oi) .................................... 30
  184.        Modifying or Bundling Packages (-om) ............................ 30
  185.        Other Distribution Specifications (-o) .......................... 31
  186.        Errorlevels Returned by Distribution Permission Tests ........... 31
  187.        Testing for VENDINFO-Branded Executables ........................ 33
  188.        Testing for Altered Package Contents ............................ 33
  189.        Suppressing Unwanted Testing (-n) ............................... 33
  190.  
  191.     Package Routing and Disposition (-r) ............................... 35
  192.        Routing Directory Conventions ................................... 35
  193.        Package Filename (-p) ........................................... 36
  194.        Rename Package to Author-Indicated Name (-rn) ................... 37
  195.        Move Package Based on Test Outcome (-rm) ........................ 38
  196.        Move Package Based on Product Category (-rc) .................... 38
  197.        Logs and Generated Lists (-rl -rs -rd -ro) ...................... 41
  198.        Maintain VENDINFO File Library (-rv) ............................ 42
  199.  
  200.     Security ........................................................... 43
  201.  
  202.     Putting It All Together (Examples) ................................. 45
  203.        Force Package to Author-Preferred Name .......................... 45
  204.        A Low-Maintenance Games-Only BBS ................................ 46
  205.        BBS-Ready CD-ROM Production ..................................... 47
  206.        Build FILES.BBS ................................................. 49
  207.        Automatic Permission Request .................................... 50
  208.  
  209.     Appendix A -- VendPrcs Command-Line Arguments ...................... 51
  210.  
  211.     Appendix B -- Field Code Reference ................................. 54
  212.        Author/Publisher Information .................................... 54
  213.        Channel-Specific Distribution Information ....................... 54
  214.        Human-Readable Front Text Sections .............................. 56
  215.        Channel-Independent ("General") Distribution .................... 56
  216.        VENDINFO Header Information ..................................... 57
  217.        Price and Benefits Information .................................. 57
  218.        Ordering Information ............................................ 58
  219.        Product Information ............................................. 59
  220.        Information about Distributors of Registered Version ............ 62
  221.        Technical Support Information ................................... 63
  222.        Special Information Not From Inside VENDINFO Record ............. 64
  223.  
  224.     Appendix C -- VendPrcs Errorlevels ................................. 65
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.    VendPrcs Processor v1.00          -iv-                          Dec 1993
  235.  
  236.  
  237.  
  238.  
  239.    VendPrcs User's Guide                           Introduction to VENDINFO
  240.  
  241.  
  242.     
  243.                             +---------------------+
  244.                             | The VENDINFO System |
  245.                             +---------------------+
  246.  
  247.       VENDINFO is a system for conveying software product information and
  248.       distribution permissions from the author to distributors. A standard
  249.       (public) file format allows a VENDINFO.DIZ file to carry extensive
  250.       information in a compressed, efficient form. The associated toolset
  251.       aids the author in constructing the record, and allows the dis-
  252.       tributor to extract portions of the record, or to make distribution
  253.       decisions based on its content, in a highly automated way.
  254.  
  255.       VENDINFO provides unprecedented capabilities for
  256.  
  257.            o  Communication of product information and distribution
  258.               policies from author to distributor.
  259.  
  260.            o  Automation of many aspects of package handling by shareware
  261.               distributors of all types.
  262.  
  263.  
  264.  
  265.    Components of the System
  266.    ------------------------
  267.  
  268.       The VENDINFO "record" is the key. This is an efficiently compressed
  269.       file (VENDINFO.DIZ) containing a great deal of information about the
  270.       product, the author, and the product's distribution policies.
  271.  
  272.       The VendEdit editor allows the author to construct a complete
  273.       VENDINFO record in just a few minutes, assuming that the necessary
  274.       descriptive texts have already been prepared.
  275.  
  276.       The VendPrcs (pronounced "vend process") processor is a batch program
  277.       allowing automated decisions based on VENDINFO content, and automated
  278.       extraction of VENDINFO information.
  279.  
  280.       VendView is a simple viewer allowing the end-user to see relevant
  281.       portions of the VENDINFO data. This program should be available by
  282.       February 1994. Even without VendView, an ordinary text viewer will
  283.       display a good deal of useful information.
  284.  
  285.       The Product Registry is a collection of VENDINFO records available
  286.       for searches and queries by subscription, BBS login, or mail-order
  287.       query. This service will begin in January 1994.
  288.  
  289.       The VendLib Library allows software developers to build VENDINFO
  290.       access directly into such products as BBS programs and upload proces-
  291.  
  292.  
  293.    VendPrcs Processor v1.00           -1-                          Dec 1993
  294.  
  295.  
  296.  
  297.  
  298.    VendPrcs User's Guide                           Introduction to VENDINFO
  299.  
  300.  
  301.       sors. This library is already in the hands of some 30 vendors of
  302.       BBSes, BBS utility software, and other relevant software.
  303.  
  304.       The file-format standard describing the VENDINFO file is public, and
  305.       draft versions have been published since July 1993. The final version
  306.       1.00 has been released, and is the basis for the current toolset.
  307.  
  308.       VendPrcs Plus, a non-shareware version of VendPrcs, is planned for
  309.       release by Spring 1994. It will have a full-screen interface, using
  310.       scripts for easier, more efficient information extraction, and
  311.       templates for easier description of decision situations. It will also
  312.       allow management of a library of VENDINFO files, and will provide
  313.       automated access to the Product Registry BBS.
  314.  
  315.       Additional services for authors, users, and distributors are under
  316.       consideration.
  317.  
  318.  
  319.    Structure of a VENDINFO File
  320.    ----------------------------
  321.  
  322.       The VENDINFO.DIZ file contains two sections. A human-readable front
  323.       section contains information about how to use the VENDINFO file, and
  324.       presents most of the basic information about the product in readable
  325.       form.
  326.  
  327.       The second section is a binary data record, compressed with a PKZIP
  328.       1.10 algorithm, and appended to the file after the first section.
  329.       This record has some 750 fields of information about such things as
  330.  
  331.            o  Product name, date, and version
  332.  
  333.            o  Preferred package filename, other parts of product, replaced
  334.               versions
  335.  
  336.            o  Product descriptions of varying length, categories, keywords
  337.  
  338.            o  Required platform (CPU, operating system, memory, disk,
  339.               features)
  340.  
  341.            o  Contact information for author, for registering, for tech
  342.               support
  343.  
  344.            o  Registration prices and benefits, acceptable forms of payment
  345.  
  346.            o  Warranty and trial-use license
  347.  
  348.            o  Detailed distribution policy, in general and by distribution
  349.               channel
  350.  
  351.  
  352.    VendPrcs Processor v1.00           -2-                          Dec 1993
  353.  
  354.  
  355.  
  356.  
  357.    VendPrcs User's Guide                           Introduction to VENDINFO
  358.  
  359.  
  360.            o  Information about regional distributors and registration
  361.               services.
  362.  
  363.  
  364.  
  365.    A Little Background
  366.    -------------------
  367.  
  368.       The author of the VENDINFO standard and tools, Rudy Ramsey, has been
  369.       agitating since early 1992 for the development of an improved
  370.       mechanism for conveying product information and permissions from
  371.       authors to distributors. Initially, the intent was to make this a
  372.       purely volunteer-based effort, probably conducted within the auspices
  373.       of the Association of Shareware Professionals. However, others were
  374.       slow to respond to the idea (with the exception of Richard Holler and
  375.       Fred Hill), and it gradually became clear that it would have to be
  376.       done as an "extracurricular" effort, if at all.
  377.  
  378.       In the Spring of 1993, Rudy began the VENDINFO effort in earnest, by
  379.       preparing the CONCEPT.DOC concept paper and distributing it to a few
  380.       key shareware industry figures for comment. (At this time, he still
  381.       imagined VENDINFO as an all-volunteer effort.) The reviewers were
  382.       uniformly excited about the idea, and greatly encouraging. Most felt
  383.       that it was an idea whose time had come, and that the technical
  384.       approach described in the concept paper was very appropriate.
  385.  
  386.       Their second response, however, was that the effort contained the
  387.       seeds of its own failure. It might provide all the necessary incen-
  388.       tives for participation by authors, distributors, and users. But if
  389.       it didn't also provide an incentive for continued development and
  390.       support by its own development team, it would fail. It was simply too
  391.       big an activity for successful execution by volunteers.
  392.  
  393.       As a result of that input, a decision was made to regard VENDINFO as
  394.       partly a business opportunity. Although this makes a few people
  395.       suspicious, most agree it's in the best interest of the VENDINFO
  396.       effort itself, and of the industry. In fact, VENDINFO has developed
  397.       rapidly, partly because it has been a full-time focus of its author
  398.       for many months. That wouldn't have been possible in an all-volunteer
  399.       effort.
  400.  
  401.       The VENDINFO file-format standard is public. A substantial period was
  402.       provided for public comment on the concept paper, and then on the
  403.       standard, and public input is always welcome. Some of the tools that
  404.       make use of the standard are free (a viewer for end users, and the
  405.       processor when used by single-line, noncommercial BBSes). Most are
  406.       low-cost shareware. There will also be much-enhanced, non-shareware
  407.       programs later, for special purposes, but none of them are necessary
  408.       to achieve the benefits of the VENDINFO system.
  409.  
  410.  
  411.    VendPrcs Processor v1.00           -3-                          Dec 1993
  412.  
  413.  
  414.  
  415.  
  416.    VendPrcs User's Guide                           Introduction to VENDINFO
  417.  
  418.  
  419.    Industry Support and Endorsements
  420.    ---------------------------------
  421.  
  422.       Support for the VENDINFO concept has been extraordinarily high
  423.       throughout the industry. Authors, disk vendors, CD-ROM publishers,
  424.       Sysops, and BBS software manufacturers have all expressed their
  425.       support, and many have pledged to build VENDINFO capability into
  426.       their own software products.
  427.  
  428.       The following shareware trade groups have formally endorsed the
  429.       VENDINFO file-format standard as a means of conveying product and
  430.       product-distribution information from authors to users and dis-
  431.       tributors.
  432.  
  433.          Association of Shareware Professionals (ASP)
  434.          Shareware Trade Association and Resources (STAR)
  435.          Association of Shareware Authors and Developers (ASAD)
  436.          Educational Software CoOperative (ESC)
  437.  
  438.       The ASP has licensed the VENDINFO toolset for use by all 1700 of its
  439.       members. This will greatly accelerate the use -- and the usefulness
  440.       -- of VENDINFO.
  441.  
  442.       The following software manufacturers have "committed in principle" to
  443.       support VENDINFO in their own software offerrings by mid-1994. In the
  444.       context of these products, "support" for VENDINFO means extracting
  445.       relevant descriptive information automatically from VENDINFO files.
  446.       It does not necessarily mean making decisions based on the product's
  447.       distribution policy. VendPrcs will provide that capability.
  448.  
  449.          BBSes
  450.  
  451.             PCBoard, Clark Development Co.
  452.             Wildcat!, Mustang Software, Inc.
  453.             Major BBS, Galacticomm
  454.             RBBS, RBBS Development Team
  455.             Searchlight BBS, Searchlight Software
  456.             TBBS, eSoft
  457.             Auntie BBS, Wes Meier
  458.             Executive Host BBS, Steve Wood
  459.             MainLine BBS, Scott Green, City Limits Software
  460.             OmegaComm BBS, Larry Loiselle
  461.             PowerBBS for Windows, Russell Frey
  462.             ProBoard BBS, Philippe Leybaert
  463.             Sapphire BBS, Pinnacle Software
  464.             Tinyhost, Bruce Krobusek
  465.             UltraBBS, UltraBBS Software
  466.             Windowed Modem Environment, Jason Fesler
  467.  
  468.  
  469.  
  470.    VendPrcs Processor v1.00           -4-                          Dec 1993
  471.  
  472.  
  473.  
  474.  
  475.    VendPrcs User's Guide                           Introduction to VENDINFO
  476.  
  477.  
  478.          File Upload Processors
  479.  
  480.             CatScan, Mike Ortiz
  481.             CheckZip, Bill Hull
  482.             DIZIT, Robert Neal/CorpSoft
  483.             HoboScan, Floyd Hobson
  484.             TransScan, Craig Dunstan
  485.  
  486.          File Distribution Processors
  487.  
  488.             WCFF, Online Computer Resources
  489.  
  490.          Other Products
  491.  
  492.            *BBSee Disk Cataloger, Martin Vallevand
  493.            *Catalog-on-a-Disk, EmmaSoft Software Company, Inc.
  494.             Colorado Utilities Disk Manager, Micro Systems Solutions
  495.             SmartCat Disk Cataloger, Oakley Data Services
  496.  
  497.       * Test versions are known to exist which support VENDINFO
  498.  
  499.  
  500.    Other VENDINFO Documents and Packages
  501.    -------------------------------------
  502.  
  503.       The VENDINFO idea is documented in a concept paper and in the VEN-
  504.       DINFO file-format standard. These two documents are available in the
  505.       VENDINFO package, usually named VNDINFxx.ZIP. It can be obtained from
  506.       the Rams' Island BBS on first login or by FidoNet or RIME file re-
  507.       quest (magic name VENDINFO). It is also available in the CompuServe
  508.       SHAREWARE and UKSHARE forums; the ASP Hub Network BBSes, many local
  509.       BBSes, from some disk vendors, and on the ASP CD-ROM.
  510.  
  511.       If necessary, the concept paper and evaluation versions of the basic
  512.       toolset can be obtained on diskette from Rams' Island Software for
  513.       US$ 8.00 plus $2.00 shipping and handling in North America, $4.00
  514.       elsewhere (starting January 1994). Payment is accepted by
  515.       Visa/MasterCard, check in U.S. dollars drawn on a U.S. bank, cash in
  516.       any hard currency (registered mail suggested), and various other
  517.       forms.
  518.  
  519.       An article about the VENDINFO system will appear in the
  520.       November/December 1993 issue of Shareware Magazine.
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.    VendPrcs Processor v1.00           -5-                          Dec 1993
  530.  
  531.  
  532.  
  533.  
  534.    VendPrcs User's Guide                           Introduction to VendPrcs
  535.  
  536.  
  537.        
  538.                          +--------------------------+
  539.                          | Introduction to VendPrcs |
  540.                          +--------------------------+
  541.  
  542.       VendPrcs is a powerful, batch-oriented tool for extracting and using
  543.       information from VENDINFO records. VendPrcs provides many more
  544.       capabilities than will be needed by any single user, because:
  545.  
  546.            o  It is used in different ways by different user types (sysops,
  547.               disk vendors, CD-ROM publishers, authors, etc.), and
  548.  
  549.            o  The VENDINFO file contains a great deal of information
  550.               (roughly 750 fields).
  551.  
  552.       To avoid overloading the reader with a large number of command-line
  553.       options, we've broken the discussion down into several chapters, each
  554.       describing one way of using VendPrcs. Appendix A summarizes all the
  555.       command-line options, in case you need it for reference.
  556.  
  557.       There are four basic ways of using VendPrcs, and they are discussed
  558.       separately in the four chapters following "Installation".
  559.  
  560.            o  Extracting individual fields from the VENDINFO record, in
  561.               order to print them, enter them into a database, etc.
  562.  
  563.            o  Testing for the presence of specific (non-empty) fields in
  564.               the record.
  565.  
  566.            o  Testing for distribution permissions conveyed by the record.
  567.  
  568.            o  Using VendPrcs to assist in the disposition of packages, such
  569.               as routing them to different file areas on a BBS.
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.    VendPrcs Processor v1.00           -6-                          Dec 1993
  589.  
  590.  
  591.  
  592.  
  593.    VendPrcs User's Guide                                       Installation
  594.  
  595.  
  596.        
  597.                                +--------------+
  598.                                | Installation |
  599.                                +--------------+
  600.  
  601.       To install VendPrcs, simply copy VENDPRCS.EXE to a directory on your
  602.       path.
  603.  
  604.       If you will be extracting product category information from VENDINFO
  605.       records, you have the option of extracting either category code
  606.       numbers, such as
  607.  
  608.          14010200
  609.  
  610.       or the corresponding category text descriptions, such as
  611.  
  612.          Point-of-sale systems
  613.  
  614.       If you want the latter, you must also copy CATEGORY.INF to the same
  615.       directory to which you copied VENDPRCS.EXE.
  616.  
  617.       If you will be testing for distribution permissions, you may also
  618.       wish to copy the file VPRESULT.CFG into that same directory. You will
  619.       have to modify this file with a text editor. You may also want to
  620.       make a copy of CATEGORY.INF in that directory with the name
  621.       VPCATGRY.CFG, and modify it to the required form. See the chapter
  622.       "Package Routing and Disposition" for more information.
  623.  
  624.       You should also take a look at EXAMPLES.ZIP, an included ZIP file
  625.       containing examples of two kinds:
  626.  
  627.            o  Example VENDINFO files (*.DIZ), and the corresponding content
  628.               printouts (*.PRN).
  629.  
  630.            o  Example batch files (*.BAT) showing various ways of using
  631.               VendPrcs. These are also discussed in the chapter, "Putting
  632.               It All Together (Examples)".
  633.  
  634.  
  635.  
  636.    Quick Start
  637.    -----------
  638.  
  639.       There really isn't a very "quick" starting technique for VendPrcs.
  640.       Since it's a command-line oriented batch program, it has no on-line
  641.       help, and you'll have to become familiar with the command flags
  642.       necessary for your particular use of the program.
  643.  
  644.       Still, it will be quickest for you if you read the following chapters
  645.  
  646.  
  647.    VendPrcs Processor v1.00           -7-                          Dec 1993
  648.  
  649.  
  650.  
  651.  
  652.    VendPrcs User's Guide                                       Installation
  653.  
  654.  
  655.       of this User Guide
  656.  
  657.          Introduction to VENDINFO (earlier in this user guide)
  658.  
  659.          Introduction to VendPrcs (earlier in this user guide)
  660.  
  661.       and then read the chapter(s) devoted to the particular purposess for
  662.       which you will be using VendPrcs. Finally, read the "Putting It All
  663.       Together" chapter.
  664.  
  665.  
  666.    Detailed Contents of the VendPrcs Package
  667.    -----------------------------------------
  668.  
  669.       The VENDINFO toolset package contains all files required to use
  670.       either the VendEdit editor or the VendPrcs processor. This allows
  671.       either to be used to verify the functioning of the other. For a
  672.       complete list of files in the package, see VENDEDIT.DOC.
  673.  
  674.       The VENDINFO toolset package includes the following files that are
  675.       specifically relevant to the VendPrcs processor:
  676.  
  677.          VENDPRCS.DOC   This document.
  678.  
  679.          VENDPRCS.EXE   The VendPrcs executable program.
  680.  
  681.          REGISTER.FRM   Registration form for VendPrcs, and several other
  682.                         products and services associated with the VENDINFO
  683.                         system.
  684.  
  685.          CATEGORY.INF   Product category information file, which defines
  686.                         the category code structure and maps the codes to
  687.                         readable text.
  688.  
  689.          VPRESULT.CFG   Sample VendPrcs configuration file defining direc-
  690.                         tories used by VendPrcs to move packages according
  691.                         to test results.
  692.  
  693.          EXTRACT.BAT    A batch file used for extracting all fields from a
  694.                         VENDINFO.DIZ record.
  695.  
  696.          EXTRDIST.BAT   A batch file used for extracting distribution
  697.                         policy information for a single channel from a
  698.                         VENDINFO.DIZ file. This batch file is called from
  699.                         EXTRACT.BAT.
  700.  
  701.          EXTRREGL.BAT   A batch file used for extracting information about
  702.                         distributors of your registered version. This batch
  703.                         file is called from EXTRACT.BAT.
  704.  
  705.  
  706.    VendPrcs Processor v1.00           -8-                          Dec 1993
  707.  
  708.  
  709.  
  710.  
  711.    VendPrcs User's Guide                                       Installation
  712.  
  713.  
  714.          TESTDIST.BAT   A batch file used to perform a variety of distribu-
  715.                         tion policy tests on a VENDINFO.DIZ file.
  716.  
  717.          EXAMPLES.ZIP   PKZIP-compressed file containing VendPrcs example
  718.                         files (*.DIZ), corresponding printout of their
  719.                         content (*.PRN), and a few additional batch files
  720.                         illustrating uses of VendPrcs (*.BAT).
  721.  
  722.          VENDINFO.DIZ   The VENDINFO.DIZ file that describes this whole
  723.                         VENDINFO toolset package. As a further introduc-
  724.                         tion, it's worth viewing with a text viewer. It
  725.                         also contains the IMPORTANT warranty and license
  726.                         agreements applicable to use of VendPrcs.
  727.  
  728.  
  729.    Warranty and License
  730.    --------------------
  731.  
  732.       VendEdit and VendPrcs are shareware products, which you may fully
  733.       evaluate before deciding whether or not you wish to purchase them.
  734.       The Warranty and License governing your use of these products will be
  735.       found in the VENDINFO.DIZ file (read it or print it with the tools
  736.       you use for ordinary text files).
  737.  
  738.       The License Agreement for the VENDINFO toolset is a little more
  739.       complicated than most, and it is important that you familiarize
  740.       yourself with it. You'll find it in the VENDINFO.DIZ file that came
  741.       with the toolset, as well as in the VendEdit help system.
  742.  
  743.       In addition to the normal functions of a license agreement, this one
  744.       serves an important role in the VENDINFO system. By requiring authors
  745.       to agree to a few simple conditions, it helps protect the rights of
  746.       distributors and the confidence with which distributors can use the
  747.       VENDINFO system in a fully automated way. Similarly, distributors
  748.       must agree to a few conditions that help protect the author. Details
  749.       are explained in the license itself.
  750.  
  751.  
  752.    Technical Support for VendPrcs
  753.    ------------------------------
  754.  
  755.       If you have a problem with installation or use of this product, and
  756.       the documentation doesn't provide the help you need, you are welcome
  757.       to contact us. You can do this in any of several ways.
  758.  
  759.       RAMS' ISLAND BBS
  760.  
  761.       The Rams' Island BBS is a bulletin board system, accessible to you if
  762.       if you have a modem and communication software. On our BBS, you will
  763.  
  764.  
  765.    VendPrcs Processor v1.00           -9-                          Dec 1993
  766.  
  767.  
  768.  
  769.  
  770.    VendPrcs User's Guide                                       Installation
  771.  
  772.  
  773.       always find the latest version of the program, and you will be able
  774.       to ask technical questions of us and of our other users. We also
  775.       offer additional utilities, class definitions, application notes, and
  776.       other assistance to registered users via the BBS. The BBS phone
  777.       number is 303-841-6269.
  778.  
  779.       COMPUSERVE INFORMATION SYSTEM
  780.  
  781.       We also support this product on the CompuServe information system.
  782.       The latest version of the program is always available there in the
  783.       SHAREWARE and UKSHARE forums, and technical questions and support
  784.       requests may be sent to us via electronic mail there or on the
  785.       CompuServe SHAREWARE and UKSHARE forums. Our CompuServe user ID is
  786.       76244,324.
  787.  
  788.       BBS NETWORK FORUMS
  789.  
  790.       We have established VENDINFO support forums on both the FidoNet and
  791.       RIME networks. We are investigating a VENDINFO forum on GlobalNet.
  792.  
  793.       OTHER ELECTRONIC ADDRESSES
  794.  
  795.       You can reach us through three other computer networks (you can
  796.       usually find a local BBS that's also on these networks).
  797.  
  798.          Our FidoNet address is 1:104/333.
  799.          Our RIME address is 1235 or RAMSISLE.
  800.          Our Internet address is 76244.324@compuserve.com.
  801.  
  802.       VOICE TELEPHONE
  803.  
  804.       You may reach us by voice telephone at 303-841-2848.
  805.  
  806.       MAIL
  807.  
  808.       You may contact us by mail at
  809.  
  810.          Rams' Island Software
  811.          7644 E. Lakecliff Way
  812.          Parker, Colorado 80134-5904
  813.          USA
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.    VendPrcs Processor v1.00          -10-                          Dec 1993
  825.  
  826.  
  827.  
  828.  
  829.    VendPrcs User's Guide                                  Extracting Fields
  830.  
  831.  
  832.        
  833.                 +---------------------------------------------+
  834.                 | Extracting Fields from a VENDINFO File (-x) |
  835.                 +---------------------------------------------+
  836.  
  837.       With very few exceptions, every field in a VENDINFO record has a
  838.       unique code by which it can be referenced. For example, the code for
  839.       a product name is "pp" (Appendix B contains a complete list of field
  840.       codes).
  841.  
  842.       The -x ("eXtract") command-line option causes field values to be
  843.       extracted. The -y and -z options specify further details of the
  844.       extraction operation.
  845.  
  846.  
  847.    Simple Extraction of a Field Value (-x)
  848.    ---------------------------------------
  849.  
  850.       Given the field code for a desired field, extraction of the value of
  851.       the field can be done with the -x ("eXtract") option. To obtain the
  852.       product name, for example, the command is
  853.  
  854.          vendprcs vendinfo.diz -xpp
  855.  
  856.       This command, expressed in plain English, would be, "Run VendPrcs on
  857.       the file VENDINFO.DIZ, extracting the value of the field 'pp'."
  858.       Execution of this command would cause the product name field to be
  859.       written to stdout (i.e., to the video screen unless standard output
  860.       has been redirected).
  861.  
  862.  
  863.    Multi-Line Field Values (-zr, -zc)
  864.    ----------------------------------
  865.  
  866.       Some fields, such as product descriptions, are inherently more than
  867.       one line long. In other cases (a keyword list, perhaps), you may
  868.       choose to extract a field in multiple lines, in order to limit the
  869.       width of the result. The -zc ("Columns") and -zr ("Rows") options
  870.       allow you to limit the width and height, respectively, of a multi-
  871.       line output.
  872.  
  873.       Here's a simple example:
  874.  
  875.          vendprcs vendinfo.diz -xpd -zc45 -zr10 > FILE_ID.DIZ
  876.  
  877.       This command causes VendPrcs to extract the largest product descrip-
  878.       tion ("pd") that will fit in 10 rows by 45 columns, and redirects the
  879.       result to FILE_ID.DIZ. This is a simple way to create a FILE_ID.DIZ
  880.       file from a VENDINFO.DIZ file, if needed. (Note that "pd" is a spe-
  881.  
  882.  
  883.    VendPrcs Processor v1.00          -11-                          Dec 1993
  884.  
  885.  
  886.  
  887.  
  888.    VendPrcs User's Guide                                  Extracting Fields
  889.  
  890.  
  891.       cial field code meaning the largest description that will fit in the
  892.       defined space.)
  893.  
  894.       VendPrcs uses word-wrapping whenever a column limit is specified.
  895.  
  896.       If the space allowed is less than the amount of information in the
  897.       field, VendPrcs will fill the space using word-wrap, and ignore any
  898.       remaining text. A typical example might be:
  899.  
  900.          vendprcs vendinfo.diz -xpk -zc40 -zr2
  901.  
  902.       which will produce a list of product keywords no more than 2 x 40
  903.       characters in size.
  904.  
  905.       The -zc option can be used by itself, without a row limitation, in
  906.       which case additional rows of the specified width will be produced
  907.       until the entire field has been extracted.
  908.  
  909.  
  910.    Indenting the Output (-zi)
  911.    --------------------------
  912.  
  913.       Extracted output can be indented by any desired number of columns
  914.       through use of the -zi ("Indent") option. For example, to produce a
  915.       long product description with 5-character margins on an 80-column
  916.       screen, this command would be used:
  917.  
  918.          vendprcs vendinfo.diz -xpd6 -zi5 -zc70
  919.  
  920.       This specifies a 5-column indentation on the left, and up to 70
  921.       columns of actual text.
  922.  
  923.  
  924.    Inserting in Other Text (-y, -zi)
  925.    ---------------------------------
  926.  
  927.       In many cases, you may wish to surround an extracted value with other
  928.       text. For example, you might want to precede the value with a label.
  929.       Here's an example:
  930.  
  931.          vendprcs vendinfo.zip -xpp -y "Product Name: @" >> temp
  932.  
  933.       This command extracts the product name and places it in the "label
  934.       string". If the label string contains a single "@" character, the
  935.       extracted string will be substituted for it. Thus, the output of this
  936.       command might be:
  937.  
  938.          Product Name: InContext
  939.  
  940.  
  941.  
  942.    VendPrcs Processor v1.00          -12-                          Dec 1993
  943.  
  944.  
  945.  
  946.  
  947.    VendPrcs User's Guide                                  Extracting Fields
  948.  
  949.  
  950.       If the character "@" is needed in the output, use a pair of "@"
  951.       symbols. Thus,
  952.  
  953.          vendprcs vendinfo.diz -xpp -y "@@Product = @"
  954.  
  955.       might produce part of a Ventura Publisher text file containing a
  956.       style tag ("@PRODUCT = ");
  957.  
  958.       The -y option can be used alone to simply echo text without reading a
  959.       VENDINFO file or extracting any field values.
  960.  
  961.          vendprcs -y "Product Information" > TEMP
  962.  
  963.       The -y and -zi options can be used together, to control a multi-line
  964.       extraction. For example, the command:
  965.  
  966.          vendprcs vendinfo.diz -xpd -zc45 -zr3 -zi13 -y "Description: "
  967.  
  968.       produces a description like:
  969.  
  970.          Description: Exemplar Sample Program V1.00. Does just
  971.                       about everything, including bread baking and
  972.                       lawn mowing. Shareware.
  973.  
  974.       Notice that the label string (-y) applies only to the first line of
  975.       output. Notice also that, in the presence of the -y option, the
  976.       indentation (-zi) applies only to subsequent lines of the same field.
  977.  
  978.  
  979.    Special Format-Control Strings (-zd)
  980.    ------------------------------------
  981.  
  982.       A few fields (dates and prices) can be produced under partial control
  983.       of a user-specified format. Such formats are specified with the
  984.       command-line option -zd ("Date", "Decimal"). For example,
  985.  
  986.          vendprcs vendinfo.diz -xpt -zd "mm/dd/yy"
  987.  
  988.       extracts the product's release date in the form usually encountered
  989.       in the United States (e.g., 10/4/93). This is also the default format
  990.       for dates, if no format-control string is given.
  991.  
  992.       A typical United Kingdom format is "dd-mm-yy". Any desired separator
  993.       can be used, including blanks. The following symbols are used to
  994.       indicate where the various components of the date are placed:
  995.  
  996.             d == day (1 to 31)
  997.             m == month (1 to 12)
  998.             M == month (Jan to Dec)
  999.  
  1000.  
  1001.    VendPrcs Processor v1.00          -13-                          Dec 1993
  1002.  
  1003.  
  1004.  
  1005.  
  1006.    VendPrcs User's Guide                                  Extracting Fields
  1007.  
  1008.  
  1009.             y == year (2 digits if before 2080, else 4)
  1010.             Y == year (4 digits, as "1993")
  1011.  
  1012.       Repetition of the field characters is optional. Thus, "mm/dd/YYYY" is
  1013.       equivalent to "m/d/Y".
  1014.  
  1015.       Similarly, price information can be output using different characters
  1016.       for the decimal point. The default is ".". To use, say, a comma as
  1017.       the decimal-point symbol, you would use a command like:
  1018.  
  1019.          vendprcs vendinfo.diz -zi1p -zd ","
  1020.  
  1021.  
  1022.    Alternative TRUE/FALSE Strings (-zt, -zf)
  1023.    -----------------------------------------
  1024.  
  1025.       All extracted fields are returned as strings. This includes boolean
  1026.       (yes/no) fields, whose values are returned as either "TRUE" or
  1027.       "FALSE". You can cause VendPrcs to return other values for boolean
  1028.       variables, by specifying the strings on the command line, using the
  1029.       -zt ("True") and -zf ("False") options. Thus,
  1030.  
  1031.          vendprcs vendinfo.diz -xama -y "ASP member? @" -zt "Yes" -zf "No"
  1032.  
  1033.       might produce something like
  1034.  
  1035.          ASP member? Yes
  1036.  
  1037.       If you specify only a string for TRUE, output will be suppressed if
  1038.       the field value is FALSE (and vice versa). Thus
  1039.  
  1040.          vendprcs vendinfo.diz -xama -zt "(ASP)"
  1041.  
  1042.       might be used to add "(ASP)" to the end of a description.
  1043.  
  1044.  
  1045.    Multiple Extractions on One Line (-zn)
  1046.    --------------------------------------
  1047.  
  1048.       By default, each VendPrcs extraction produces a separate line of
  1049.       text. In some cases, though, you may wish to extract several field
  1050.       values within a single line of output. For this purpose, the -zn
  1051.       (suppress Newline) option is used. For example:
  1052.  
  1053.          vendprcs vendinfo.diz -xpp -zn -y "Product: @ " > TEMP
  1054.          vendprcs vendinfo.diz -xpe -zn >> TEMP
  1055.          vendprcs vendinfo.diz -xpv -zn -y " v@" >> TEMP
  1056.          vendprcs vendinfo.diz -xpt -y " (@)" >> TEMP
  1057.  
  1058.  
  1059.  
  1060.    VendPrcs Processor v1.00          -14-                          Dec 1993
  1061.  
  1062.  
  1063.  
  1064.  
  1065.    VendPrcs User's Guide                                  Extracting Fields
  1066.  
  1067.  
  1068.       produces an output like this:
  1069.  
  1070.          InContext Work Environment Manager v1.10 (2/19/93)
  1071.  
  1072.       The -zn feature can be used along with -zt to produce a list on one
  1073.       line. For example,
  1074.  
  1075.          vendprcs vendinfo.diz -y "Registration Benefits: " -zn
  1076.          vendprcs vendinfo.diz -xi1bad -zn -zt "A"
  1077.          vendprcs vendinfo.diz -xi1bbs -zn -zt "B"
  1078.          vendprcs vendinfo.diz -xi1bcu -zn -zt "C"
  1079.          ...
  1080.  
  1081.       can produce a list of single-character codes to indicate registration
  1082.       benefits in a catalog:
  1083.  
  1084.          Registration Benefits: ABFHPW
  1085.  
  1086.  
  1087.    Truncating and Padding to Exact Width (-zw, -zl)
  1088.    ------------------------------------------------
  1089.  
  1090.       The -zw ("Width") option specifies exact output width, and the field
  1091.       value is truncated or blank-padded to the specified width.
  1092.  
  1093.       If the -zl ("Left pad") option is also specified, any necessary
  1094.       padding is added at the left of the output.
  1095.  
  1096.       For example,
  1097.  
  1098.          vendprcs vendinfo.diz -xpp -zw12 -zl -zn
  1099.  
  1100.       can be used repeatedly to produce the filename column in a multi-
  1101.       column file list.
  1102.  
  1103.  
  1104.    Special Output Conventions (-zv)
  1105.    --------------------------------
  1106.  
  1107.       Ventura Publisher requires a special output convention in order to
  1108.       preserve the format of a multi-line field. The characters "<R>"
  1109.       indicate where a newline ("return") should be retained. The -zv
  1110.       ("Ventura") option causes multi-line fields to be output in this way.
  1111.       Thus,
  1112.  
  1113.          vendprcs vendinfo.diz -xaa -zv -y "@@ADDRESS = @"
  1114.  
  1115.       produces an output like
  1116.  
  1117.  
  1118.  
  1119.    VendPrcs Processor v1.00          -15-                          Dec 1993
  1120.  
  1121.  
  1122.  
  1123.  
  1124.    VendPrcs User's Guide                                  Extracting Fields
  1125.  
  1126.  
  1127.          @ADDRESS = Rams' Island Software<R>
  1128.          7644 E. Lakecliff Way<R>
  1129.          Parker, CO 80134-5904
  1130.  
  1131.       which will retain its 3-line shape when used as an input to Ventura.
  1132.  
  1133.       We will be happy to add additional codes for other ASCII-file-based
  1134.       word-processor or page-layout tools. Let us know what you need.
  1135.  
  1136.  
  1137.    Value Returned if Field is Empty
  1138.    --------------------------------
  1139.  
  1140.       If an attempt is made to extract the value of a field that is empty,
  1141.       the value "(none)" is returned.
  1142.  
  1143.  
  1144.    Special Extraction Formats (-s)
  1145.    -------------------------------
  1146.  
  1147.       VendPrcs is capable of producing fully formatted outputs for special
  1148.       purposes. At present, the only such output is a catalog entry for
  1149.       "Catalog-on-a-Disk", a shareware program from EmmaSoft Software
  1150.       Company, Inc. To produce such a catalog entry, use the command
  1151.  
  1152.          vendprcs <diz_file> -sc<control_string> -zr<rows>
  1153.  
  1154.       The optional control_string has the following form
  1155.  
  1156.          [c][#order_nbr][$price]
  1157.  
  1158.       where all components are optional. The "c" argument causes the com-
  1159.       pany name to be printed at the end of the description.
  1160.  
  1161.       If no order_nbr is given in the control string, and the diz_file is
  1162.       VENDINFO.DIZ, the resulting entry will contain no order number.
  1163.       Otherwise, the filename prefix will be used as the order number. The
  1164.       row specification (-zr) will control the total length of the catalog
  1165.       entry.
  1166.  
  1167.  
  1168.    Improving Performance During Multiple Extractions (-zk)
  1169.    -------------------------------------------------------
  1170.  
  1171.       The default behavior of VendPrcs, when doing an extraction, is to do
  1172.       the following each time it is invoked:
  1173.  
  1174.             1.  Read the entire VENDINFO file.
  1175.  
  1176.  
  1177.  
  1178.    VendPrcs Processor v1.00          -16-                          Dec 1993
  1179.  
  1180.  
  1181.  
  1182.  
  1183.    VendPrcs User's Guide                                  Extracting Fields
  1184.  
  1185.  
  1186.             2.  Extract the compressed data record to a temporary file
  1187.                 (VI_TEMP.ZIP).
  1188.  
  1189.             3.  Decompress ("unzip") the compressed data record, storing it
  1190.                 as another temporary file (VENDDATA.).
  1191.  
  1192.             4.  Read the data record, now decompressed, into memory.
  1193.  
  1194.             5.  Perform the extraction indicated by the command-line argu-
  1195.                 ments.
  1196.  
  1197.             6.  Delete the temporary files.
  1198.  
  1199.        If multiple extractions (or other operations) are being performed on
  1200.        the same VENDINFO file, it will be advantageous to perform opera-
  1201.        tions 1, 2, and 3, above, just once. That can be done using the -zk
  1202.        ("Keep") option. This option prevents the VENDDATA temporary file
  1203.        from being deleted, allowing it to be reused. Here's an example of
  1204.        the sequence:
  1205.  
  1206.           vendprcs vendinfo.diz -xpp -zk
  1207.           vendprcs venddata -xpe
  1208.           vendprcs venddata -xpv
  1209.           ...
  1210.           del venddata
  1211.  
  1212.        The -zk argument causes the uncompressed VENDDATA file to be
  1213.        retained. Because the subsequent VendPrcs invocations make use of
  1214.        the special filename "VENDDATA", they will make use of the already
  1215.        prepared VENDDATA file, and they will not delete that file. This can
  1216.        cut total execution time by more than 80%. Please note, however,
  1217.        that use of the VENDDATA filename automatically suppresses any tests
  1218.        that depend on the front text.
  1219.  
  1220.  
  1221.     Errorlevels Returned by Extraction Operations
  1222.     ---------------------------------------------
  1223.  
  1224.        The following errorlevels may be returned by VendPrcs as a result of
  1225.        extraction operations:
  1226.  
  1227.             Errorlevel             Meaning
  1228.  
  1229.                 1              An error has occurred.  This is probably
  1230.                                an incorrect field code, but it might be
  1231.                                due to other causes, in which case an error
  1232.                                message should be written to stderr.
  1233.  
  1234.                 10             VENDINFO file has wrong size or CRC for
  1235.  
  1236.  
  1237.    VendPrcs Processor v1.00          -17-                          Dec 1993
  1238.  
  1239.  
  1240.  
  1241.  
  1242.    VendPrcs User's Guide                                  Extracting Fields
  1243.  
  1244.  
  1245.                                either the text or data section, and may
  1246.                                be a hacked or corrupted file.
  1247.  
  1248.                 11             VENDINFO file has missing or invalid
  1249.                                author authentication codes, and may
  1250.                                be a hacked or corrupted file.
  1251.  
  1252.                 52             Extraction of a field value has been
  1253.                                requested, and performed successfully
  1254.                                (return of "(none)" for a missing value
  1255.                                is regarded as a success).
  1256.  
  1257.        It is a good idea to test for errorlevels 10 and 11 after the first
  1258.        VendPrcs command executed on a given VENDINFO file. Further tests
  1259.        for those particular errorlevels should be unnecessary.
  1260.  
  1261.  
  1262.     Extraction Examples
  1263.     -------------------
  1264.  
  1265.        Several batch files are provided with this toolset, both to provide
  1266.        specific capabilities, and to serve as examples.
  1267.  
  1268.           EXTRACT.BAT    Extracts all field values from a VENDINFO file,
  1269.                          writing them with labels to the file TEMP. This
  1270.                          batch file contains examples of many of the fea-
  1271.                          tures discussed in this chapter. It also serves as
  1272.                          an excellent verification tool for authors who
  1273.                          have prepared a VENDINFO file. (Be warned! This
  1274.                          procedure takes awhile to run!)
  1275.  
  1276.           CATENTRY.BAT   Prepares a catalog-type product description in
  1277.                          Ventura Publisher format, with style tags.
  1278.  
  1279.           MAKFILID.BAT   Creates a FILE_ID.DIZ file, for use with BBS
  1280.                          software that supports that convention and does
  1281.                          not yet support VENDINFO.DIZ.
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.    VendPrcs Processor v1.00          -18-                          Dec 1993
  1297.  
  1298.  
  1299.  
  1300.  
  1301.    VendPrcs User's Guide                                     Testing Fields
  1302.  
  1303.  
  1304.         
  1305.                        +-------------------------------+
  1306.                        | Testing for Field Values (-e) |
  1307.                        +-------------------------------+
  1308.  
  1309.       The -e ("Exists") option is used, together with the field code (see
  1310.       Appendix B) to test for the presence of useable information in a
  1311.       field.
  1312.  
  1313.  
  1314.    Errorlevels Returned by Field Tests
  1315.    -----------------------------------
  1316.  
  1317.       When used in this way, VendPrcs returns one of the following error-
  1318.       levels, which can be tested in a batch file:
  1319.  
  1320.          Errorlevel             Meaning
  1321.  
  1322.              1              An error has occurred.  This is probably
  1323.                             an incorrect field code, but it might be
  1324.                             due to other causes, in which case an error
  1325.                             message is written to stderr.
  1326.  
  1327.              10             VENDINFO file has wrong size or CRC for
  1328.                             either the text or data section, and may
  1329.                             be a hacked or corrupted file.
  1330.  
  1331.              11             VENDINFO file has missing or invalid
  1332.                             author authentication codes, and may
  1333.                             be a hacked or corrupted file.
  1334.  
  1335.              50             A test for existence of a field value
  1336.                             has been requested, and the result is
  1337.                             TRUE.
  1338.  
  1339.              51             A test for existence of a field value
  1340.                             has been requested, and the result is
  1341.                             FALSE.
  1342.  
  1343.       It is a good idea to test for errorlevels 10 and 11 after the first
  1344.       VendPrcs command executed on a given VENDINFO file. Further tests for
  1345.       those particular errorlevels should be unnecessary.
  1346.  
  1347.  
  1348.    Testing Fields That Can Be Missing
  1349.    ----------------------------------
  1350.  
  1351.       For the text fields in a VENDINFO record, and a few others, it is
  1352.       physically possible to have an "empty" field. For example, the
  1353.  
  1354.  
  1355.    VendPrcs Processor v1.00          -19-                          Dec 1993
  1356.  
  1357.  
  1358.  
  1359.  
  1360.    VendPrcs User's Guide                                     Testing Fields
  1361.  
  1362.  
  1363.       author's "Delphi user ID" field would be empty if the author had no
  1364.       Delphi user ID.
  1365.  
  1366.       No harm is necessarily done if you extract (-x) the value of an empty
  1367.       field; the value "(none)" is returned. However, if you wish to test a
  1368.       field for presence of a value, you need to use the -e option. Thus,
  1369.       the batch file segment
  1370.  
  1371.          vendprcs vendinfo.diz -eaed
  1372.          if errorlevel 51 goto nodelphi
  1373.          ... <executed if Delphi ID exists>
  1374.          :nodelphi
  1375.  
  1376.       illustrates a test for the presence of an author's Delphi electronic
  1377.       address.
  1378.  
  1379.  
  1380.    Testing Boolean Fields
  1381.    ----------------------
  1382.  
  1383.       Many fields in a VENDINFO record are "boolean" fields. That is, they
  1384.       always have a value, and the value is either "TRUE" or "FALSE". Since
  1385.       these fields always have a value, a test for existence of the value
  1386.       would be irrelevant. Therefore, VendPrcs returns the value itself,
  1387.       when such a field is tested using the -e option.
  1388.  
  1389.       For example,
  1390.  
  1391.          vendprcs vendinfo.diz -eams
  1392.          if errorlevel 51 goto nostar
  1393.          ... <executed if STAR member>
  1394.          :nostar
  1395.  
  1396.       tests whether or not the author/publisher is a member of the STAR
  1397.       trade association.
  1398.  
  1399.       If it isn't clear to you whether or not a particular field is
  1400.       boolean, you can find out by looking at the descriptive text for the
  1401.       field in Appendix B. If it ends in a question mark,
  1402.  
  1403.          ams    Shareware Trade Association and Resources (STAR)?
  1404.  
  1405.       the field is boolean.
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.    VendPrcs Processor v1.00          -20-                          Dec 1993
  1415.  
  1416.  
  1417.  
  1418.  
  1419.    VendPrcs User's Guide                                     Testing Fields
  1420.  
  1421.  
  1422.    Testing Other Always-Present Fields
  1423.    -----------------------------------
  1424.  
  1425.       There are other types of fields that always have a value. A price,
  1426.       for example, can be meaningful even if its value is zero. Platform
  1427.       features always have a value, even if it's "Irrelevant" or "Unknown".
  1428.       For such fields, a -e existence test is meaningless, and always
  1429.       returns a TRUE value.
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.    VendPrcs Processor v1.00          -21-                          Dec 1993
  1474.  
  1475.  
  1476.  
  1477.  
  1478.    VendPrcs User's Guide                               Distribution Testing
  1479.  
  1480.  
  1481.        
  1482.                  +------------------------------------------+
  1483.                  | Testing for Distribution Permission (-d) |
  1484.                  +------------------------------------------+
  1485.  
  1486.       To test for distribution permission, you simply describe the proposed
  1487.       distribution using command-line flags. VendPrcs compares the proposed
  1488.       distribution with the product's distribution policy, and indicates
  1489.       the result by DOS errorlevel and via a readable log. The DOS error-
  1490.       level indicates whether or not the distribution is allowed, and
  1491.       whether or not any additional conditions must be satisfied. The
  1492.       readable log contains a fairly detailed record, allowing you to
  1493.       easily see the details of any unsatisfied condition.
  1494.  
  1495.       Here's a simple example:
  1496.  
  1497.          vendprcs vendinfo.diz -db -c0
  1498.  
  1499.       In plain English, this says, "I propose to distribute this product to
  1500.       end users via a BBS; no charges are made to users for use of the BBS
  1501.       or for downloading the product; is this OK?"
  1502.  
  1503.       Here's a much more sophisticated example, just to help you see the
  1504.       scope of the automated distribution testing provided by VendPrcs.
  1505.  
  1506.          vendprcs vendinfo.diz -dd -ck500 -cp500 -cy0 -mh -oisdop -os -ta
  1507.  
  1508.       In plain but rather lengthy English, this says, "I propose to dis-
  1509.       tribute this product to end users as a mail-order disk vendor; I
  1510.       charge no more than US$ 5 per 360K diskette or equivalent, no more
  1511.       than US$ 5 per product, and no yearly (monthly, etc.) subscription or
  1512.       membership fee; the product will be distributed on a single-product,
  1513.       high-density diskette; the customer will be informed that the product
  1514.       is shareware, informed of the nature of shareware, informed that I
  1515.       claim no ownership of the product, and informed that separate payment
  1516.       to the author is required if the product is used outside the author's
  1517.       evaluation terms; I will provide the author with a sample of my
  1518.       catalog or of his catalog description; I am an ASP vendor member; is
  1519.       this OK?"
  1520.  
  1521.       VendPrcs is easy to use within a batch file. Once you have determined
  1522.       the command-line switches that describe how you distribute shareware
  1523.       products, and the errorlevels that may result, you should be able to
  1524.       develop a fully automated procedure that can handle all the
  1525.       straightforward cases automatically, and which can call your atten-
  1526.       tion to the others for manual handling. The latter cases will be much
  1527.       easier to handle than without VendPrcs, because all or most of the
  1528.       necessary information will be extracted from the author's distribu-
  1529.       tion policy and written to the log file.
  1530.  
  1531.  
  1532.    VendPrcs Processor v1.00          -22-                          Dec 1993
  1533.  
  1534.  
  1535.  
  1536.  
  1537.    VendPrcs User's Guide                               Distribution Testing
  1538.  
  1539.  
  1540.    Philosophy Regarding Distribution Restrictions
  1541.    ----------------------------------------------
  1542.  
  1543.       Both authors and distributors will make more effective use of the
  1544.       VENDINFO system if they understand the point of view from which the
  1545.       system was designed. That point of view is outlined below.
  1546.  
  1547.       Regarding distribution restrictions by author/publishers:
  1548.  
  1549.            o  The author should be able to express any possible distribu-
  1550.               tion restrictions, regardless of whether or not such restric-
  1551.               tions are well-advised.
  1552.  
  1553.            o  Common and/or reasonable restrictions should be encoded in
  1554.               the VENDINFO record in such a way that automated tools can
  1555.               deal with them.
  1556.  
  1557.            o  Other distribution restrictions should be expressible in text
  1558.               form, even if their presence will force conscientious dis-
  1559.               tributors to handle the package manually.
  1560.  
  1561.            o  None of this should be taken as an encouragement for authors
  1562.               to impose distribution restrictions. In many cases, the
  1563.               documentation and help text of the VendEdit editor explicitly
  1564.               discourage restrictions. As an example, the author is advised
  1565.               to consider carefully before imposing ANY restriction on BBS
  1566.               distribution.
  1567.  
  1568.            o  Authors will especially be warned against unnecessary use of
  1569.               options that force manual handling by distributors.
  1570.  
  1571.       Regarding testing for distribution permission:
  1572.  
  1573.            o  In general, a proposed distribution is assumed to be NOT
  1574.               allowed until the distributor clearly addresses each condi-
  1575.               tion required by a product's distribution policy. This isn't
  1576.               done to constrain distribution or to make life difficult for
  1577.               distributors. It is done to protect all parties from acci-
  1578.               dents, misunderstanding, and even legal liability. Thus, if a
  1579.               product can be distributed by a disk vendor only if the per-
  1580.               disk charge is less than $10, VendPrcs will not "OK" the
  1581.               distribution because the vendor fails to mention the amount
  1582.               charged.
  1583.  
  1584.       There are a LOT of command-line switches in VendPrcs, but most dis-
  1585.       tributors will find it quite simple to select the options applicable
  1586.       to their particular situations. The VendPrcs log will help here, by
  1587.       showing what conditions haven't been satisfied, along with the op-
  1588.       tions that would have satisfied them. This will help the distributor
  1589.  
  1590.  
  1591.    VendPrcs Processor v1.00          -23-                          Dec 1993
  1592.  
  1593.  
  1594.  
  1595.  
  1596.    VendPrcs User's Guide                               Distribution Testing
  1597.  
  1598.  
  1599.       to fully describe the situation, gradually eliminating unnecessary
  1600.       manual handling.
  1601.  
  1602.  
  1603.    Algorithm Used for Distribution Permission Tests
  1604.    ------------------------------------------------
  1605.  
  1606.       Based on the information you provide on the VendPrcs command line,
  1607.       and the distribution policy specified in the VENDINFO file, VendPrcs
  1608.       determines whether or not your proposed distribution satisfies the
  1609.       author's requirements. To do this, VendPrcs looks at the author's
  1610.       policy for the particular distribution channel you've indicated, as
  1611.       well as the channel-independent ("general") distribution restrictions
  1612.       in the VENDINFO file. The actual decision process works as follows.
  1613.       (The important thing to understand is the last step, but you may find
  1614.       it useful to understand the whole decision process.)
  1615.  
  1616.            o  If distribution via the proposed channel is prohibited, then
  1617.               "reject".
  1618.  
  1619.            o  See if distributor is "qualified". The author might indicate
  1620.               that all distributors are qualified. If not, you must meet at
  1621.               least one of the author's qualification criteria to be in
  1622.               this set. Example criteria are: ASP member, non-profit user
  1623.               group, agreeing to "fully inform" your customers.
  1624.  
  1625.            o  If distributor is "qualified", see if any specific behavior
  1626.               removes this "qualified" status, such as charging customers
  1627.               more than allowed.
  1628.  
  1629.            o  Distributor is now either "qualified" or "disqualified". The
  1630.               meaning of this distinction is specified by the author. There
  1631.               are three possibilities:
  1632.  
  1633.                  1. Qualified may distribute without written permission.
  1634.                     Disqualified may distribute only with written
  1635.                     permission.
  1636.  
  1637.                  2. Qualified may distribute without written permission.
  1638.                     Disqualified may not distribute at all. (Obviously,
  1639.                     with the author's written permission, you can do
  1640.                     anything you want; what the author is really telling
  1641.                     you is that written permission won't be given.)
  1642.  
  1643.                  3. Qualified must still have written permission.
  1644.                     Others may not distribute at all.
  1645.  
  1646.            o  Based on your qualified/disqualified status, VendPrcs deter-
  1647.               mines whether or not you need written permission, and whether
  1648.  
  1649.  
  1650.    VendPrcs Processor v1.00          -24-                          Dec 1993
  1651.  
  1652.  
  1653.  
  1654.  
  1655.    VendPrcs User's Guide                               Distribution Testing
  1656.  
  1657.  
  1658.               or not your proposed distribution is prohibited. If written
  1659.               permission is required, VendPrcs determines whether or not
  1660.               you've obtained it; if not, this requirement is noted in the
  1661.               log and will affect the errorlevel returned by VendPrcs.
  1662.  
  1663.            o  If the distribution is allowed, either with or without writ-
  1664.               ten permission, VendPrcs looks for any additional author-
  1665.               specified conditions you must satisfy, and determines from
  1666.               the command-line flags whether or not you've satisfied them.
  1667.               If any conditions remain unsatisfied (including conditions
  1668.               specified by the author in text form), they are noted in the
  1669.               log and will affect the errorlevel returned by VendPrcs.
  1670.  
  1671.            o  Unless you've disabled VendPrcs testing of executables, all
  1672.               *.EXE, *.COM, *.DLL, *.LIB, etc. files in the package are
  1673.               scanned for VENDINFO records, and a similar decision process
  1674.               is applied to any that are found. This feature is used to
  1675.               detect registered-user versions and commercial and other
  1676.               software not intended for further distribution. (See the
  1677.               later section, "Testing for VENDINFO-Branded Executables".
  1678.  
  1679.            o  VendPrcs now informs you by DOS errorlevel that:
  1680.  
  1681.                  1. Distribution is prohibited by the VENDINFO file.
  1682.                  2. Distribution is prohibited by some included executable.
  1683.                  3. Distribution is OK if you satisfy additional
  1684.                     requirements.
  1685.                  4. Distribution is OK if you obtain written permission.
  1686.                  5. Distribution is OK if you obtain written permission AND
  1687.                     satisfy additional requirements.
  1688.                  6. Distribution is approved as-is.
  1689.  
  1690.  
  1691.  
  1692.    Proposed Distribution Channel (-d)
  1693.    ----------------------------------
  1694.  
  1695.       The most fundamental information you need to specify is the proposed
  1696.       distribution channel. The -d<channel> command-line option allows you
  1697.       to indicate this using a one-letter code, as follows:
  1698.  
  1699.          b = Bbs
  1700.          f = bbs File-distribution network (FDN)
  1701.          d = mail order Disk vendor
  1702.          c = Cd-rom
  1703.          o = One-site rack vendor
  1704.          r = multi-site Rack distributor
  1705.          k = booK enclosure disk
  1706.          s = Subscription service
  1707.  
  1708.  
  1709.    VendPrcs Processor v1.00          -25-                          Dec 1993
  1710.  
  1711.  
  1712.  
  1713.  
  1714.    VendPrcs User's Guide                               Distribution Testing
  1715.  
  1716.  
  1717.          m = Magazine
  1718.          t = Television/cable/satellite and similar
  1719.          p = 1-900 Phone distribution or similar
  1720.          i = Installation by distributor on end-user's machine
  1721.          u = other method Undescribed by above
  1722.  
  1723.       Thus, a sysop would include
  1724.  
  1725.          -db
  1726.  
  1727.       on the command line, while a mail-order disk vendor would include
  1728.  
  1729.          -dd
  1730.  
  1731.       There are a few special definitions that allow similar or unusual
  1732.       distribution channels to be covered by the list above.
  1733.  
  1734.          BBS           Distribution to End User by BBS.  Distribution *to*
  1735.                        BBSes is covered by separate channels, especially FDN.
  1736.                        Note: if a sysop wishes to send products to users via
  1737.                        means other than download (e.g., mailed on diskette),
  1738.                        it is necessary to use the -md flag.
  1739.  
  1740.          FDN           File Distribution Network Distribution *to* BBSes.
  1741.                        Note: if an FDN uses non-electronic means, such as
  1742.                        CD-ROM or tape, for distribution, it is necessary to
  1743.                        use the -mc and/or -mo flags.
  1744.  
  1745.          Disk          Distribution to End User by Mail-Order Disk Vendor.
  1746.                        The defining properties of this medium include
  1747.                        providing selected products (rather than a complete
  1748.                        set, as on a CD-ROM) by mail, with or without a
  1749.                        catalog from which to order.
  1750.  
  1751.          CD-ROM        Distribution by CD-ROM, Tape, or Other Mass Media
  1752.                        (except when used strictly within a BBS File
  1753.                        Distribution Network).  This form of distribution
  1754.                        may target end users, BBS sysops, and/or other
  1755.                        distributors.  Since authors often restrict one or
  1756.                        more of these specific targets, it is necessary to
  1757.                        indicate if you are NOT selling to one or more
  1758.                        of these, using the -mcb, -mcd, and/or -mcu flags.
  1759.  
  1760.          One-site      Distribution by Single-Site Rack Vendor, by actual
  1761.                        rack, shoebox, vending machine, diskettes on
  1762.                        cardboard, or any other such mechanism.  The
  1763.                        essential idea is that shareware versions are made
  1764.                        available on a physical medium via a single retail
  1765.                        site.
  1766.  
  1767.  
  1768.    VendPrcs Processor v1.00          -26-                          Dec 1993
  1769.  
  1770.  
  1771.  
  1772.  
  1773.    VendPrcs User's Guide                               Distribution Testing
  1774.  
  1775.  
  1776.          Rack          Distribution to Retail Sites by Rack Distributor.
  1777.                        This channel concerns those rack distributors who
  1778.                        provide shareware products to multiple stores.  The
  1779.                        stores may or may not have a corporate connection to
  1780.                        the distributor himself.  The most important form of
  1781.                        such distribution involves ready-made racks that are
  1782.                        provided by the distributor for placement in the
  1783.                        stores.  Other similar forms are also included in
  1784.                        this category.  For example, there are CD-ROM-based
  1785.                        vending machines now available for placement in retail
  1786.                        stores.  The essential idea here is that a distributor
  1787.                        acts as a wholesaler to multiple stores, which sell
  1788.                        individual copies of software packages directly to end
  1789.                        users.
  1790.  
  1791.          Book          Distribution in Book Enclosure Diskette.
  1792.  
  1793.          Subscription  Distribution by Subscription Service.  These are
  1794.                        shareware services that distribute selected shareware
  1795.                        packages to their subscribers, perhaps on a monthly
  1796.                        basis.
  1797.  
  1798.          Magazine      Distribution in Magazine Cover Diskette.
  1799.  
  1800.          TV            Distribution by TV/Cable/Satellite, etc.  This channel
  1801.                        includes television broadcast, cable and satellite
  1802.                        transmission, Videotex, and other similar means of
  1803.                        distributing information.
  1804.  
  1805.          Phone         Distribution by 1-900-Type Phone Service.
  1806.  
  1807.          Install       Distribution by Installing in Customer's Machine.
  1808.                        Some people like to distribute shareware products by
  1809.                        actually installing them on the customer's machine.
  1810.                        Prime examples are hardware dealers, who may "load up"
  1811.                        their machines with software and consultants, who may
  1812.                        be employed to help find the right software for the
  1813.                        user, and to set it up to run.
  1814.  
  1815.          Undescribed   Distribution by Other Methods than Covered Here.
  1816.  
  1817.  
  1818.    Charges Made for Distribution Services (-c)
  1819.    -------------------------------------------
  1820.  
  1821.       Many shareware authors place limits on the amount of money that
  1822.       distributors may charge for the shareware (evaluation) versions of
  1823.       their products. The theory these authors are operating under is this:
  1824.       If the user has paid a large fee for the evaluation version, he will
  1825.  
  1826.  
  1827.    VendPrcs Processor v1.00          -27-                          Dec 1993
  1828.  
  1829.  
  1830.  
  1831.  
  1832.    VendPrcs User's Guide                               Distribution Testing
  1833.  
  1834.  
  1835.       feel that he has already purchased the product, or that he is being
  1836.       abused by excessive charges. Such users probably don't register.
  1837.  
  1838.       The VENDINFO system handles such limitations as follows. The author
  1839.       specifies, for each distribution channel, the highest fee (in U.S.
  1840.       cents) allowed in each of the following categories:
  1841.  
  1842.            per product    (self-explanatory)
  1843.  
  1844.            per 360K unit  This covers both per-diskette charges by disk
  1845.                           vendors and per-hour download charges by BBSes,
  1846.                           telephone and TV/cable services, etc.
  1847.  
  1848.            per CD-ROM     (if applicable)
  1849.  
  1850.            per year       This covers subscription charges, by year, month,
  1851.                           etc., to be a subscriber to a BBS, magazine,
  1852.                           disk-vendor catalog, shareware subscription
  1853.                           service, etc.
  1854.  
  1855.       The distributor then specifies the amount actually charged in each
  1856.       category, using the command-line options indicated below. All charges
  1857.       are expressed in U.S. cents (dollars times 100), regardless of the
  1858.       actual currency used (currency conversion tables are not generally
  1859.       available to VendPrcs at execution time). All volume-based charges
  1860.       are expressed in 360K units, regardless of the actual unit used. All
  1861.       subscription fees are expressed per year, regardless of the actual
  1862.       subscription period.
  1863.  
  1864.          -c0             Distributor will not charge users at all.  This
  1865.                          is equivalent to "-cc0 -ck0 -cp0 -cy0".
  1866.  
  1867.          -cc<amount>     Charge per CD-ROM will not exceed amount (US cents)
  1868.          -ck<amount>     Charge per 360K will not exceed amount (US cents)
  1869.          -cp<amount>     Charge per product will not exceed amount (US cents)
  1870.          -cy<amount>     Charge per year will not exceed amount (US cents)
  1871.  
  1872.       VendPrcs then compares the distribution policy with the proposed
  1873.       distribution, and "rejects" any distribution that would violate the
  1874.       product's distribution license. Notice that even zero chages must be
  1875.       indicated, since erroneous rejections can otherwise occur. Suppose,
  1876.       for example, that you run a BBS with a $50 annual subscription fee,
  1877.       and no other user charges. Suppose, further, that the product allows
  1878.       unlimited subscription fees, but places limits on single-product or
  1879.       volume-based download charges. If you fail to indicate that you do
  1880.       NOT make such charges, by including
  1881.  
  1882.          -ck0 -cp0
  1883.  
  1884.  
  1885.  
  1886.    VendPrcs Processor v1.00          -28-                          Dec 1993
  1887.  
  1888.  
  1889.  
  1890.  
  1891.    VendPrcs User's Guide                               Distribution Testing
  1892.  
  1893.  
  1894.       on the command line, VendPrcs will "reject" the distribution.
  1895.  
  1896.  
  1897.    Distributor "Type" (-t)
  1898.    -----------------------
  1899.  
  1900.       In addition to information about a proposed distribution, information
  1901.       about the distributor itself can affect permission to distribute.
  1902.       Here are the relevant command-line options:
  1903.  
  1904.          -ta   ASP member of appropriate member class
  1905.          -tc   Consultant paid to select/evaluate/install products
  1906.          -th   Hardware dealer bundling with hardware
  1907.          -tn   Non-profit user group
  1908.          -tu   User group
  1909.  
  1910.  
  1911.    Indicating Details of the Distribution Medium (-m)
  1912.    --------------------------------------------------
  1913.  
  1914.       When physical media are used to distribute the products (diskettes,
  1915.       CD-ROMs, tapes, etc.), it is necessary to indicate some things about
  1916.       the media in order to verify that no author requirements are vio-
  1917.       lated. Here are the relevant flags:
  1918.  
  1919.          -mc<nontargets>  CD-ROM (see below for info on "nontargets")
  1920.          -md              Sysop sends diskettes to users
  1921.          -mh              High-density diskette
  1922.          -mo              Other (than CD-ROM) mass media (FDN only)
  1923.  
  1924.       For the CD-ROM distribution channel, the author may grant or withhold
  1925.       permission depending on the targetted market. Select these to indi-
  1926.       cate which you are NOT marketing to:
  1927.  
  1928.          b   not marketed to Bbs sysops
  1929.          d   not marketed to other Distributors
  1930.          u   not marketed to end Users
  1931.  
  1932.       Thus, to describe a BBS-ready CD-ROM marketed to Sysops and disk
  1933.       vendors, but not to end users, you would include
  1934.  
  1935.          -mcu
  1936.  
  1937.       on the command line.
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.    VendPrcs Processor v1.00          -29-                          Dec 1993
  1946.  
  1947.  
  1948.  
  1949.  
  1950.    VendPrcs User's Guide                               Distribution Testing
  1951.  
  1952.  
  1953.    Informing the Customer (-oi)
  1954.    ----------------------------
  1955.  
  1956.       The way in which you present shareware to your customers is a major
  1957.       concern of many shareware authors. Various "sleazy" distributors have
  1958.       been known to "sell" shareware as if they owned the products, ignor-
  1959.       ing the authors' copyrights and failing to inform the customer of the
  1960.       nature of shareware. This practice hurts the whole industry, by
  1961.  
  1962.            o  Discouraging users, who may view the author's registration
  1963.               request as a "bait-and-switch", and may avoid shareware
  1964.               altogether in the future.
  1965.  
  1966.            o  Discouraging authors from distributing products via shareware
  1967.               channels.
  1968.  
  1969.            o  Causing authors to restrict distribution to known, reliable
  1970.               distributors.
  1971.  
  1972.       In an effort to encourage distribution by the "good guys", the VEN-
  1973.       DINFO standard allows authors to give distribution permission to
  1974.       distributors who assert that they "fully inform" their customers.
  1975.       There are four parts to such full disclosure, and in order to qualify
  1976.       as a distributor under this provision, you must assert that you're
  1977.       clearly informing your customer of all four:
  1978.  
  1979.          s   the product is Shareware.
  1980.          d   the Definition/nature of shareware.
  1981.          o   you claim no Ownership rights in the product.
  1982.          p   separate Payment to author is required if used outside
  1983.              of author's evaluation terms.
  1984.  
  1985.       To assert that you comply with all four of these requirements, you
  1986.       should include the following on the VendPrcs command line:
  1987.  
  1988.          -oisdop
  1989.  
  1990.  
  1991.    Modifying or Bundling Packages (-om)
  1992.    ------------------------------------
  1993.  
  1994.       Unless the command-line options indicate otherwise, it is assumed
  1995.       that the package will be distributed without modification. It is also
  1996.       assumed that it will be distributed separately from other products,
  1997.       unless mass media are involved. It you are planning to modify the
  1998.       package, or to bundle it with other similar or dissimilar products,
  1999.       you must indicate these intentions with the -om ("Modifications")
  2000.       option:
  2001.  
  2002.  
  2003.  
  2004.    VendPrcs Processor v1.00          -30-                          Dec 1993
  2005.  
  2006.  
  2007.  
  2008.  
  2009.    VendPrcs User's Guide                               Distribution Testing
  2010.  
  2011.  
  2012.          -oma   advertisement(s) will be Appended to existing document(s)
  2013.          -omb   advertisement(s) will be added as separate file(s)
  2014.          -omc   Compression method will be changed (e.g., ZIP to ARJ)
  2015.          -omd   product will be bundled with Dissimilar products
  2016.                 (e.g., a "starter set" for new users)
  2017.          -omh   Help or GO.BAT will be added as separate files
  2018.          -omi   Installation program or batch file will be added or changed
  2019.          -oms   product will be bundled with Similar products
  2020.                 (e.g., a "spreadsheet mega-disk" for comparisons)
  2021.  
  2022.       These options may be combined. For example, adding
  2023.  
  2024.          -ombchi
  2025.  
  2026.       to the command line would indicate that you intend to include ads as
  2027.       separate files, change the compression method, add a help or GO.BAT
  2028.       file, and add or change the installation program.
  2029.  
  2030.  
  2031.    Other Distribution Specifications (-o)
  2032.    --------------------------------------
  2033.  
  2034.       See the two previous sections for "other" options dealing with
  2035.  
  2036.            o  Modifying (or bundling) the author's package (-om)
  2037.  
  2038.            o  Fully informing the customer (-oi)
  2039.  
  2040.       The remaining "other" options concern dealings between distributor
  2041.       and author, as follows:
  2042.  
  2043.          -oa   package was received from Author or author's agent
  2044.          -oc   author has been Contacted, this is current version
  2045.          -on   will Notify author of distribution, version used
  2046.          -op   have written Permission for proposed distribution
  2047.          -or   agree to pay specified Royalties
  2048.          -os   will send Sample materials to author
  2049.  
  2050.  
  2051.    Errorlevels Returned by Distribution Permission Tests
  2052.    -----------------------------------------------------
  2053.  
  2054.       The following errorlevels are returned by VendPrcs as a result of
  2055.       distribution permission testing:
  2056.  
  2057.            Errorlevel             Meaning
  2058.  
  2059.                1              An error has occurred.  This is probably
  2060.                               an incorrect field code, but it might be
  2061.  
  2062.  
  2063.    VendPrcs Processor v1.00          -31-                          Dec 1993
  2064.  
  2065.  
  2066.  
  2067.  
  2068.    VendPrcs User's Guide                               Distribution Testing
  2069.  
  2070.  
  2071.                               due to other causes, in which case an error
  2072.                               message should be written to stderr.
  2073.  
  2074.                10             VENDINFO file has wrong size or CRC for
  2075.                               either the text or data section, and may
  2076.                               be a hacked or corrupted file.
  2077.  
  2078.                11             VENDINFO file has missing or invalid
  2079.                               author authentication codes, and may
  2080.                               be a hacked or corrupted file.
  2081.  
  2082.                20             A test of distribution permission has
  2083.                               been requested, and the VENDINFO file
  2084.                               prohibits distribution in the described
  2085.                               way.
  2086.  
  2087.                21             A test of distribution permission has
  2088.                               been requested, and an executable in
  2089.                               the package prohibits distribution in
  2090.                               the described way.
  2091.  
  2092.                30             A test of distribution permission has
  2093.                               been requested, and the VENDINFO file
  2094.                               allows distribution in the described
  2095.                               way, but only if additional requirements
  2096.                               are satisfied.
  2097.  
  2098.                31             A test of distribution permission has
  2099.                               been requested, and the VENDINFO file
  2100.                               allows distribution in the described
  2101.                               way, but only if written permission is
  2102.                               obtained.
  2103.  
  2104.                32             A test of distribution permission has
  2105.                               been requested, and the VENDINFO file
  2106.                               allows distribution in the described
  2107.                               way, but only if additional requirements
  2108.                               are satisfied AND written permission
  2109.                               is obtained.
  2110.  
  2111.                40             A test of distribution permission has
  2112.                               been requested, and the VENDINFO file
  2113.                               allows distribution in the described
  2114.                               way.  All conditions have been satisfied.
  2115.  
  2116.       It is a good idea to test for errorlevels 10 and 11 after the first
  2117.       VendPrcs command executed on a given VENDINFO file. Further tests for
  2118.       those particular errorlevels should be unnecessary.
  2119.  
  2120.  
  2121.  
  2122.    VendPrcs Processor v1.00          -32-                          Dec 1993
  2123.  
  2124.  
  2125.  
  2126.  
  2127.    VendPrcs User's Guide                               Distribution Testing
  2128.  
  2129.  
  2130.    Testing for VENDINFO-Branded Executables
  2131.    ----------------------------------------
  2132.  
  2133.       This is a planned capability not yet implemented.
  2134.  
  2135.  
  2136.    Testing for Altered Package Contents
  2137.    ------------------------------------
  2138.  
  2139.       The VENDINFO.DIZ file includes a Packing List, with file names,
  2140.       dates, sizes, and CRCs for the files in the package as it was
  2141.       prepared by the author. To the degree that it can, VendPrcs will
  2142.       verify that the contents of the package are unchanged, or at least
  2143.       have not been altered in ways that violate the author's distribution
  2144.       license. This is easy when the author has specified that the package
  2145.       may not be altered, or that all original files must be included
  2146.       unchanged. Obviously, if the author has allowed more extensive
  2147.       changes, VendPrcs cannot reliably determine whether or not changes
  2148.       that may be present are violations of the author's distribution
  2149.       policy. The editor used by authors warns them that allowing such
  2150.       changes will disable this feature of the distribution policy testing.
  2151.  
  2152.       Unless this test is suppressed (see below), it will be performed
  2153.       automatically whenever a distribution policy test is done, and the
  2154.       presence of disallowed changes will result in rejection of the
  2155.       package.
  2156.  
  2157.  
  2158.    Suppressing Unwanted Testing (-n)
  2159.    ---------------------------------
  2160.  
  2161.       VendPrcs does several kinds of testing which you may wish to disable.
  2162.       We don't recommend it, but you're in charge. Disabling any of these
  2163.       tests may cause an erroneous "it's OK to distribute" result. Here are
  2164.       the options:
  2165.  
  2166.            -na  Suppress author authentication and record validity testing
  2167.                 (see later chapter, "Security").
  2168.  
  2169.            -ne  Suppress testing for VENDINFO-branded executables (see
  2170.                 previous section, "Testing for VENDINFO-Branded
  2171.                 Executables").
  2172.  
  2173.            -nm  Suppress testing for author-allowed modifications to
  2174.                 package. This forces "Packing List" testing for an exact
  2175.                 match, with no alterations whatsoever to the package.
  2176.  
  2177.            -np  Suppress "Packing List" testing for changes that violate
  2178.                 the product's distribution license (see previous section,
  2179.  
  2180.  
  2181.    VendPrcs Processor v1.00          -33-                          Dec 1993
  2182.  
  2183.  
  2184.  
  2185.  
  2186.    VendPrcs User's Guide                               Distribution Testing
  2187.  
  2188.  
  2189.                 "Testing for Altered Package Contents").
  2190.  
  2191.            -nv  Suppress "verbose" mode; results are written only to log
  2192.                 file.
  2193.  
  2194.  
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.  
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.    VendPrcs Processor v1.00          -34-                          Dec 1993
  2241.  
  2242.  
  2243.  
  2244.  
  2245.    VendPrcs User's Guide                                    Package Routing
  2246.  
  2247.  
  2248.        
  2249.                    +--------------------------------------+
  2250.                    | Package Routing and Disposition (-r) |
  2251.                    +--------------------------------------+
  2252.  
  2253.       In addition to testing for distribution permission, VendPrcs can also
  2254.       automate some of your package-handling operations. For example,
  2255.       VendPrcs can:
  2256.  
  2257.            o  Rename the package to match the author's preference.
  2258.  
  2259.            o  Move the package to a directory determined by the outcome of
  2260.               a distribution permission test.
  2261.  
  2262.            o  Move the package to a directory determined by the product's
  2263.               primary category code.
  2264.  
  2265.            o  Produce a list of packages rendered obsolete by the product's
  2266.               new version.
  2267.  
  2268.            o  Automatically keep a separate library of VENDINFO files for
  2269.               easy reference.
  2270.  
  2271.            o  Manage VendPrcs log files in several ways, depending on your
  2272.               preference.
  2273.  
  2274.       Before the individual package-handling operations are described, you
  2275.       need to understand the special directory arrangements that apply.
  2276.  
  2277.  
  2278.    Routing Directory Conventions
  2279.    -----------------------------
  2280.  
  2281.       The operations discussed in the previous chapters need access to a
  2282.       single VENDINFO file, or to all the files extracted from a single
  2283.       "ZIP" or other compressed product package. In those cases, all of the
  2284.       files are assumed to be in the current working directory. The routing
  2285.       and log control options, however, may involve a number of direc-
  2286.       tories, whose actual pathnames are under your control. These direc-
  2287.       tories are:
  2288.  
  2289.            NeedPerm  Directory into which VendPrcs may move packages for
  2290.                      which written permission is needed and all other
  2291.                      conditions of distribution are satisfied.
  2292.  
  2293.            NeedAddl  Directory into which VendPrcs may move packages for
  2294.                      which basic distribution conditions are satisfied, but
  2295.                      some additional requirements must be assessed
  2296.                      manually.
  2297.  
  2298.  
  2299.    VendPrcs Processor v1.00          -35-                          Dec 1993
  2300.  
  2301.  
  2302.  
  2303.  
  2304.    VendPrcs User's Guide                                    Package Routing
  2305.  
  2306.  
  2307.            NeedBoth  Directory for packages requiring both written permis-
  2308.                      sion and additional requirements.
  2309.  
  2310.            Invalid   Directory into which packages may be moved if VENDINFO
  2311.                      file is invalid or corrupted.
  2312.  
  2313.            Prohib    Directory into which packages may be moved if the
  2314.                      proposed distribution is prohibited.
  2315.  
  2316.            Approved  Directory into which packages may be moved if all
  2317.                      distribution requirements are satisfied.
  2318.  
  2319.            Reject    Directory into which packages may be moved if rejected
  2320.                      because of criteria set by you, such as products in
  2321.                      categories in which you have no interest.
  2322.  
  2323.            Error     Directory into which packages may be moved in any
  2324.                      cases not covered above.
  2325.  
  2326.            Incoming  Directory containing the still-compressed package
  2327.                      whose VENDINFO file is under analysis.
  2328.  
  2329.            Logs      Directory in which VendPrcs log files and obsolete-
  2330.                      package lists are written.
  2331.  
  2332.            Library   Directory into which VENDINFO files may be copied
  2333.                      (under package names, as TESTR11.DIZ), for long-term
  2334.                      retention.
  2335.  
  2336.            Temp      Directory in which all required temporary files will
  2337.                      be created. Not yet implemented.
  2338.  
  2339.       The actual directory paths corresponding to these functions are
  2340.       defined by you in the VPRESULT.CFG file located in the same directory
  2341.       as the invoked VENDPRCS.EXE. This file has one line per directory,
  2342.       containing the function name (from the list above) and the full
  2343.       pathname of the directory, as in
  2344.  
  2345.          Prohib C:\TOHANDLE\PROHIB
  2346.  
  2347.       Comment lines, beginning with a semicolon, are ignored.
  2348.  
  2349.  
  2350.    Package Filename (-p)
  2351.    ---------------------
  2352.  
  2353.       If VendPrcs is asked to move or rename the compressed package (from
  2354.       which the VENDINFO record was taken), it must know where to find the
  2355.       still-compressed package. This package cannot be assumed to be in the
  2356.  
  2357.  
  2358.    VendPrcs Processor v1.00          -36-                          Dec 1993
  2359.  
  2360.  
  2361.  
  2362.  
  2363.    VendPrcs User's Guide                                    Package Routing
  2364.  
  2365.  
  2366.       current working directory, since that would interfere with Packing
  2367.       List testing.
  2368.  
  2369.       If the package name is given as a simple filename, as in
  2370.  
  2371.          -p TESTR11.ZIP
  2372.  
  2373.       the package is assumed to be in the "Incoming" directory, as defined
  2374.       in the previous section.
  2375.  
  2376.       If the package name is given as a full pathname, as in these ex-
  2377.       amples:
  2378.  
  2379.          -p ..\TESTR11.ZIP
  2380.          -p .\TESTR11.ZIP
  2381.          -p C:\UPLOADS\TESTR11.ZIP
  2382.  
  2383.       then that pathname is used.
  2384.  
  2385.  
  2386.    Rename Package to Author-Indicated Name (-rn)
  2387.    ---------------------------------------------
  2388.  
  2389.       Sometimes -- especially in a BBS setting -- packages may have
  2390.       filenames other than the names preferred by the author. This can
  2391.       result in multiple copies of the same package, all with different
  2392.       filenames. The -rn ("reName") option allows you to force the package
  2393.       to be renamed as preferred by the author. To use this option, you
  2394.       must provide the package name using the -p option. This can be done
  2395.       along with a distribution permission test, or as a separate opera-
  2396.       tion. Consider, for example,
  2397.  
  2398.          vendprcs vendinfo.diz -p .\testr11.zip -rn
  2399.  
  2400.       This command assumes that the current working directory contains BOTH
  2401.       the package TESTR11.ZIP and a VENDINFO.DIZ file that has already been
  2402.       extracted from it. VendPrcs compares the author's preferred package
  2403.       filename prefix with the string "TESTR11" and, if different, renames
  2404.       TESTR11.ZIP to match the author's preference. When VendPrcs performs
  2405.       such a rename WITHOUT also doing a distribution permission test, the
  2406.       errorlevel returned indicates whether or not the package is now
  2407.       correctly named (errorlevel 50 indicates TRUE, and 51 indicates
  2408.       FALSE), or indicates an error (errorlevels 1, 10, or 11). See Appen-
  2409.       dix C for more information about errorlevels.
  2410.  
  2411.       When the -rn option is used along with a distribution permission test
  2412.       (-d), the renaming is done regardless of the outcome of the distribu-
  2413.       tion test, and has no effect on the returned errorlevel.
  2414.  
  2415.  
  2416.  
  2417.    VendPrcs Processor v1.00          -37-                          Dec 1993
  2418.  
  2419.  
  2420.  
  2421.  
  2422.    VendPrcs User's Guide                                    Package Routing
  2423.  
  2424.  
  2425.    Move Package Based on Test Outcome (-rm)
  2426.    ----------------------------------------
  2427.  
  2428.       When a distribution test (-d) is done, VendPrcs can also be in-
  2429.       structed to move the original, still-compressed package based on the
  2430.       outcome of the test. (This also requires that the package name (-p)
  2431.       be given.)
  2432.  
  2433.       An example of such a command is
  2434.  
  2435.          vendprcs vendinfo.diz -db -c0 -rm -p ..\TESTR11.ZIP
  2436.  
  2437.       which would test for distributability of TESTR11.ZIP on a free BBS,
  2438.       and would move the package based on the result.
  2439.  
  2440.       The errorlevel returned would be that associated with the distribu-
  2441.       tion test.
  2442.  
  2443.       If the errorlevel is not 1 (error), the package is moved to one of
  2444.       the directories defined in the "Routing Directory Conventions" sec-
  2445.       tion, above. (A variation of this arrangement occurs when the -rc
  2446.       option is also used; see below.)
  2447.  
  2448.       The rename (-rn) option can be used along with -rm.
  2449.  
  2450.  
  2451.    Move Package Based on Product Category (-rc)
  2452.    --------------------------------------------
  2453.  
  2454.       VendPrcs can also move packages based on the main product category
  2455.       encoded in the VENDINFO file. This is done using the -rc ("Category")
  2456.       option, which also requires use of the -p package-name option.
  2457.  
  2458.       Routing by category is controlled by the VPCATGRY.CFG file, located
  2459.       in the same directory as the invoked VENDPRCS.EXE. To understand this
  2460.       file, let's look first at part of the CATEGORY.INF file,
  2461.  
  2462.          14000000 Business
  2463.             14010000 Business finances
  2464.                14010100 Business accounting
  2465.                14010200 Point-of-sale systems
  2466.                14010300 Billing systems
  2467.                14010400 Purchase order systems
  2468.                14010500 Payroll systems
  2469.             14020000 Inventory systems
  2470.          ;  14030000 remaps to 14040100
  2471.          ;     14030100 remaps to 14040101
  2472.             14140000 Equipment use & maintenance
  2473.             14040000 Project management
  2474.  
  2475.  
  2476.    VendPrcs Processor v1.00          -38-                          Dec 1993
  2477.  
  2478.  
  2479.  
  2480.  
  2481.    VendPrcs User's Guide                                    Package Routing
  2482.  
  2483.  
  2484.                14040100 Project bidding & costing
  2485.                   14040101 Decision analysis tools
  2486.                14040200 Project scheduling
  2487.  
  2488.       This file defines the category codes used in the VENDINFO system. As
  2489.       you can see, it has a hierarchic (tree) structure. The purpose of
  2490.       this file is to define that structure and to define the correspon-
  2491.       dence between the category codes and descriptive text.
  2492.  
  2493.       The VPCATGRY.CFG file has a similar hierarchic structure (perhaps
  2494.       greatly abbreviated), and maps the codes into directory pathnames,
  2495.       rather than descriptive text:
  2496.  
  2497.          ;14000000 Business
  2498.          14000000 C:\BBSFILES\BUSINESS
  2499.          ;  14010000 Business finances
  2500.             14010000 C:\BBSFILES\FINANCE
  2501.          ;     14010100 Business accounting
  2502.          ;     14010200 Point-of-sale systems
  2503.          ;     14010300 Billing systems
  2504.          ;     14010400 Purchase order systems
  2505.          ;     14010500 Payroll systems
  2506.          ;  14020000 Inventory systems
  2507.          ;  14030000 remaps to 14040100
  2508.          ;     14030100 remaps to 14040101
  2509.          ;  14140000 Equipment use & maintenance
  2510.          ;  14040000 Project management
  2511.             14040000 C:\BBSFILES\PROJMAN
  2512.          ;     14040100 Project bidding & costing
  2513.          ;        14040101 Decision analysis tools
  2514.          ;     14040200 Project scheduling
  2515.  
  2516.       This example would move all "Business" packages in the BUSINESS
  2517.       directory, except for those dealing with finance (the FINANCE direc-
  2518.       tory) or project management (PROJMAN). As the example illustrates,
  2519.       whole subtrees of the category structure can be mapped into a single
  2520.       directory. This allows many categories to be omitted or commented
  2521.       out. Thus, you might wind up with only a few lines, mapping all the
  2522.       games categories to one directory, all business to another, etc.
  2523.  
  2524.       You can also "reject" a category by placing the word "Reject" where
  2525.       the directory pathname would otherwise appear. This will cause
  2526.       packages in that category to be moved to the "Reject" directory
  2527.       defined in VPRESULT.CFG.
  2528.  
  2529.  
  2530.  
  2531.  
  2532.  
  2533.  
  2534.  
  2535.    VendPrcs Processor v1.00          -39-                          Dec 1993
  2536.  
  2537.  
  2538.  
  2539.  
  2540.    VendPrcs User's Guide                                    Package Routing
  2541.  
  2542.  
  2543.       Here's a possible complete VPCATGRY.CFG file for a distributor inter-
  2544.       ested only in games:
  2545.  
  2546.          00000000 Reject
  2547.          07000000 c:\games
  2548.  
  2549.       Because this file defines an action for the "root" node of the
  2550.       category tree (category 00000000), it defines correct behavior for
  2551.       all possible category nodes. Thus, a product in category 07010000
  2552.       would be moved to the games directory, since 07010000 is a sub-
  2553.       category under 07000000, while a product in category 01000000 would
  2554.       be rejected.
  2555.  
  2556.       There are two ways to use the -rc option. If it is used along with
  2557.       both the -d and -rm options, as in
  2558.  
  2559.          vendprcs vendinfo.diz -db -c0 -rcm -p TESTR11.ZIP
  2560.  
  2561.       then packages are moved based on the result of the distribution test,
  2562.       and only those packages that would have gone to the "Approved" direc-
  2563.       tory are moved by category. All others are moved as if only -rm were
  2564.       selected, rather than -rcm. A package whose main category code is not
  2565.       covered by the VPCATGRY.CFG file is moved to the "Approved" direc-
  2566.       tory. Errorlevels are those associated with the distribution test (-
  2567.       d).
  2568.  
  2569.       If package movement by category is done as a stand-alone operation,
  2570.  
  2571.          vendprcs vendinfo.diz -c0 -rc -p TESTR11.ZIP
  2572.  
  2573.       then the package is moved as indicated based on its category code and
  2574.       the VPCATGRY.CFG file. A package whose main category code is not
  2575.       covered by the VPCATGRY.CFG file is not moved. Errorlevels are 1, 10,
  2576.       or 11 for errors, 50 (TRUE) if package is moved, or 51 (FALSE) if
  2577.       package is not moved.
  2578.  
  2579.       The rename (-rn) option can be used along with -rc or -rcm.
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594.    VendPrcs Processor v1.00          -40-                          Dec 1993
  2595.  
  2596.  
  2597.  
  2598.  
  2599.    VendPrcs User's Guide                                    Package Routing
  2600.  
  2601.  
  2602.    Logs and Generated Lists (-rl -rs -rd -ro)
  2603.    ------------------------------------------
  2604.  
  2605.       The logs produced by VendPrcs during distribution testing and package
  2606.       routing can be very informative. NOTE: The actual output format will
  2607.       be completely redesigned for the next round of beta testing. Here's
  2608.       an example:
  2609.  
  2610.       VendPrcs 1.00 Copyright 1993 Rams' Island Software, Parker, CO USA
  2611.       UNREGISTERED COPY: If used past 30-day evaluation period, registration
  2612.                          is required.  Registration is free for single-line,
  2613.                          strictly non-commercial BBSes.
  2614.  
  2615.         Testing: C:\RUDY\SWDEV\VENDINFO\VENDEDIT\INCXT11A\VENDINFO.DIZ
  2616.                  InContext Work Environment Manager v1.10
  2617.                  Rams' Island Software
  2618.  
  2619.             for: Distribution to End User by Mail-Order Disk Vendor
  2620.                  Contents checked against Packing List for ALLOWED CHANGES
  2621.  
  2622.         but not: VENDINFO record(s) not checked for authenticity/validity
  2623.  
  2624.         Mods:    Author requires *all* original, unchanged files be present
  2625.                  Entire package is as released by author
  2626.  
  2627.         Quals:   Would "qualify" if ASP distributor member           [-ta]
  2628.                  Would "qualify" if customer fully informed      [-oipods]
  2629.                  Would "qualify" if user group                       [-tu]
  2630.                  Would "qualify" if non-profit user group            [-tn]
  2631.                  Would "qualify" if package was received from author [-or]
  2632.  
  2633.         Disqual: Charge per product not <= US$ 10.00            [-cp<amt>]
  2634.                  Charge per 360K not <= US$ 10.00               [-ck<amt>]
  2635.                  (Eliminating disquals removes requirement for permission)
  2636.  
  2637.         Note:    All rights not expressly granted are reserved to the
  2638.                  author.  The author may revoke any permissions granted
  2639.                  here, by notifying you in writing.
  2640.  
  2641.         AddlReq: Written permission is required, and not obtained    [-op]
  2642.  
  2643.       DISTRIBUTION WOULD BE ALLOWED if written permission obtained
  2644.  
  2645.       These logs can be produced in any (or all) of several ways, depending
  2646.       on the command-line options.
  2647.  
  2648.            no -nv  A log is written to standard output, which is usually
  2649.                    the screen, but can be redirected to a file. The -nv (no
  2650.                    verbose) option suppresses this output.
  2651.  
  2652.  
  2653.    VendPrcs Processor v1.00          -41-                          Dec 1993
  2654.  
  2655.  
  2656.  
  2657.  
  2658.    VendPrcs User's Guide                                    Package Routing
  2659.  
  2660.  
  2661.            -rl     A single main log, VENDPRCS.LOG, is maintained, and each
  2662.                    new VendPrcs invocation appends log information to that
  2663.                    log. A "Logs" directory must be defined in VPRESULT.CFG.
  2664.  
  2665.            -rs     A separate log is created for the individual package,
  2666.                    and saved by a name like TESTR11.LOG in the "Logs"
  2667.                    directory defined by VPRESULT.CFG. If the package is
  2668.                    renamed using the -rn option, the log name is also
  2669.                    adjusted.
  2670.  
  2671.            -rd     When used with -rm and/or -rc, a separate log is
  2672.                    produced and placed in the directory to which the
  2673.                    package is moved, with name adjusted if -rn is also
  2674.                    used. In the event that the package is not moved, and
  2675.                    -rs is not also selected, the log is placed in the
  2676.                    "Logs" directory as if -rs were selected.
  2677.  
  2678.       Some of these options require production of a temporary log, which is
  2679.       moved, copied, or renamed as appropriate. This temporary file will be
  2680.       TEMPLOG.LOG in the "Logs" directory.
  2681.  
  2682.       One special list can be produced to assist the distributor (others
  2683.       are under consideration). These files are placed in the "Logs" direc-
  2684.       tory.
  2685.  
  2686.            -ro  OBSOLETE.LST, a list of packages possibly rendered obsolete
  2687.                 by the current version.
  2688.  
  2689.  
  2690.  
  2691.    Maintain VENDINFO File Library (-rv)
  2692.    ------------------------------------
  2693.  
  2694.       If this option is selected, a copy of the VENDINFO file will be saved
  2695.       in the "Library" directory, using the author's indicated filename
  2696.       prefix. Thus, the VENDINFO.DIZ file from the TESTR10 package would be
  2697.       saved as TESTR10.DIZ.
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.  
  2712.    VendPrcs Processor v1.00          -42-                          Dec 1993
  2713.  
  2714.  
  2715.  
  2716.  
  2717.    VendPrcs User's Guide                                           Security
  2718.  
  2719.  
  2720.        
  2721.                                  +----------+
  2722.                                  | Security |
  2723.                                  +----------+
  2724.  
  2725.       The security features of VENDINFO make no claim to be hack-proof, but
  2726.       they should be sufficient to:
  2727.  
  2728.            o  Eliminate manual editing of VENDINFO records, which could do
  2729.               serious accidental or deliberate damage.
  2730.  
  2731.            o  Eliminate casual hacking.
  2732.  
  2733.            o  Require effort on the part of a serious hacker that exceeds
  2734.               any likely gain.
  2735.  
  2736.       Some of the security features in the initial release of VENDINFO are:
  2737.  
  2738.            o  The structure, complexity, and internal checks associated
  2739.               with the VENDINFO record are such that it is difficult to
  2740.               produce without a specialized VENDINFO editor.
  2741.  
  2742.            o  The editor cannot edit a distributed VENDINFO file. It
  2743.               produces such files from an intermediate file -- which the
  2744.               author keeps -- in a one-way operation.
  2745.  
  2746.            o  Both the text and data portions of the VENDINFO records are
  2747.               checked for size and CRC.
  2748.  
  2749.            o  VENDINFO records can contain two "authentication" keys that
  2750.               help verify the source and unaltered content of the record.
  2751.  
  2752.            o  The editor will produce "authenticated" VENDINFO records only
  2753.               in the presence of an author-specific key that is not con-
  2754.               tained in the distributed VENDINFO record.
  2755.  
  2756.  
  2757.       Planned capabilities for a subsequent VENDINFO release include:
  2758.  
  2759.            o  If the author chooses, an abbreviated VENDINFO record can be
  2760.               embedded in any or all executable programs. This insures that
  2761.               basic identification and distribution policy information is
  2762.               present and automatically testable even if the VENDINFO
  2763.               record is removed from the distribution package.
  2764.  
  2765.            o  If the author chooses, the executable VENDINFO record can
  2766.               require the presence of a specific VENDINFO file (identified
  2767.               by a CRC-like value). This would allow automatic detection of
  2768.               the removal of the VENDINFO file from the distribution
  2769.  
  2770.  
  2771.    VendPrcs Processor v1.00          -43-                          Dec 1993
  2772.  
  2773.  
  2774.  
  2775.  
  2776.    VendPrcs User's Guide                                           Security
  2777.  
  2778.  
  2779.               package. It would also allow automatic detection of the
  2780.               substitution of a VENDINFO file in the distribution package
  2781.               even if the file itself passed all security checks.
  2782.  
  2783.            o  If the author places the executable VENDINFO record inside
  2784.               his/her own protective CRC envelope, a complete understanding
  2785.               of the VENDINFO security scheme would not be enough to defeat
  2786.               it. A hacker would also have to defeat the author's own
  2787.               security layer.
  2788.  
  2789.            o  A separate mechanism exists which allows a central site (the
  2790.               Product Registry) to verify the authenticity of a VENDINFO
  2791.               record based on private keys.
  2792.  
  2793.            o  A provision for author tracking brands in the uncompressed
  2794.               front-text of the VENDINFO.DIZ file. These brands will be
  2795.               visible to a file viewer, easily accessible to the author's
  2796.               own software, and defended against modification by in-
  2797.               dividuals other than the author.
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803.  
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.    VendPrcs Processor v1.00          -44-                          Dec 1993
  2831.  
  2832.  
  2833.  
  2834.  
  2835.    VendPrcs User's Guide                                           Examples
  2836.  
  2837.  
  2838.        
  2839.                     +------------------------------------+
  2840.                     | Putting It All Together (Examples) |
  2841.                     +------------------------------------+
  2842.  
  2843.       This chapter will present a variety of simple example applications of
  2844.       VendPrcs. It is unlikely that any of these examples will match your
  2845.       situation exactly, but they should help you understand the many
  2846.       things VendPrcs can do.
  2847.  
  2848.  
  2849.    Force Package to Author-Preferred Name
  2850.    --------------------------------------
  2851.  
  2852.       To force a ZIP package to the author's indicated package name, you
  2853.       might use this simple batch file:
  2854.  
  2855.          rem Assumes PACKAGE.ZIP is in current, working directory
  2856.          del *.diz
  2857.          pkunzip package.zip vendinfo.diz
  2858.          if not exist vendinfo.diz goto after
  2859.          vendprcs vendinfo.diz -rn -p .\package.zip
  2860.          if errorlevel 51 goto error
  2861.          if errorlevel 50 goto after
  2862.          :error
  2863.             ...
  2864.          :after
  2865.  
  2866.  
  2867.  
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.  
  2874.  
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.    VendPrcs Processor v1.00          -45-                          Dec 1993
  2890.  
  2891.  
  2892.  
  2893.  
  2894.    VendPrcs User's Guide                                           Examples
  2895.  
  2896.  
  2897.    A Low-Maintenance Games-Only BBS
  2898.    --------------------------------
  2899.  
  2900.       The Games Haven BBS is a free ASP-member BBS specializing in games.
  2901.       The sysop wants to minimize the time he spends on the BBS, so he
  2902.       posts only games that are distributable without written permission or
  2903.       special handling. If allowed, he repackages all games in ZIP form, in
  2904.       which case he also adds a GAMHAVEN.BBS advertisement, if that is
  2905.       allowed.
  2906.  
  2907.       It is assumed that a file-upload processor has already unpacked the
  2908.       compressed package into the current working directory and done any
  2909.       necessary virus checking. A possible batch file for this situation is
  2910.       GAMHAVEN.BAT in EXAMPLES.ZIP. Briefly, the batch file tests for
  2911.       distributability by this particular BBS without written permission or
  2912.       other special conditions:
  2913.  
  2914.          vendprcs vendinfo.diz -db -c0 -ta
  2915.          if errorlevel 40 goto bbsok
  2916.          if errorlevel 20 goto reject
  2917.          goto reject
  2918.  
  2919.       checks to see whether or not repackaging as a ZIP is OK
  2920.  
  2921.          vendprcs vendinfo.diz -egmc
  2922.          if errorlevel 51 goto use_orig
  2923.  
  2924.       adds a GAMHAVEN.BBS advertisement if allowed
  2925.  
  2926.          vendprcs vendinfo.diz -egmas
  2927.          if errorlevel 51 goto no_ad
  2928.          copy c:\mystuff\gamhaven.bbs
  2929.  
  2930.       repackages the whole affair as TEMP.ZIP or uses the original package,
  2931.       and moves the resulting package to the appropriate file area or to a
  2932.       reject bin based on its product category. For example:
  2933.  
  2934.          vendprcs vendinfo.diz -p %1 -rcn
  2935.  
  2936.       This requires a VPCATGRY.CFG file that might look something like
  2937.       this:
  2938.  
  2939.          00000000 Reject
  2940.          07130000 c:\games\advent
  2941.          07060000 c:\games\arcade
  2942.          07210000 c:\games\board
  2943.          07070000 c:\games\card
  2944.          ...
  2945.          07990000 c:\games\other
  2946.  
  2947.  
  2948.    VendPrcs Processor v1.00          -46-                          Dec 1993
  2949.  
  2950.  
  2951.  
  2952.  
  2953.    VendPrcs User's Guide                                           Examples
  2954.  
  2955.  
  2956.    BBS-Ready CD-ROM Production
  2957.    ---------------------------
  2958.  
  2959.       In this example, a CD-ROM publisher wishes to select, from a large
  2960.       set of programs, all those that satisfy two criteria:
  2961.  
  2962.            o  Distribution by BBS is totally unlimited.
  2963.  
  2964.            o  Distribution on a $40 CD-ROM is allowed, possibly subject to
  2965.               additional requirements.
  2966.  
  2967.       The result will be a candidate set of programs for a CD-ROM that can
  2968.       be sold strictly to BBS sysops, for on-line access via BBS.
  2969.  
  2970.       A complete batch file for this example is BBSCDROM.BAT in
  2971.       EXAMPLES.ZIP. Please note that this batch file has not yet been
  2972.       tested (fix HERE). The batch file leaves a copy of the package in one
  2973.       of several directories, as defined in the batch file itself and in
  2974.       VPRESULT.CFG, along with a correspondingly named LOG file. While the
  2975.       complete batch file is too large for inclusion here, the working part
  2976.       of the batch file is rather short and simple:
  2977.  
  2978.          pkunzip %1 vendinfo.diz
  2979.          if not exist vendinfo.diz goto manual
  2980.  
  2981.          rem ----- reject BBS-limited products --------------------------
  2982.          vendprcs vendinfo.diz -db
  2983.          if errorlevel 40 goto bbsok
  2984.          if errorlevel 20 goto reject
  2985.          goto bad_vendinfo
  2986.  
  2987.          :bbsok
  2988.          rem ----- now test for CD-ROM distributability -----------------
  2989.          vendprcs vendinfo.diz -dc -cc40 -mcb -rmnd -p .\%1
  2990.          goto done
  2991.  
  2992.  
  2993.  
  2994.  
  2995.  
  2996.  
  2997.  
  2998.  
  2999.  
  3000.  
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.  
  3007.    VendPrcs Processor v1.00          -47-                          Dec 1993
  3008.  
  3009.  
  3010.  
  3011.  
  3012.    VendPrcs User's Guide                                           Examples
  3013.  
  3014.  
  3015.    Build FILES.BBS
  3016.    ---------------
  3017.  
  3018.       This example constructs a file description of the sort typically used
  3019.       in BBS FILE.BBS lists. Here's an example of such a description,
  3020.       truncated on the right to fit here:
  3021.  
  3022.          INCXT11D.ZIP  216251 1/31/93   InContext(TM) Work Environment Mana
  3023.                                         Part 1 of 2 <ASP>. Complete Work En
  3024.                                         Manager for expert PC users. Automa
  3025.                                         aspects of the PC user's work than
  3026.                                         product. Designed by a PhD ergonomi
  3027.                                         based on fundamental principles of
  3028.                                         actually work. Much more than a DOS
  3029.                                         NEW VERSION 1.10 has Gantt charts,
  3030.                                         tagging, 4DOS long descriptions, PK
  3031.                                         support, *many* new features.
  3032.  
  3033.       FILESBBS.BAT (in EXAMPLES.ZIP) is a complete batch file to produce
  3034.       these descriptions. Here's the working part of a similar batch file,
  3035.       to illustrate the basic approach:
  3036.  
  3037.          vendprcs          -xxpf -zw12 -zn -p .\INCXT11D.ZIP  > OUTPUT
  3038.          vendprcs      -zl -xxps -zw8  -zn -p .\INCXT11D.ZIP >> OUTPUT
  3039.          vendprcs          -y " "      -zn                   >> OUTPUT
  3040.          vendprcs          -xxpd -zw9  -zn -p .\INCXT11D.ZIP >> OUTPUT
  3041.          vendprcs VENDINFO.DIZ -xpd4 -zi31 -zc45 -y "  @"    >> OUTPUT
  3042.  
  3043.  
  3044.  
  3045.  
  3046.  
  3047.  
  3048.  
  3049.  
  3050.  
  3051.  
  3052.  
  3053.  
  3054.  
  3055.  
  3056.  
  3057.  
  3058.  
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065.  
  3066.    VendPrcs Processor v1.00          -49-                          Dec 1993
  3067.  
  3068.  
  3069.  
  3070.  
  3071.    VendPrcs User's Guide                                           Examples
  3072.  
  3073.  
  3074.    Automatic Permission Request
  3075.    ----------------------------
  3076.  
  3077.       This example shows automated production of a letter to an author from
  3078.       a disk vendor, describing the vendor's company and requesting permis-
  3079.       sion to distribute the author's product. It is also possible to
  3080.       automatically construct electronic mail messages in this way. A
  3081.       complete batch file for this purpose is REQUEST.BAT in EXAMPLES.ZIP.
  3082.       Here's a segment of the batch file, to illustrate the idea. This
  3083.       batch file produces a text file (LETTER.TXT) suitable for use with
  3084.       Ventura Publisher to print the letter on existing company letterhead.
  3085.  
  3086.          vendprcs %1 -xac -y "@@AUTHOR = @"             > letter.txt
  3087.          vendprcs -y " "                               >> letter.txt
  3088.          vendprcs %1 -xaa -y "@@ADDRESS = @" -zv       >> letter.txt
  3089.          vendprcs -y " "                               >> letter.txt
  3090.          echo Dear Author:                             >> letter.txt
  3091.          vendprcs -y " "                               >> letter.txt
  3092.  
  3093.          echo We have recently received a copy of your >> letter.txt
  3094.          vendprcs %1 -xpp -y "<B>@" -zn                >> letter.txt
  3095.          vendprcs %1 -xpe           -zn                >> letter.txt
  3096.          vendprcs %1 -xpv -y "v@<D>."                  >> letter.txt
  3097.          vendprcs -y " "                               >> letter.txt
  3098.  
  3099.          echo We are quite interested in adding this   >> letter.txt
  3100.          echo program to our inventory, but we observe >> letter.txt
  3101.          echo that you require written permission...   >> letter.txt
  3102.          vendprcs -y " "                               >> letter.txt
  3103.  
  3104.          echo This letter will serve to introduce you  >> letter.txt
  3105.          echo to our business, and...                  >> letter.txt
  3106.          vendprcs -y " "                               >> letter.txt
  3107.  
  3108.          echo @CLOSING = Yours truly,                  >> letter.txt
  3109.          vendprcs -y " "                               >> letter.txt
  3110.          vendprcs -y "@SIGNATURE = Ima D. Vendor"      >> letter.txt
  3111.  
  3112.       A similar application of these techniques could produce a catalog
  3113.       entry for a disk vendor's mail-order catalog.
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125.    VendPrcs Processor v1.00          -50-                          Dec 1993
  3126.  
  3127.  
  3128.  
  3129.  
  3130.    Appendix A                                        Command-Line Arguments
  3131.  
  3132.  
  3133.        
  3134.                +-----------------------------------------------+
  3135.                | Appendix A -- VendPrcs Command-Line Arguments |
  3136.                +-----------------------------------------------+
  3137.  
  3138.       VendPrcs is invoked from the command line in the following way:
  3139.  
  3140.          vendprcs <filename> [options]
  3141.  
  3142.       where [options] can be as follows ("-" can be replaced by "/")
  3143.  
  3144.         Charges by distributor:
  3145.          -c0                    Distributor will not charge users at all
  3146.          -cc<amount>            Charge per CD-ROM will not exceed amount
  3147.          -ck<amount>            Charge per 360K will not exceed amount
  3148.          -cp<amount>            Charge per product will not exceed amount
  3149.          -cy<amount>            Charge per year will not exceed amount
  3150.  
  3151.         Distribution testing:
  3152.          -db                    Test distribution permission (Bbs channel)
  3153.          -dd                    Test distribution (mail-order Disk vendor)
  3154.          -dc                    Test distribution (Cd-rom)
  3155.          -df                    Test distribution (bbs File-distrib net)
  3156.          -di                    Test distribution (Installation by distrib)
  3157.          -dk                    Test distribution (booK enclosure diskette)
  3158.          -dm                    Test distribution (Magazine cover diskette)
  3159.          -do                    Test distribution (One-site rack vendor)
  3160.          -dp                    Test distribution (1-900-type Phone service)
  3161.          -dr                    Test distribution (multi-site Rack distrib)
  3162.          -ds                    Test distribution (Subscription service)
  3163.          -dt                    Test distribution (Tv/cable/satellite/...)
  3164.          -du                    Test distribution (Undescribed method)
  3165.  
  3166.         Existence testing for field values:
  3167.          -e<code>               Test field for existence of value
  3168.                                 (See Appendix B for codes)
  3169.  
  3170.         Medium of distribution:
  3171.          -mc<nontargets>        CD-ROM
  3172.             b = not marketed to Bbs
  3173.             d = not marketed to Distributor
  3174.             u = not marketed to User
  3175.          -md                    Sysop sends diskettes to users
  3176.          -mh                    High-density diskette
  3177.          -mo                    Other (than CD-ROM) mass medium
  3178.  
  3179.         No testing of specified things:
  3180.          -n<tests>              Suppress testing for indicated things
  3181.            a                       No author authentication
  3182.  
  3183.  
  3184.    VendPrcs Processor v1.00          -51-                          Dec 1993
  3185.  
  3186.  
  3187.  
  3188.  
  3189.    Appendix A                                        Command-Line Arguments
  3190.  
  3191.  
  3192.            e                       No executables testing (future version)
  3193.            m                       No test for author-allowed mods
  3194.            p                       No Packing List testing
  3195.            v                       No verbose mode, write only log
  3196.  
  3197.         Other assertions about distribution:
  3198.          -oa                    Package was received from author
  3199.          -oc                    Author contacted, is current version
  3200.          -oi<statements>        Informs customer as indicated
  3201.             d                      Shareware defined
  3202.             o                      Not owner of product
  3203.             p                      Payment to author required
  3204.             s                      Product is shareware
  3205.          -om<mods>              Proposed modifications/bundling
  3206.             a                      Ads appended to existing docs
  3207.             b                      Ads added as separate files
  3208.             c                      Change compression (e.g., ZIP to ARJ)
  3209.             d                      Bundle with dissimilar products
  3210.             h                      Help or GO.BAT added as separate file
  3211.             i                      Change installation program
  3212.             s                      Bundle with similar products
  3213.          -on                    Notifying author of distribution, version
  3214.          -op                    have written Permission from author
  3215.          -or                    Agree to pay specified royalties
  3216.          -os                    Sending author distribution sample
  3217.  
  3218.         Package name:
  3219.          -p <package_name>      File or pathname of compressed package
  3220.  
  3221.         Routing and Log-Control Operations:
  3222.          -r<operations>
  3223.            c                    Move package based on product category
  3224.            d                    Produce distributed logs with packages
  3225.            m                    Move package based on test outcome
  3226.            n                    Rename package to author-indicated name
  3227.            o                    Produce obsolete-package list
  3228.            l                    Keep master Log of all VendPrcs operations
  3229.            s                    Keep separate logs by package
  3230.            v                    Keep VENDINFO files in long-term library
  3231.  
  3232.         Special output formats:
  3233.          -s<type>               See documentation
  3234.  
  3235.         Type of distributor:
  3236.          -t<types>              Distributor types
  3237.            a                       ASP member of appropriate member class
  3238.            c                       Consultant paid for eval and install
  3239.            h                       Hardware dealer bundling with hardware
  3240.            n                       Non-profit user group
  3241.  
  3242.  
  3243.    VendPrcs Processor v1.00          -52-                          Dec 1993
  3244.  
  3245.  
  3246.  
  3247.  
  3248.    Appendix A                                        Command-Line Arguments
  3249.  
  3250.  
  3251.            u                       User group
  3252.  
  3253.         Entering User registration information:
  3254.          -u "<company name>" <serial number> <key>
  3255.  
  3256.         Extraction of field values:
  3257.          -x<code>               Extract field value
  3258.                                 (See Appendix B for codes)
  3259.  
  3260.         Label string for extractions:
  3261.          -y <label string>      Output this literal string with value
  3262.  
  3263.         Other extraction specifications:
  3264.          -zc<columns>           Maximum width of output
  3265.          -zd <format string>    Format for date, price (note space)
  3266.          -zf <FALSE string>     String to output if TRUE (note space)
  3267.          -zi<indentation>       Indentation amount
  3268.          -zk                    Keep VENDDATA file for re-use
  3269.          -zl                    Pad on left, if necessary (with -zw)
  3270.          -zn                    Suppress newline in output
  3271.          -zr<rows>              Maximum height of output
  3272.          -zt <TRUE string>      String to output if FALSE (note space)
  3273.          -zv                    Produce Ventura embedded <R> codes
  3274.          -zw<width>             Exact width of output (pad/truncate)
  3275.  
  3276.  
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302.    VendPrcs Processor v1.00          -53-                          Dec 1993
  3303.  
  3304.  
  3305.  
  3306.  
  3307.    Appendix B: Field Codes                                           Author
  3308.  
  3309.  
  3310.        
  3311.                     +------------------------------------+
  3312.                     | Appendix B -- Field Code Reference |
  3313.                     +------------------------------------+
  3314.  
  3315.  
  3316.  
  3317.    Author/Publisher Information
  3318.    ----------------------------
  3319.  
  3320.          aa     Author/company address
  3321.          ac     Company name
  3322.  
  3323.         Author/Publisher Electronic Addresses
  3324.          aea    America OnLine user ID
  3325.          aeb    BBS phone number
  3326.          aec    CompuServe Information System user ID
  3327.          aed    Delphi user ID
  3328.          aef    FidoNet node number
  3329.          aeg    Genie user ID
  3330.          aei    Internet address
  3331.          aen    BBS name
  3332.          aeo    Other electronic addresses
  3333.          aep    Prodigy user ID
  3334.          aer    RIME node address
  3335.          aeu    BBS username for mail when using BBS
  3336.  
  3337.          af     Author facsimile (FAX) phone number
  3338.  
  3339.         Membership in Trade Associations
  3340.          ama    Association of Shareware Professionals (ASP)?
  3341.          amb    Association of Shareware Authors and Distributors (ASAD)?
  3342.          amd    Deutschsprachige Shareware Authoren und Haendlervereinigung?
  3343.          ame    Educational Software CoOperative?
  3344.          amp    Software Publishers' Association (SPA)?
  3345.          ams    Shareware Trade Association and Resources (STAR)?
  3346.          amx    Other trade association memberships?
  3347.  
  3348.          an     Author name (personal name)
  3349.          ap     Author voice phone number
  3350.          aq     Product queries phone number
  3351.  
  3352.  
  3353.    Channel-Specific Distribution Information
  3354.    -----------------------------------------
  3355.  
  3356.         These Channel Identification Letters Are Used in Field Codes Below
  3357.          b = Bbs
  3358.          f = bbs File-distribution network
  3359.  
  3360.  
  3361.    VendPrcs Processor v1.00          -54-                          Dec 1993
  3362.  
  3363.  
  3364.  
  3365.  
  3366.    Appendix B: Field Codes                                     Distribution
  3367.  
  3368.  
  3369.          d = mail order Disk vendor
  3370.          c = Cd-rom
  3371.          o = One-site rack vendor
  3372.          r = multi-site Rack distributor
  3373.          k = booK enclosure disk
  3374.          s = Subscription service
  3375.          m = Magazine
  3376.          t = Television/cable/satellite and similar
  3377.          p = 1-900 Phone distribution or similar
  3378.          i = Installation by distributor on end-user's machine
  3379.          u = other method Undescribed by above
  3380.  
  3381.         Distribution Field Codes
  3382.          d?a    Additional distribution requirements (text)
  3383.          d?dc   Price limit per CD-ROM (if turned on)
  3384.          d?dd   Date after which distribution is prohibited
  3385.          d?dk   Price limit per 360K (if turned on)
  3386.          d?dp   Price limit per product (if turned on)
  3387.          d?dt   Date after which distributor must contact author
  3388.          d?dy   Price limit per year (if turned on)
  3389.          d?ma   Any distributor qualifies?
  3390.          d?maa  Any distributor who is an ASP member qualifies?
  3391.          d?mac  Any consultant qualifies?
  3392.          d?mad  Any full-disclosure distributor qualifies?
  3393.          d?mah  Any hardware dealer qualifies?
  3394.          d?man  Any non-profit user group qualifies?
  3395.          d?maq  Additional requirements specified in this data record?
  3396.          d?mar  Distributor receiving product from author qualifies?
  3397.          d?mau  Any user group qualifies?
  3398.          d?mdc  Distributor must check if after contact date?
  3399.          d?mdp  Distribution is prohibited after prohib date?
  3400.          d?mh   Diskette distribution on high-density media only?
  3401.          d?mna  Distributor disqualified if any charge is made to user?
  3402.          d?mnb  If target market is BBS, distribution is not allowed?
  3403.          d?mnc  Disqualified if charge per CD-ROM exceeds amount?
  3404.          d?mnd  If distributor "disqualified", distribution prohibited?
  3405.          d?mng  If target is distributors, distribution not allowed?
  3406.          d?mnk  Disqualified if charge per 360K exceeds amount?
  3407.          d?mno  Disqualified if distributing by other mass media?
  3408.          d?mnp  Disqualified if charge per product exceeds amount?
  3409.          d?mpq  "Qualified" distributors need written permission??
  3410.          d?mnr  Disqualified if distributing by CD-ROM?
  3411.          d?mnu  If target is end users, distribution not allowed?
  3412.          d?mny  Disqualified if charge per year exceeds amount?
  3413.          d?mp   Distribution by this channel is prohibited?
  3414.          d?mpd  If "disqualified", written permission is required?
  3415.          d?mr   Royalties must be paid for distribution?
  3416.          d?msq  Sample of distribution materials is requested?
  3417.          d?msr  Sample of distribution materials is required?
  3418.  
  3419.  
  3420.    VendPrcs Processor v1.00          -55-                          Dec 1993
  3421.  
  3422.  
  3423.  
  3424.  
  3425.    Appendix B: Field Codes                                     Distribution
  3426.  
  3427.  
  3428.          d?mst  Must see front text for additional requirements?
  3429.          d?mv   Notification of dist and version number is required?
  3430.  
  3431.  
  3432.  
  3433.    Human-Readable Front Text Sections
  3434.    ----------------------------------
  3435.  
  3436.          ff     Packing List (files) section from front text
  3437.          fi     Installation section from front text
  3438.          fl     License section from front text
  3439.          fp     Product Information section from front text
  3440.          fr     READ-ME section from front text
  3441.          fs<n>  Special section number n (1-9) from front text
  3442.          fv     VENDINFO description at beginning of file
  3443.          fw     Warranty section from front text
  3444.  
  3445.  
  3446.    Channel-Independent ("General") Distribution
  3447.    --------------------------------------------
  3448.  
  3449.          gc     Additional limitations on using different compressor
  3450.          gd     Restrictions on bundling with dissimilar products
  3451.          gg     Other geographic restrictions on distribution
  3452.          gh     Other information about allowed changes to package
  3453.          gi     Other restrictions on changing installation procedure
  3454.          gmaa   Ads may be appended to existing documentation files?
  3455.          gmas   Ads may be added as separate files?
  3456.          gmc    Package may be repackaged with different compressor?
  3457.          gmct   See front text for add'l restrictions on recompression?
  3458.          gmd    OK to bundle with dissimilar products (e.g., starter set)?
  3459.          gmdp   Written permission required for bundling with dissimilar?
  3460.          gmdt   Text has add'l requirements on bundling with dissimilar?
  3461.          gmf    Must all original files be included in unmodified form?
  3462.          gmhs   Can add a help file, GO.BAT, etc. as a separate file?
  3463.          gmi    Can add or substitute an installation procedure?
  3464.          gmit   Text has add'l requirements on changing installation?
  3465.          gmp    Distributable only in original unmodified form?
  3466.          gms    OK to bundle with similar products (e.g., "mega-disk")?
  3467.          gmsp   Written permission required for bundling with similar?
  3468.          gmst   Text has add'l requirements on bundling with similar?
  3469.          gmu    Distribution outside U.S. illegal, contained encryption?
  3470.          gs     Restrictions on bundling with other, similar products
  3471.          gt     Product distribution category
  3472.          gu     Author's policy on providing upgrades to distributors
  3473.  
  3474.  
  3475.  
  3476.  
  3477.  
  3478.  
  3479.    VendPrcs Processor v1.00          -56-                          Dec 1993
  3480.  
  3481.  
  3482.  
  3483.  
  3484.    Appendix B: Field Codes                                           Header
  3485.  
  3486.  
  3487.    VENDINFO Header Information
  3488.    ---------------------------
  3489.  
  3490.          hd     VENDINFO file preparation date
  3491.          ht     VENDINFO file type
  3492.          hv     Version number of VENDINFO file itself
  3493.  
  3494.  
  3495.    Price and Benefits Information
  3496.    ------------------------------
  3497.  
  3498.          ic     Currency in which prices are expressed
  3499.          imd    Dealer discounts available?
  3500.          ime    Dealer discount prices are in attached text?
  3501.          iml    Low-cost retail (LCR) version of product available?
  3502.          imn    Enhanced non-shareware version (NSV) available?
  3503.          imp    Royalty rates are included in attached text?
  3504.          imq    Royalties are negotiated on a case-by-case basis?
  3505.          imr    Royalties required for some forms of distribution?
  3506.          ims    Site licenses are available for product?
  3507.          imt    Site license rates are included in attached text?
  3508.  
  3509.          ira    Royalty agent for author (contact author first)
  3510.          irm    Minimum royalty, when royalties apply to channel
  3511.          irn    Text description of when minimum royalty applies
  3512.          irx    Maximum royalty, when royalties apply to channel
  3513.          iry    Text description of when maximum royalty applies
  3514.  
  3515.         Shipping and Handling Charges
  3516.          isa    Asia
  3517.          isc    within-country
  3518.          ise    Europe
  3519.          isf    Africa
  3520.          isn    North America
  3521.          isp    Pacific Rim
  3522.          iss    South America
  3523.  
  3524.         Registration Benefits (1=minimum, 2=maximum)
  3525.          i?bad  Additional data files?
  3526.          i?bap  Additional programs?
  3527.          i?bbs  BBS or other online support?
  3528.          i?bbr  Branding with user's name?
  3529.          i?bbu  Bug notices?
  3530.          i?bcc  Cheat codes?
  3531.          i?bcm  Commissions?
  3532.          i?bcn  Contests?
  3533.          i?bcu  Customization (screens, printouts, etc.)?
  3534.          i?bcr  Data conversion utilities (for other programs)?
  3535.          i?bcx  Data conversion utilities (from older versions)?
  3536.  
  3537.  
  3538.    VendPrcs Processor v1.00          -57-                          Dec 1993
  3539.  
  3540.  
  3541.  
  3542.  
  3543.    Appendix B: Field Codes                                           Prices
  3544.  
  3545.  
  3546.          i?bdi  Discounts on other programs, merchandise, etc.?
  3547.          i?ben  Enhanced program functionality (*)?
  3548.          i?bfg  Free goodies?
  3549.          i?bfu  Future versions (license for continued use)?
  3550.          i?bgu  Guarantee?
  3551.          i?bhi  Hints (hint book, application notes, etc.)?
  3552.          i?bla  Latest version?
  3553.          i?bls  Lifetime support?
  3554.          i?bne  Newsletter?
  3555.          i?bpp  Preprinted forms?
  3556.          i?bpm  Printed manual?
  3557.          i?bqr  Quick reference cards, keyboard templates, etc.?
  3558.          i?brl  Record limitation removal (*)?
  3559.          i?bre  Registration-Reminder-Screen removal?
  3560.          i?brd  Repeated delay screen or slowdown removal (*)?
  3561.          i?bsd  Sample data files, templates, examples, etc.?
  3562.          i?bso  Source code?
  3563.          i?bsu  Subscription to updated data?
  3564.          i?btl  Time-limit removal (*)?
  3565.          i?btu  Tutorial for use of product?
  3566.          i?bun  Update notices?
  3567.          i?buf  Updates free?
  3568.          i?bvs  Voice telephone support?
  3569.          i?bwa  Watermark removal?
  3570.  
  3571.          i?p    Registration price of product
  3572.          i?v    Other registration benefits
  3573.  
  3574.  
  3575.    Ordering Information
  3576.    --------------------
  3577.  
  3578.          oa     Order address (includes author/company name)
  3579.          ob     Order bank and bank account information
  3580.  
  3581.         Credit Cards Accepted
  3582.          oca    American Express (and Optima) cards accepted?
  3583.          occ    Diner's Club credit cards accepted?
  3584.          ocd    Discover credit cards accepted?
  3585.          oce    Access/Eurocard credit cards accepted?
  3586.          ocm    MasterCard credit cards accepted?
  3587.          ocv    Visa credit cards accepted?
  3588.          ocx    Order credit cards accepted
  3589.  
  3590.         Electronic Addresses for Ordering
  3591.          oea    America OnLine user ID
  3592.          oeb    BBS phone number
  3593.          oec    CompuServe Information System user ID
  3594.          oed    Delphi user ID
  3595.  
  3596.  
  3597.    VendPrcs Processor v1.00          -58-                          Dec 1993
  3598.  
  3599.  
  3600.  
  3601.  
  3602.    Appendix B: Field Codes                                         Ordering
  3603.  
  3604.  
  3605.          oef    FidoNet node number
  3606.          oeg    Genie user ID
  3607.          oei    Internet address
  3608.          oen    BBS name
  3609.          oeo    Other electronic addresses
  3610.          oep    Prodigy user ID
  3611.          oer    RIME node address
  3612.          oeu    BBS username for mail when using BBS
  3613.  
  3614.          of     Order facsimile (FAX) phone number
  3615.          oo     Other sources of registered version
  3616.          op     Order voice phone number (not toll-free)
  3617.  
  3618.         Accepted Forms of Payment (other than credit cards)
  3619.          oxa    Payment accepted by American Express money order?
  3620.          oxbh   Bank check from sender's country, in hard currency?
  3621.          oxbo   Bank check in other (typically soft) currency accepted?
  3622.          oxbr   Bank check, hard currency, on bank in recip country?
  3623.          oxbs   Bank check recipient's currency, bank in recip country?
  3624.          oxch   Payment in cash, hard currency other than recipient's?
  3625.          oxco   Payment in cash, other (typically soft) currency?
  3626.          oxcs   Payment in cash, recipient's currency?
  3627.          oxd    Payment by direct (electronic) bank funds transfer?
  3628.          oxe    EuroCheque, recipient's currency, guarantee card nbr on back?
  3629.          oxmi   Payment by international postal money order?
  3630.          oxms   Payment by postal money order issued in recipient's country?
  3631.          oxoh   Purchase orders accepted in hardcopy from most major firms?
  3632.          oxon   Purchase orders accepted by purchase order number?
  3633.          oxph   Personal check in sender's hard currency from sender's bank?
  3634.          oxpo   Personal check in other (typically soft) currency accepted?
  3635.          oxpr   Personal check in hard currency, bank in recip country?
  3636.          oxps   Personal check recipient's currency, bank in recip country?
  3637.          oxto   Traveller's check from other than recipient's country?
  3638.          oxts   Traveller's check from recipient's country?
  3639.          oxx    Order other acceptable funds
  3640.  
  3641.          ot     Order toll-free phone, if any
  3642.  
  3643.  
  3644.    Product Information
  3645.    -------------------
  3646.  
  3647.          pc?    Product category (there are five, numbered 1-5)
  3648.  
  3649.         Product Descriptions
  3650.          pd     Product description (longest to fit within size limits)
  3651.          pd1    Product description (one-line)
  3652.          pd2    Product description (two-line)
  3653.          pd3    Product description (250-char)
  3654.  
  3655.  
  3656.    VendPrcs Processor v1.00          -59-                          Dec 1993
  3657.  
  3658.  
  3659.  
  3660.  
  3661.    Appendix B: Field Codes                                          Product
  3662.  
  3663.  
  3664.          pd4    Product description (450-char)
  3665.          pd5    Product description (750-char)
  3666.          pd6    Product description (1500-char)
  3667.  
  3668.          pe     Product name extension or category name
  3669.  
  3670.         Platform, Scanners
  3671.          pfaf   Hewlett-Packard or compatible flatbed scanner
  3672.          pfag   Genius scanner or compatible
  3673.          pfal   Logitech hand scanner or compatible
  3674.  
  3675.         Platform, Configuration
  3676.          pfcf   Floating-point unit (FPU)
  3677.          pfcl   Laptop
  3678.          pfcm   Micro Channel Adapter
  3679.  
  3680.         Platform, Disk Drive
  3681.          pfdc   CD-ROM drive
  3682.          pfdf   Floppy only
  3683.          pfdh   Hard drive
  3684.  
  3685.         Platform, Input Devices
  3686.          pfid   Digitizer
  3687.          pfij   Joystick
  3688.          pfik   Keyboard
  3689.          pfim   Mouse
  3690.  
  3691.         Platform, Modem
  3692.          pfma   Any serial modem
  3693.          pfmf   Fax/modem
  3694.          pfmh   Hayes-compatible serial modem
  3695.  
  3696.         Platform, Network
  3697.          pfne   Network
  3698.  
  3699.         Platform, Ports
  3700.          pfoc   PCMCIA
  3701.          pfog   Game
  3702.          pfop   Parallel
  3703.          pfos   Serial
  3704.  
  3705.         Platform, Printer
  3706.          pfpd   Hewlett-Packard Deskjet printer
  3707.          pfpe   Epson 9-pin printer or compatible
  3708.          pfpf   Epson 24-pin printer or compatible
  3709.          pfpi   IBM Graphics Printer
  3710.          pfpl   Hewlett-Packard Laserjet printer
  3711.          pfpo   Plotter
  3712.          pfpp   Hewlett-Packard Paintjet printer
  3713.  
  3714.  
  3715.    VendPrcs Processor v1.00          -60-                          Dec 1993
  3716.  
  3717.  
  3718.  
  3719.  
  3720.    Appendix B: Field Codes                                          Product
  3721.  
  3722.  
  3723.          pfps   Postscript printer
  3724.          pfpt   Text printer (specific types may be shown below)
  3725.          pfpy   Printer (specific types may be shown below)
  3726.  
  3727.         Platform, Memory (RAM)
  3728.          pfre   Extended Memory
  3729.          pfrh   HIMEM
  3730.          pfrm   EMS Memory
  3731.          pfro   Expanded *or* Extended Memory
  3732.          pfrx   XMS Memory
  3733.  
  3734.         Platform, Sound Boards
  3735.          pfsa   AdLib sound card
  3736.          pfsb   Sound Blaster sound card
  3737.          pfsc   Covox sound card
  3738.          pfsm   Musical Instrument Digital Interface (MIDI)
  3739.          pfsy   Sound card (specific types may be shown below)
  3740.  
  3741.         Platform, Video
  3742.          pfv8   IBM 8514 Adapter
  3743.          pfva   Monochrome monitor
  3744.          pfvb   Color monitor
  3745.          pfvc   Color Graphic Adapter (CGA)
  3746.          pfve   Enhanced Graphic Adapter (EGA)
  3747.          pfvh   Hercules Graphics Card
  3748.          pfvm   Monochrome Display Adapter (MDA)
  3749.          pfvn   Multi-Color Graphics Array (MCGA)
  3750.          pfvo   Multi-Color Graphics Array 256 (MCGA 256)
  3751.          pfvs   Other Super VGA (SVGA, other)
  3752.          pfvt   Tandy Display Adapter
  3753.          pfvv   Video Graphics Array (VGA)
  3754.          pfvw   VESA Super VGA (SVGA, VESA)
  3755.          pfvx   XGA
  3756.  
  3757.          ph     Screen shot support format list (e.g., 'PCX CGM FLM')
  3758.          pk     List of suggested keywords describing product
  3759.          pn     Product filename prefix (without 'A', 'B' for multipart)
  3760.          po     Other platform requirements
  3761.          pp     Product name (e.g., 'Wordstar') without category or version
  3762.  
  3763.         Product Package Names and Related Information
  3764.          ppc    List of CompuServe (6-char) package prefixes
  3765.          ppl    List of package prefixes (e.g., 'MYPKGA MYPKGB')
  3766.          ppn    Number of packages making up full product (how many ZIPs)
  3767.          ppt    Filename prefix of this package
  3768.  
  3769.          pr     Reason for existence of this version
  3770.          ps     Description of other software required to use this product
  3771.          pt     Product version release date
  3772.  
  3773.  
  3774.    VendPrcs Processor v1.00          -61-                          Dec 1993
  3775.  
  3776.  
  3777.  
  3778.  
  3779.    Appendix B: Field Codes                                          Product
  3780.  
  3781.  
  3782.          pv     Version number of product, without 'V' (e.g., '1.10')
  3783.          px     List of filename prefixes for previous versioms now replaced
  3784.          py     Product type (e.g., software)
  3785.  
  3786.         Basic Platform Information (1=minimum, 2=recommended)
  3787.          p?c    Platform: CPU
  3788.          p?dm   Platform: Disk Space (Kbytes), minimal installation
  3789.          p?df   Platform: Disk Space (Kbytes), full installation
  3790.          p?o    Platform: Operating System
  3791.          p?re   Platform: Extended Memory (Kbytes)
  3792.          p?rm   Platform: EMS Memory (Kbytes)
  3793.          p?rs   Platform: Standard (low) Memory (Kbytes)
  3794.          p?rx   Platform: XMS Memory (Kbytes)
  3795.          p?s    Platform: Clock Speed (MHz)
  3796.  
  3797.  
  3798.    Information about Distributors of Registered Version
  3799.    ----------------------------------------------------
  3800.  
  3801.         Distributor Information (# = 1, 2, ... for multiple distributors)
  3802.          r#a    Distributor address (includes name)
  3803.          r#c    Currency in which prices are expressed
  3804.  
  3805.         Credit Cards Accepted (valid only if enabled; test r#mc)
  3806.          r#ca   American Express (and Optima) cards accepted?
  3807.          r#cc   Diner's Club credit cards accepted?
  3808.          r#cd   Discover credit cards accepted?
  3809.          r#ce   Access/Eurocard credit cards accepted?
  3810.          r#cm   MasterCard credit cards accepted?
  3811.          r#cv   Visa credit cards accepted?
  3812.          r#cx   Order credit cards accepted
  3813.  
  3814.          r#f    Facsimile (FAX) phone number
  3815.  
  3816.         Prices for Registered Version
  3817.          r#i1   Minimum registration price
  3818.          r#i2   Minimum registration price
  3819.  
  3820.         Shipping and Handling Charges
  3821.          r#sa   Asia
  3822.          r#sc   within-country
  3823.          r#se   Europe
  3824.          r#sf   Africa
  3825.          r#sn   North America
  3826.          r#sp   Pacific Rim
  3827.          r#ss   South America
  3828.  
  3829.         Miscellaneous Distributor Flags
  3830.          r#ma   Author drop-ships product
  3831.  
  3832.  
  3833.    VendPrcs Processor v1.00          -62-                          Dec 1993
  3834.  
  3835.  
  3836.  
  3837.  
  3838.    Appendix B: Field Codes                                  Registered Dist
  3839.  
  3840.  
  3841.          r#mc   Credit card and funds enabled for this distributor
  3842.          r#md   Handles other distributors in region
  3843.          r#mj   Handles press in region
  3844.          r#mo   Sole source of technical support in region
  3845.          r#mp   Prices enabled for this distributor
  3846.          r#ms   Handles technical support in region
  3847.  
  3848.          r#p    Voice phone number
  3849.          r#r    Geographical region covered
  3850.          r#t    Toll-free voice phone number, if any
  3851.  
  3852.         Accepted Forms of Payment (valid only if enabled; test r#mc)
  3853.          r#xa   Payment accepted by American Express money order?
  3854.          r#xbh  Bank check from sender's country, in hard currency?
  3855.          r#xbo  Bank check in other (typically soft) currency accepted?
  3856.          r#xbr  Bank check, hard currency, on bank in recip country?
  3857.          r#xbs  Bank check recipient's currency, bank in recip country?
  3858.          r#xch  Payment in cash, hard currency other than recipient's?
  3859.          r#xco  Payment in cash, other (typically soft) currency?
  3860.          r#xcs  Payment in cash, recipient's currency?
  3861.          r#xd   Payment by direct (electronic) bank funds transfer?
  3862.          r#xe   Payment by EuroCheque, guarantee card number on back?
  3863.          r#xmi  Payment by international postal money order?
  3864.          r#xms  Payment by postal money order issued in recipient's country?
  3865.          r#xoh  Purchase orders accepted in hardcopy from most major firms?
  3866.          r#xon  Purchase orders accepted by purchase order number?
  3867.          r#xph  Personal check in sender's hard currency from sender's bank?
  3868.          r#xpo  Personal check in other (typically soft) currency accepted?
  3869.          r#xpr  Personal check in hard currency, bank in recip country?
  3870.          r#xps  Personal check recipient's currency, bank in recip country?
  3871.          r#xto  Traveller's check from other than recipient's country?
  3872.          r#xts  Traveller's check from recipient's country?
  3873.  
  3874.  
  3875.    Technical Support Information
  3876.    -----------------------------
  3877.  
  3878.          sa     Support address (includes author/company name)
  3879.  
  3880.         Support Electronic Addresses
  3881.          sea    America OnLine user ID
  3882.          seb    BBS phone number
  3883.          sec    CompuServe Information System user ID
  3884.          sed    Delphi user ID
  3885.          sef    FidoNet node number
  3886.          seg    Genie user ID
  3887.          sei    Internet address
  3888.          sen    BBS name
  3889.          seo    Other electronic addresses
  3890.  
  3891.  
  3892.    VendPrcs Processor v1.00          -63-                          Dec 1993
  3893.  
  3894.  
  3895.  
  3896.  
  3897.    Appendix B: Field Codes                                          Support
  3898.  
  3899.  
  3900.          sep    Prodigy user ID
  3901.          ser    RIME node address
  3902.          seu    BBS username for mail when using BBS
  3903.  
  3904.          sf     Support facsimile (FAX) phone number
  3905.          sp     Support voice phone number
  3906.          ss     Electronic forums on which product is supported
  3907.  
  3908.  
  3909.  
  3910.    Special Information Not From Inside VENDINFO Record
  3911.    ---------------------------------------------------
  3912.  
  3913.          xd     Current date
  3914.          xh     Full path of current working directory
  3915.  
  3916.         Information about compressed package (-p)
  3917.          xpd    Package date
  3918.          xpe    Package filename extension
  3919.          xpf    Package filename
  3920.          xph    Full path of directory containing package
  3921.          xpl    Full path of package
  3922.          xps    Package size
  3923.          xpx    Package filename prefix
  3924.  
  3925.         Information about VENDINFO file
  3926.          xpd    File date
  3927.          xpe    Filename extension
  3928.          xpf    Filename
  3929.          xph    Full path of directory containing file
  3930.          xpl    Full path of file
  3931.          xps    File size
  3932.          xpx    Filename prefix
  3933.  
  3934.  
  3935.  
  3936.  
  3937.  
  3938.  
  3939.  
  3940.  
  3941.  
  3942.  
  3943.  
  3944.  
  3945.  
  3946.  
  3947.  
  3948.  
  3949.  
  3950.  
  3951.    VendPrcs Processor v1.00          -64-                          Dec 1993
  3952.  
  3953.  
  3954.  
  3955.  
  3956.    Appendix C                                          VendPrcs Errorlevels
  3957.  
  3958.  
  3959.        
  3960.                     +------------------------------------+
  3961.                     | Appendix C -- VendPrcs Errorlevels |
  3962.                     +------------------------------------+
  3963.  
  3964.       The following errorlevels are returned by VendPrcs:
  3965.  
  3966.            Errorlevel             Meaning
  3967.  
  3968.                0              No operation requested.
  3969.  
  3970.                1              An error has occurred.  This is probably
  3971.                               an incorrect field code, but it might be
  3972.                               due to other causes, in which case an error
  3973.                               message should be written to stderr.
  3974.  
  3975.                10             VENDINFO file has wrong size or CRC for
  3976.                               either the text or data section, and may
  3977.                               be a hacked or corrupted file.
  3978.  
  3979.                11             VENDINFO file has missing or invalid
  3980.                               author authentication codes, and may
  3981.                               be a hacked or corrupted file.
  3982.  
  3983.                20             A test of distribution permission has
  3984.                               been requested, and the VENDINFO file
  3985.                               prohibits distribution in the described
  3986.                               way.
  3987.  
  3988.                21             A test of distribution permission has
  3989.                               been requested, and an executable in
  3990.                               the package prohibits distribution in
  3991.                               the described way.
  3992.  
  3993.                22             VendPrcs has been asked to move package
  3994.                               by product category, and the user has
  3995.                               flagged this product's category as a
  3996.                               "Reject".
  3997.  
  3998.                30             A test of distribution permission has
  3999.                               been requested, and the VENDINFO file
  4000.                               allows distribution in the described
  4001.                               way, but only if additional requirements
  4002.                               are satisfied.
  4003.  
  4004.                31             A test of distribution permission has
  4005.                               been requested, and the VENDINFO file
  4006.                               allows distribution in the described
  4007.                               way, but only if written permission is
  4008.  
  4009.  
  4010.    VendPrcs Processor v1.00          -65-                          Dec 1993
  4011.  
  4012.  
  4013.  
  4014.  
  4015.    Appendix C                                          VendPrcs Errorlevels
  4016.  
  4017.  
  4018.                               obtained.
  4019.  
  4020.                32             A test of distribution permission has
  4021.                               been requested, and the VENDINFO file
  4022.                               allows distribution in the described
  4023.                               way, but only if additional requirements
  4024.                               are satisfied AND written permission
  4025.                               is obtained.
  4026.  
  4027.                40             A test of distribution permission has
  4028.                               been requested, and the VENDINFO file
  4029.                               allows distribution in the described
  4030.                               way.  All conditions have been satisfied.
  4031.  
  4032.                50             A test for existence of a field value
  4033.                               (or certain other tests) has been
  4034.                               requested, and the result is TRUE.
  4035.  
  4036.                51             A test for existence of a field value
  4037.                               (or certain other tests) has been
  4038.                               requested, and the result is FALSE.
  4039.  
  4040.                52             Extraction of a field value has been
  4041.                               requested, and performed successfully
  4042.                               (return of "(none)" for a missing value
  4043.                               is regarded as a success).
  4044.  
  4045.       It is a good idea to test for errorlevels 10 and 11 after the first
  4046.       VendPrcs command executed on a given VENDINFO file. Further tests for
  4047.       those particular errorlevels should be unnecessary.
  4048.  
  4049.  
  4050.  
  4051.  
  4052.  
  4053.  
  4054.  
  4055.  
  4056.  
  4057.  
  4058.  
  4059.  
  4060.  
  4061.  
  4062.  
  4063.  
  4064.  
  4065.  
  4066.  
  4067.  
  4068.  
  4069.    VendPrcs Processor v1.00          -66-                          Dec 1993
  4070.  
  4071.  
  4072.