
                                                                31 Mar 89
Format of file headers within .LZH archives:

Byte 0:  No. bytes in header - 2 (0 = end of file)
     1:  Checksum of remaining bytes (counted by byte 0)
   2-6:  ASCII compression type:
         '-lh0-' = no compression
         '-lh1-' = LHARC compression
                   (presumably other valid types used by
                   the separate LARC program?)
  7-10:  Comressed file size  \ (low byte
 11-14:  Original file length /   first)
 15-16:  File time \   (INT 21H,
 17-18:  File date / function 57H)
 19-20:  File attributes (INT 21H, function 43H)
    21:  No. bytes in path/file name (n)
 22...:  Path/file name (n bytes)
  22+n:  CRC-16 (2 bytes, optional; requires byte 0 - byte 21 = 22)
  22+n = Header length, if no CRC (generated by ???)
  24+n = Header length, if CRC


Notes:

(1)  Above inferred by manual inspection and confirmed by disassembly
     of LHARC10E self-extraction code, except for bytes 19-20, which are
     not used by self-extraction code.

(2)  Maximum path/file name length = 233 bytes (235 bytes, if no CRC),
     given max. byte 0 count = 255

(3)  CRC-16 polynomial identical to that used by .ARC archives.

                                                - Robert A. Freed
                                                  Newton Centre, MA


