22
;ARCHIVER.BB2, archiver control file for XBBS-OS/2, XGROUP and AV
;KEEP A COPY OF THIS ORIGINAL FILE FOR INFORMATION LATER!
;
;format for this archiver.bb2 file (each entry has 22 lines):
;
; 1st line:  ID of archiver (like ARC, LHARC, PKZIP, etc.; human consumption)
; 2nd line:  normal extension for archives (like ZIP, ARC, LZH; note no period)
; 3rd line:  offset into file to signature
; 4th line:  list command
; 5th line:  extract command
; 6th line:  extract w/ directories command
; 7th line:  test archive command
; 8th line:  add/create command
; 9th line:  add/create w/ paths command
;10th line:  add/create & recurse command
;11th line:  move command
;12th line:  move w/ paths command
;13th line:  delete command
;14th line:  signature (case sensitive, leading spaces count!
;15th line:  startlist string
;16th line:  endlist string
;17th line:  old size position  (all positions 0-based, -1 = not available)
;18th line:  new size position
;19th line:  file date position
;20th line:  number of positions in dates (for "03 June 92" would be 3)
;21st line:  file name position (absolutely required, of course)
;22nd line:  Letter which selects protocol (human consumption)
;            leave blank if this protocol is not a user selectable. ie. it
;            should only be used when identifying an archive.. etc.
;
;a semicolon demarks a comment.  they may appear at any point *except*
;within the 22 lines of an archiver entry.
;everything on the line after the semicolon is ignored.
;
;note that all archiver strings should include the archiver's parameters to
;prevent it from stopping for input!  also note that archive types are checked
;in order of their listing in this file.  finally, this file is set up for
;the archivers I had lying around; if yours are different versions, you may
;have to modify this file.  All archivers are OS/2 (or FAPI) versions.
;
;how archive listing works:
;
;XBBS (or AV) first tries to find a signature match.  failing that, it checks
;to see if the file might be an ARC-format file.  If the latter, READARC.CMD
;is spawned (by XBBS) with ARC as the first argument and v as the second,
;followed by the filename.  If the former, the list command is sent, followed
;by the filename.  output is redirected to a file that XBBS then displays to
;the user.  crude, but effective.  AV handles things a little more smoothly.
;
;although only the list and extract command strings are currently used by
;XBBS, include them all. someday most or all of Peeker's functionality will
;be present in XBBS-OS/2. AV likes them, too, and uses most of them now.
;
;note to XGroup DOS users:  you'll probably have to modify the ARJ and
;LHARC listings in here to work with your archivers.
;
; *************************************
; UnArj 2.41.kkf.a demo / ARJZ-OS2 0.15
; *************************************
UNARJ / ARJZ
ARJ
0
UNARJ.EXE L
UNARJ.EXE E
UNARJ.EXE X
UNARJ.EXE T
arjz-os2.exe a -a -md -mp9 -mf -jm -e
arjz-os2.exe a -a -md -mp9 -mf -jm
arjz-os2.exe a -a -md -mp9 -mf -jm
arjz-os2.exe m -a -md -mp9 -mf -jm -e
arjz-os2.exe m -a -md -mp9 -mf -jm

`\xea
------------ ---------- ---------- ----- ----------------- -------- -----------
------------ ---------- ---------- ----- -----------------
1
2
4
1
0
A
;
; ************************
; ARJ SE (Self Extracting)
; ************************
UNARJ / ARJZ
ARJ
0
UNARJ.EXE L
UNARJ.EXE E
UNARJ.EXE X
UNARJ.EXE T
arjz-os2.exe a -a -md -mp9 -mf -jm -e
arjz-os2.exe a -a -md -mp9 -mf -jm
arjz-os2.exe a -a -md -mp9 -mf -jm
arjz-os2.exe m -a -md -mp9 -mf -jm -e
arjz-os2.exe m -a -md -mp9 -mf -jm

MZ\xea
------------ ---------- ---------- ----- ----------------- -------- -----------
------------ ---------- ---------- ----- -----------------
1
2
4
1
0

; ********
; Arc 5.21
; ********
Arc 5.21
ARC
0
ARC.EXE lw
ARC.EXE ewn

ARC.EXE t
ARC.EXE awn


ARC.EXE mwn

ARC.EXE dwn
\x1a
============  ========  =========
        ====  ========
1
-1
2
3
0
C
; *************
; LHarc-32 2.22
; *************
LHarc-32 2.22
LZH
2
LH32.EXE /o l
LH32.EXE /o x
LH32.EXE /o /s x
LH32.EXE t
LH32.EXE /o a

LH32.EXE /o /s a
LH32.EXE /o m

LH32.EXE /o d
-lh
  -------- --------  -----------------------------------------
  --------          -----------------------------------------
0
-1
1
1
2
L
; **********************************
; LHarc-32 2.22 SE (Self Extracting)
; **********************************
LHarc-32 2.22
LZH
2
LH32.EXE /o l
LH32.EXE /o x
LH32.EXE /o /s x
LH32.EXE t
LH32.EXE /o a

LH32.EXE /o /s a
LH32.EXE /o m

LH32.EXE /o d
MZ\xB1\x01\x2D
  -------- --------  -----------------------------------------
  --------          -----------------------------------------
0
-1
1
1
2

; *******
; Zoo 2.1
; *******
Zoo 2.1
ZOO
20
ZOO.EXE v
ZOO.EXE xO
ZOO.EXE xO/
ZOO.EXE -test
ZOO.Exe ah:
ZOO.EXE ah

ZOO.EXE aM:h
ZOO.EXE aMh
ZOO.EXE -delete
\xdc\xa7\xc4\xfd
--------  --- --------  --------- --------
--------  --- --------  --------- --------
0
2
3
3
-1
O
; *****************
; Zip/UnZip 1.9/5.0
; *****************
Zip/Unzip 1.9/5.0
ZIP
0
UNZIP.EXE -lU
UNZIP.EXE -ojC
UNZIP.EXE -oC
UNZIP.EXE -ot
ZIP.EXE -j


ZIP.EXE -mj

ZIP.EXE -d
PK\x03\x04\x14
 ------    ----    ----    ----
 ------                    -------
0
-1
1
2
3
Z
; *******************
; Zip/UnZip SE Type 1
; *******************
Zip/Unzip 1.9/5.0
ZIP
0
UNZIP.EXE -lU
UNZIP.EXE -ojC
UNZIP.EXE -oC
UNZIP.EXE -ot
ZIP.EXE -j


ZIP.EXE -mj

ZIP.EXE -d
MZ\x9A\x01
 ------    ----    ----    ----
 ------                    -------
0
-1
1
2
3

; *******************
; Zip/UnZip SE Type 2
; *******************
Zip/Unzip 1.9/5.0
ZIP
0
UNZIP.EXE -lU
UNZIP.EXE -ojC
UNZIP.EXE -oC
UNZIP.EXE -ot
ZIP.EXE -j


ZIP.EXE -mj

ZIP.EXE -d
MZ\xF5\x01
 ------    ----    ----    ----
 ------                    -------
0
-1
1
2
3

; *******************
; Zip/UnZip SE Type 3
; *******************
Zip/Unzip 1.9/5.0
ZIP
0
UNZIP.EXE -lU
UNZIP.EXE -ojC
UNZIP.EXE -oC
UNZIP.EXE -ot
ZIP.EXE -j


ZIP.EXE -mj

ZIP.EXE -d
MZ\xB7\x01
 ------    ----    ----    ----
 ------                    -------
0
-1
1
2
3

; ************
; PKzip/2 1.02
; ************
PKZip 1.02
ZIP
0
PKZIP2.EXE -v
PKUNZIP2.EXE -o
PKUNZIP2.EXE -o -d
PKUNZIP2.EXE -t
PKZIP2.EXE -a
PKZIP2.EXE -a -P
PKZIP2.EXE -a -p -r
PKZIP2.EXE -m
PKZIP2.EXE -m -P
PKZIP2.EXE -d
PK\x3\x4
 ------  ------   ----- -----   ----    ----   ------  ----  ----
 ------          ------  ---                                 -------
0
2
4
2
8
P
; *********************************
; PKzip/2 1.02 SE (Self Extracting)
; *********************************
PKZip 1.02
ZIP
0
PKZIP2.EXE -v
PKUNZIP2.EXE -o
PKUNZIP2.EXE -o -d
PKUNZIP2.EXE -t
PKZIP2.EXE -a
PKZIP2.EXE -a -P
PKZIP2.EXE -a -p -r
PKZIP2.EXE -m
PKZIP2.EXE -m -P
PKZIP2.EXE -d
MZ\x09\x00\x18\x00\x4F
 ------  ------   ----- -----   ----    ----   ------  ----  ----
 ------          ------  ---                                 -------
0
2
4
2
8

; ********
; RAR 2.00
; ********
RAR 2.00
RAR
0
RAR2.EXE l -y
RAR2.EXE e -y
RAR2.EXE x -y
RAR2.EXE t -y
RAR2.EXE a -y

RAR2.EXE a -r -y
RAR2.EXE m -y

RAR2.EXE d -y
Rar!
------------------------------------------------------------------------------
------------------------------------------------------------------------------
1
2
4
1
0
R
; *****************************
; RAR 2.00 SE (Self Extracting)
; *****************************
RAR 2.00
RAR
0
RAR2.EXE l -y
RAR2.EXE e -y
RAR2.EXE x -y
RAR2.EXE t -y
RAR2.EXE a -y

RAR2.EXE a -r -y
RAR2.EXE m -y

RAR2.EXE d -y
MZ
------------------------------------------------------------------------------
------------------------------------------------------------------------------
1
2
4
1
0

;
; For possible future use:
; Squeeze-it signature:  (Offset 0000)  \x48\x4C\x53\x51\x5Ah
; No OS/2 version available yet
;
;Notes on modifying/updating this file:
;
;You can add as many archivers as you like to this file.
;here are some suggestions on how to go about it:
;
;list an archive with the archiver, redirecting to a disk
;file (ex. "ARC l AFILE.ARC > TEMP.").  Load the resultant
;file into a text editor.  Clip out the startlist and endlist
;strings and paste directly into this file on the appropriate
;lines; prevents errors due to typos when copying manually.
;Count the positions of filename, date, etc. and place on the
;appropriate line.  Now run the archiver redirected to a file
;to get its help screen (ex. "ARC > TEMP." or "ZOO h > TEMP.").
;Look for the various command options (extract, list, etc.) and
;put them into the file on the appropriate lines -- remember to
;add the modifiers to prevent the archiver from stopping to ask
;questions!  You could be in deep doo-doo if it's a detached
;process.  While it may seem a pain in the arse to have to
;edit this file when an archiver changes its command structure
;or list format, at least it's something within your control;
;you don't have to wait for an update to AV.  That means if I
;die tomorrow you'll still be able to use AV for years to come.
;
;Here's an example of an ARC listing (5.12mpl, command "ARC l"):
;
;Name          Length    Date
;============  ========  =========    <--this line is start-of-list
;MAKEFILE           374  28 Nov 89
;QSORT.C          14279  29 Nov 89
;QSORT.EXE        24629  29 Nov 89
;STUFF.H            371  29 Nov 89
;        ====  ========               <--this line is end-of-list
;Total      4     39653
;
;Note the filename is in position 0, old length in position 1, and the
;date starts in position 2, with 3 parts, and there's no new length
;field (so it'd be -1).  Compare that to the archiver entry for
;ARC 5.12mpl above and you should get a feel for what all those fields
;mean.
;
;If you're adding an entirely new archive format, note that you can
;use 'C'-style \x<hexnumber> on the signature line in this file.
;For example, the \x1a in ARC 5.12mpl's signature line means AV will
;look for an ASCII 26 (text EOF marker) in position 0 (first byte, as
;indicated by ARC's line 3, the offset into a file for the signature)
;of a file to determine if it's an archive.  If line 3's offset is
;negative, AV looks from the end of the file instead of the beginning.
;You can usually figure out what an archiver's signature is by looking
;at a few archives with a file viewing program like LIST.  By all means
;send me anything new you figure out for inclusion in future releases.
;
;
;You can have several entries for one type of archive in this file.  AV
;tries entries sequentially to list the file until it finds one that works.
;If the first entry for a signature doesn't work, and AV finds one that
;does, it moves that entry to the top of the list and rewrites ARCHIVER.BB2
;to make future accesses faster.  This allows me to list everything I can
;get entries for and let AV sort out what the user actually has that works.
;It also lets you, the user, create archives with more than one archiver that
;produces the same sort of archive (or with different switches, like one with
;LHArc producing -lh5- compression and one with it producing old, compatible
;-lh1- compression).
;
;
;always end file with blank line or comment
