home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / UTILS / A / DOS4CPM.ZIP / LU86.DOC < prev    next >
Text File  |  1987-07-08  |  13KB  |  265 lines

  1.         LU86.EXE          MS-DOS VERSION 4.03          September 25, 1984
  2.  
  3.  
  4.         NAME
  5.  
  6.              lu86 - create and maintain a Novosielski library file.
  7.  
  8.         SYNOPSIS
  9.  
  10.     |        lu86  option  lbr_file_name[.lbr]  [ file ]  ...
  11.  
  12.         DESCRIPTION
  13.  
  14.              Library  Utility  86 (LU86) is a program to allow  combining 
  15.              multilple files into one larger file.   It requires PC or MS 
  16.              DOS version 2.0 or higher to run.
  17.  
  18.              Version  4.03  replaces all prior versions.  The  major  re-
  19.              visions are:   the addition of the -s operator, the addition 
  20.              of CRC calculation and checking to improve reliability,  the 
  21.              addition of member time and date stamping,  and support  for 
  22.              exact file lengths of library members.   Error reporting and 
  23.              recovery have also been improved.
  24.  
  25.              The following options are recognized and supported:
  26.  
  27.              -l   Display a directory list of the specified library.  The 
  28.                   redirection  operator '>' can be used to create a  file 
  29.                   of the directory list.
  30.  
  31.              -t   (Table)  A  synonym for -l:  also produces a  directory 
  32.                   list.
  33.  
  34.              -a   Extracts all files from the specified library file.  If 
  35.                   a  time and date for a file was stored in  the  library 
  36.                   directory,  it  is  used to stamp the  extracted  file.  
  37.                   This  mechanism  allows files to enter and leave  a  LU 
  38.                   libarary  file  without losing their original time  and 
  39.                   date stamp.
  40.  
  41.              -e   Extracts only specified file(s) from the library.  Time 
  42.                   and  Date  stamp  comments  given  above  in  the  '-a' 
  43.                   description apply here as well.
  44.  
  45.              -u   Add  to or create a library file.   An existing library 
  46.                   will  be updated with files from the command line  file 
  47.                   list.   If  the  library does not  exist,  it  will  be 
  48.                   created.   Wildcards  may  be used when specifying  the 
  49.                   file list.
  50.  
  51.                   When  a file is added to a library,  the DOS  time  and 
  52.                   date  file  stamp  is read and stored  in  the  library 
  53.                   directory.  If a file to be added already exists in the 
  54.                   library,  LU86  will delete the existing libary member, 
  55.                   and  add  the new file to the end of the  library.   In 
  56.                   terms of directory usage and library space  used,  this 
  57.                   is the same as adding a completely new member.
  58.  
  59.  
  60.  
  61.                                   -1-
  62.  
  63.  
  64.  
  65.  
  66.  
  67.         LU86.EXE          MS-DOS VERSION 4.03          September 25, 1984
  68.  
  69.  
  70.                   Prior  versions  of  16-bit LU and  LU86  would  re-use 
  71.                   deleted directory entries when performing an add/update 
  72.                   operation.  LU86 v4.x will not re-use deleted directory 
  73.                   entries,  and requires a reorganization to reclaim  de-
  74.                   leted  directory entries.   This was done to provide an 
  75.                   indication of unused space in the lbr file.   If the -l 
  76.                   or -t command shows deleted directory entries, then the 
  77.                   lbr file contains unused 'lost' space.
  78.  
  79.              -d   Delete a file from a library.   This tags the specified 
  80.                   member entrie(s) as deleted, and 'loses' the space that 
  81.                   had been allocated for the deleted member(s).
  82.  
  83.              -r   Reorganize the library file by creating a new file, and 
  84.                   copying  active members of the old library to it.   Re-
  85.                   organization  gets rid of unused space lost  to  delete 
  86.                   and duplicate filename update operations.
  87.  
  88.                   If  you are dealing with a large library and are  using 
  89.                   floppies,  you  might not have room on the default disk 
  90.                   to reorganize the library file.   In this case, put the 
  91.                   disk  containing  the  existing lbr file  you  want  to 
  92.                   reorganize in one drive,  and put a floppy disk with  a 
  93.                   lot  of  room and lu86.exe in another  drive.   For  an 
  94.                   example   let  us  assume  your  lbr  file  is  on   B: 
  95.                   (B:biglbr.lbr),  and  lu86 and room is on A:.   Log  in 
  96.                   drive A: and reorgainze the library thusly:
  97.                                  A>lu86 -r b:biglbr 
  98.                   This  will  open biglbr.lbr on drive B:,  and  put  the 
  99.                   reorganized  result on the default disk,  in this case, 
  100.                   drive A:.
  101.  
  102.              -s   Stamp  the DOS directory entry of the library file with 
  103.                   with the time and date of the library directory  stored 
  104.                   internally  in the file.   This is useful for restoring 
  105.                   the original date of a library file after doing a modem 
  106.                   transfer.
  107.  
  108.              Whenever a new member is added to a library,  a value called 
  109.              the  CRC  (Cyclic Redundancy Check) word is  calculated  and 
  110.              stored in the member's directory entry.   When the member is 
  111.              extracted  from the library,  the calculation is done again, 
  112.              and compared with the saved value.  If the two values do not 
  113.              match,  it  is an indication that the member was damaged  in 
  114.              some way while it was in the library. The extract will still 
  115.              be performed,  but a message warning that the extracted copy 
  116.              is questionable will be displayed.
  117.  
  118.              This feature is especially valuable for libraries which have 
  119.              been  created  on  another system and transmitted  by  phone 
  120.              (possibly several times) before you receive them.   It helps 
  121.              insure  that the extracted files are faithful  reproductions 
  122.              of  the  files originally inserted.  Members added  by  LU86 
  123.              versions prior to 4.0 do not have CRC words.  The CRC calcu-
  124.              lation is supressed for earlier libraries.
  125.  
  126.  
  127.                                   -2-
  128.  
  129.  
  130.  
  131.  
  132.  
  133.         LU86.EXE          MS-DOS VERSION 4.03          September 25, 1984
  134.  
  135.  
  136.  
  137.         LIBRARY FORMAT
  138.  
  139.              The  entire library file and each of its members are concep-
  140.              tually organized into "sectors", each sector being 128 bytes 
  141.              long.  (From CP/M, where LU originated).  Each sector of the 
  142.              file  belongs to at most one library  member.   Each  member 
  143.              comprises  a whole number of sectors.   The last sector of a 
  144.              member  may,  however,  be  logically declared as  a  "Short 
  145.              Sector".  Although it physically contains 128 bytes, a Short 
  146.              Sector  contains one or more "pad" bytes at the end for  the 
  147.              purpose of maintaining the structure of the library file  as 
  148.              a whole.  A member may have as few as 0 sectors.
  149.  
  150.              Members  may be referred to by a name of up to 8 characters, 
  151.              and  an extension of up to 3 characters.   The naming  rules 
  152.              are identical to those for the naming of CP/M-80 disk files.  
  153.              Members  must be uniquely named;  any given  combination  of 
  154.              name and extension may identify at most one member.
  155.  
  156.              The  start and end points of each member are defined by  the  
  157.              pointers in a "directory entry" for the member.   There  are 
  158.              no embedded start or end marks separating the members.   All 
  159.              sectors between the start and end sectors of a member belong 
  160.              to that member.   The members need not appear in the library 
  161.              in the same order that their directory entries appear in the 
  162.              directory.
  163.  
  164.              The  directory  information in an LU style library  is  con-
  165.              tained in the same file as the data files,  or members.  The 
  166.              amount  of  space to be allocated to the directory  must  be 
  167.              specified by the user when a new library is created, but can 
  168.              be  changed when the file is reorganized.  The size of  each 
  169.              LU directory entry is 32 bytes, which means each four direc-
  170.              tory  entries take up one 128-byte 'sector' of  the  library 
  171.              file.   The LU directory uses one entry for control informa-
  172.              tion  itself,  so the number of  directory 'sectors'  needed 
  173.              for a library of m members is (m + 1) / 4, rounded up to the 
  174.              next whole number.
  175.  
  176.              The  user  need not be concerned with  this  discussion,  as 
  177.              directory size  is calculated by the program.  All directory 
  178.              sizes are  input and output in terms of entries,  each entry 
  179.              being a potential member file. The program adjusts directory 
  180.              size to an integral number of sectors.
  181.  
  182.         MISFEATURES (BUGS)
  183.  
  184.              Ideally,  wildcards would work with the -l (or -t) -d and -e 
  185.              commands, but currently do not.
  186.  
  187.              Options  may not be stacked or be specified more than one at 
  188.              a time.  One execution of LU86, one option.
  189.  
  190.              Wildcard  expansion  of the -u input list is limited to  128 
  191.              filenames.
  192.  
  193.                                   -3-
  194.  
  195.  
  196.  
  197.  
  198.  
  199.         LU86.EXE          MS-DOS VERSION 4.03          September 25, 1984
  200.  
  201.  
  202.              Wildcard expansion is not supported for pathnames.
  203.  
  204.         ACKNOWLEDGEMENTS
  205.  
  206.              Gary  Novosielski designed the LU format and wrote the first 
  207.              programs supporting 'LBR' files.   He has continued to main-
  208.              tain and improve the LU format by distributing a file of the 
  209.              offical LU format definition.   The current version of  this 
  210.              definition is contained in LUDEF5.DOC.  Interested users are 
  211.              directed  to that file for more complete information on  the 
  212.              LU format.
  213.  
  214.              Large  portions of this document are excerpts from the  CP/M 
  215.              file  LU300.DOC,  which documents the operation of the  CP/M 
  216.              version  of LU (an implemenation much superior to  LU86,  by 
  217.              the way).  Any particulary lucid and useful sections of this 
  218.              document  probably  originated with Gary  Novosielski.   The 
  219.              Turgid Obfuscation is probably mine.
  220.  
  221.              This program had its genesis in the UNIX progam LAR.C.   LAR 
  222.              was  rendered into C that mortal compilers could  understand 
  223.              by Tom Jennings who renamed the source to LU.C.   I used  LU 
  224.              as a base and have renamed the effort to LU86.
  225.  
  226.              LU86, ver 4.x is a 'C' program, and is compiled with version 
  227.              2.10B of the Computer Innovations C86 MS-Dos compiler.
  228.          
  229.              This  document replaces a document of the same  name,  dated 
  230.         |    September  12,  1984.   Changes are highlighed with a "|" in 
  231.              the  left margin.
  232.          
  233.              CHANGE HISTORY
  234.          
  235.              Ver 4.0, September 3, 1984.  Original release.
  236.          
  237.              Ver 4.01, September 10, 1984.  Fixed add routines to exclude 
  238.              the directory portion of a pathname,  retaining only the  11 
  239.              character file name for use in the LU directory.
  240.          
  241.              Ver 4.02, September 12, 1984.  Fixed update function so that 
  242.              it  distinguishes between not being able to find or  read  a 
  243.              file (in which case it creates a new directory), and reading 
  244.              a file which is not  a  library  (in which case, it aborts).
  245.              Prior  to  this  fix,  trying  to  update a file with a .lbr
  246.              extension, which was not a Library, would destroy it.
  247.  
  248.         |    Ver 4.03, September 25, 1984.  Fixed bug that limited  input
  249.         |    file list to 30 names.  Now handles 128 names as advertised.
  250.  
  251.  
  252.                            Paul J. Homchick
  253.                            Chimitt Gilman Homchick, Inc.
  254.                            One Radnor Station, Suite 300
  255.                            Radnor, PA 19087
  256.  
  257.  
  258.  
  259.                                   -4-
  260.  
  261.  
  262.  
  263.  
  264.  
  265.