home *** CD-ROM | disk | FTP | other *** search
- ; Unpack Library Include File
- ;
-
- IFND Unpack.i
-
- Unpack.i = 1
-
- IFND EXEC_TYPES_I
- INCLUDE "Exec/Types.i"
- ENDC
-
- BPTR MACRO
- \1 EQU SOFFSET
- SOFFSET SET SOFFSET+4
- ENDM
-
- ; Library Name & Version
-
-
- UNPACKNAME MACRO
- dc.b "unpack.library",0
- ENDM
-
- UnpackVersion = 39
- UnpackRevision = 54
-
-
- ; First The Library Offsets
-
- upAllocCInfo = -30
- upFreeCInfo = -36
- upDetermineFile = -42
- upUnpack = -48
- upTestHunk = -54
- upUnpackNum = -60 ;OBSOLETE!!!!
- upUnpackList = -66
- upUnpackListNext= -72
-
- upLoadFile = -78 ;V34.20
- upFreeFile = -84 ;V34.20
-
- upUseDrive = -90 ;V36+
- upUnuseDrive = -96 ;V36+
- upSendCmd = -102 ;V36+
- upNewUnpackNum = -108 ;V37+
-
- ; Library Base Structure
-
-
- STRUCTURE LibraryStruct,0
- STRUCT LIB_Node,14
- UBYTE LIB_Flags
- UBYTE LIB_Pad
- UWORD LIB_NegSize
- UWORD LIB_PosSize
- UWORD LIB_Version
- UWORD LIB_Revision
- APTR LIB_IDString
- ULONG LIB_Sum
- UWORD LIB_OpenCnt
-
- BPTR LIB_SegList
- APTR LIB_DosBase
- APTR LIB_IntBase
- LABEL LibraryStruct_SIZEOF
-
-
- ; Unpack Numbers Structure (V37+)
-
-
- STRUCTURE NumberStruct,0
- UWORD NS_Version ;Library Version
- UWORD NS_Revision ;Library Revision
- UWORD NS_Types
- UWORD NS_Unpackers
- LABEL NumberStruct_SIZEOF
-
-
- ; Drive Structure (V36+)
-
-
- STRUCTURE DriveStruct,0
- APTR DRV_UnpackInfo
- STRUCT DRV_IOStdReq,48
- STRUCT DRV_MsgPort,34
- STRUCT DRV_DevName,48
- STRUCT DRV_DriveName,10
- LABEL DriveStruct_SIZEOF
-
-
- ; Unpack Info Structure
-
-
- STRUCTURE UnpackInfo,0
- APTR UI_Filename
- APTR UI_Path
- APTR UI_Jump
- APTR UI_CruncherName
- APTR UI_DecrunchAdr
- LONG UI_DecrunchLen
- UWORD UI_ErrorNum
- UWORD UI_CrunchNum
- UBYTE UI_CrunchType
- UBYTE UI_Flag
- APTR UI_LoadNamePoi
- LONG UI_CrunchLen
- APTR UI_UserData ;V35+
- APTR UI_TrackJump ;V36+
- APTR UI_TrkErrJump ;V36+
- LONG UI_Offset ;V36+
- UWORD UI_Track ;V36+
- APTR UI_ErrorMsg ;V37+
- APTR UI_CrunchAdr ;V37+
- APTR UI_LhaPattern ;V38+
- BOOL8 UI_UseFilenamePointer ;V39+
-
- ; This Is Private, Do NOT Touch
-
- UBYTE UI_Pad
- LONG UI_CrunchLenTemp
- LONG UI_FileHandler
- LONG UI_Lock
- LONG UI_OldLock
- APTR UI_InfoAdr
- APTR UI_UnpackPoi
- ULONG UI_Temp
- STRUCT UI_Data,4*4 ;V35+
- STRUCT UI_LoadName,128
- STRUCT UI_ExecuteString,256
- STRUCT UI_OutputFile,16
- LABEL UnpackInfo_SIZEOF
-
-
- ; The UI_Flag Have The Following Definations:
-
- UFB_OneFile = 0 ;This Select To Decrunch One File Or
- ;All Files In An Archive.
- UFB_Delete = 1 ;Delete Files After Scanning.
- UFB_NoFree = 2 ;Free Memory After Jump (V35+)
- UFB_Banner = 3 ;Give Banner (V36+)
- UFB_NoLoad = 4 ;Do Not Load File (V37+)
- UFB_Protect = 5 ;Change Protection Bits (V38+)
-
- UFN_OneFile = 1<<UFB_OneFile
- UFN_Delete = 1<<UFB_Delete
- UFN_NoFree = 1<<UFB_NoFree
- UFN_Banner = 1<<UFB_Banner
- UFN_NoLoad = 1<<UFB_NoLoad
- UFN_Protect = 1<<UFB_Protect
-
-
- ; And Now For The UI_CrunchType Flag:
-
- CRU_Archive = 1 ;Archive (Lha, Zoo Etc.)
- CRU_Data = 2 ;Data File
- CRU_Object = 3 ;Object File
- CRU_Object2 = 4 ;2 Segment Object File
- CRU_Track = 5 ;Track File (DMS) (V36+)
-
- CRUB_Encryp = 7 ;Encrypted File (If Bit Is Set)
-
-
- ; And The Error Flag:
-
- ERR_Open = 1 ;Can't Open File
- ERR_ReadWrite = 2 ;Read/Write Error
- ERR_Memory = 3 ;Allocation Error (Out Of Memory)
- ERR_Determine = 4 ;Can't Determine File
- ERR_Password = 5 ;Illegal Password
- ERR_Hunk = 6 ;Hunk Error
- ERR_Extern = 7 ;Extern File Error
-
- ERR_Currupt = 8 ;Crunched File Is Currupt (V35+)
-
- ERR_Device = 9 ;Illegal Device (V36+)
- ERR_DevOpen = 10 ;Couldn't Opn Dev. Or Create Port V36+
- ERR_CRC = 11 ;CRC Checksum Error (V36+)
- ERR_CheckSum = 12 ;Checksum Error (V36+)
- ERR_Old = 13 ;Decruncher In Lib. Too Old (V36+)
- ERR_DevErr = 14 ;Error From Device (V36+)
-
- ERR_Protect = 15 ;Couldn't Set Protection Bits (V38+)
-
- ERR_Output = 16 ;Output File Error (V39+)
-
- ; At Last The Cruncher Numbers:
-
- MaxFilePack = 12
-
- CN_Lha = 1 ;Lha
- CN_LhaSFX = 2 ;LhaSFX
- CN_Pak10 = 3 ;Pak 1.0
- CN_Dms = 4 ;Dms
-
- CN_GnuPack10D = 12 ;Gnu Packer 1.0 D
- CN_GnuPack12D = 13 ;Gnu Packer 1.1/1.2 D
- CN_GnuPack12Two = 14 ;Gnu Packer 1.1/1.2 Two Segment
- CN_GnuPack10 = 15 ;Gnu Packer 1.0
- CN_GnuPack12 = 16 ;Gnu Packer 1.1/1.2 One Segment
- CN_PPData = 17 ;PowerPacker Data
- CN_PPDataE = 18 ;PowerPacker Data/Encrypted
- CN_PPLoadSeg = 19 ;PowerPacker LoadSeg
- CN_PPLib = 20 ;PowerPacker Library
- CN_PPLibE = 21 ;PowerPacker Library/Encrypted
- CN_PPLibOv = 22 ;PowerPacker Library/Overlayed
- CN_PP2x = 23 ;PowerPacker 2.x
- CN_PP30 = 24 ;PowerPacker 3.0
- CN_PP30E = 25 ;PowerPacker 3.0 Encrypted
- CN_PP30Ov = 26 ;PowerPacker 3.0 Overlayed
- CN_PP41 = 27 ;PowerPacker 4.0-4.1
- CN_PP41E = 28 ;PowerPacker 4.0-4.1 Encrypted
- CN_PP41Ov = 29 ;PowerPacker 4.0-4.1 Overlayed
- CN_Turtle13 = 30 ;Turtle Smasher 1.3
- CN_TSqueeze80 = 31 ;TurboSqueezer 8.0
- CN_TSqueeze80S = 32 ;TurboSqueezer 8.0 Small
- CN_TryIt101 = 33 ;TryIt 1.01
- CN_Titanic11 = 34 ;Titanics Cruncher 1.1
- CN_Titanic12 = 35 ;Titanics Cruncher 1.2
- CN_Time22 = 36 ;Time Cruncher 1.7-2.2
- CN_Tetra21 = 37 ;TetraPacker 2.1
- CN_Tetra21Pro = 38 ;TetraPacker 2.1 Pro
- CN_Tetra22 = 39 ;TetraPacker 2.2
- CN_Tetra22Pro = 40 ;TetraPacker 2.2 Pro
- CN_Tetra102 = 41 ;TetraCrunch 1.02
- CN_Tetra11 = 42 ;TetraCrunch 1.1
- CN_Stone299d = 43 ;Stone Cracker 2.99d
- CN_Stone311 = 44 ;Stone Cracker 3.11
- CN_Stone401A = 45 ;Stone Cracker 4.01 A
- CN_Imploder31 = 46 ;Imploder 1.0-3.1
- CN_Imploder31P = 47 ;Imploder 1.0-3.1 Protected
- CN_Imploder31L = 48 ;Imploder 1.0-3.1 Library
- CN_Imploder31LP = 49 ;Imploder 1.0-3.1 Library/Protected
- CN_Imploder40 = 50 ;Imploder 4.0
- CN_Imploder40L = 51 ;Imploder 4.0 Library
- CN_BlkDec21 = 52 ;Black & Decker 2.0-2.1
- CN_BytKil20 = 53 ;ByteKiller 2.0
- CN_BytKil30 = 54 ;ByteKiller 3.0
- CN_TNMCrun11 = 55 ;TNM Cruncher 1.1
- CN_CrunMast10 = 56 ;Crunch Master 1.0
- CN_CrMania14A = 57 ;Crunch Mania 1.4-1.9t A
- CN_CrMania14AP = 58 ;Crunch Mania 1.4-1.8 A/P
- CN_CrMania14D = 59 ;Crunch Mania 1.4-1.9t D
- CN_CrMania18R = 60 ;Crunch Mania 1.4-1.9t R
- CN_CrMania18RS = 61 ;Crunch Mania 1.4-1.9t R/S
- CN_CrMania18RL = 62 ;Crunch Mania 1.8-1.9t R/L
- CN_CrMania18RLH = 63 ;Crunch Mania 1.8-1.9t R/L/H
- CN_CrMania18RH = 64 ;Crunch Mania 1.8-1.9t R/H
- CN_CrMania18DH = 65 ;Crunch Mania 1.8-1.9t D/H
- CN_CrMania18DHS = 66 ;Crunch Mania 1.8-1.9t D/H/S
- CN_CrMania18DS = 67 ;Crunch Mania 1.8-1.9t D/S
- CN_DoubAction10 = 68 ;Double Action 1.0
- CN_DragPack10 = 69 ;DragPack 1.0
- CN_House14 = 70 ;House 1.4 (RSI-Packer)
- CN_HPC = 71 ;High Pressure Cruncher
- CN_HPCU = 72 ;High Pressure Cruncher U
- CN_IAM10Ice = 73 ;IAM Packer Pro 1.0 Ice
- CN_IAM10IceD = 74 ;IAM Packer Pro 1.0 Ice/D
- CN_IAM10Atm5 = 75 ;IAM Packer Pro 1.0 Atm5
- CN_IAM10Atm5D = 76 ;IAM Packer Pro 1.0 Atm5/D
- CN_ISC15P1 = 77 ;ISC 1.5 Pass 1
- CN_ISC15P2 = 78 ;ISC 1.5 Pass 2
- CN_ISC15P3 = 79 ;ISC 1.5 Pass 3
- CN_MastCrun31A = 80 ;Master Cruncher 3.0-3.1 A
- CN_MastCrun31R = 81 ;Master Cruncher 3.0-3.1 R
- CN_MastCrun31D = 82 ;Master Cruncher 3.0-3.1 D
- CN_MegaCrun10 = 83 ;Megacruncher 1.0
- CN_MegaCrun12A = 84 ;Megacruncher 1.2 A
- CN_MegaCrun12R = 85 ;Megacruncher 1.2 R
- CN_Defjam36 = 86 ;Defjam 3.2-3.6
- CN_Defjam36Pro = 87 ;Defjam 3.2-3.6 Pro
- CN_PackIt10 = 88 ;PackIt 1.0
- CN_PackIt10D = 89 ;PackIt 1.0 D
- CN_Relokit10 = 90 ;Relokit 1.0
- CN_Spike15 = 91 ;Spike Cruncher 1.1-1.5
- CN_SuperCrun27 = 92 ;Super Cruncher 2.7
- CN_Syncro46 = 93 ;Syncro Packer 4.6
- CN_Syncro46K = 94 ;Syncro Packer 4.6 K
- CN_Syncro46R = 95 ;Syncro Packer 4.6 R
- CN_Syncro46RK = 96 ;Syncro Packer 4.6 R/K
- CN_Stone400 = 97 ;Stone Cracker 4.00
- CN_Stone400D = 98 ;Stone Cracker 4.00 D
- CN_Stone401C = 99 ;Stone Cracker 4.01 C
- CN_Stone401D = 100 ;Stone Cracker 4.01 D
- CN_XpkBLZW = 101 ;XPK-BLZW
- CN_XpkCBR0 = 102 ;XPK-CBR0
- CN_XpkDLTA = 103 ;XPK-DLTA
- CN_XpkFEAL = 104 ;XPK-FEAL
- CN_XpkHUFF = 105 ;XPK-HUFF
- CN_XpkIDEA = 106 ;XPK-IDEA
- CN_XpkIMPL = 107 ;XPK-IMPL
- CN_XpkNONE = 108 ;XPK-NONE
- CN_XpkNUKE = 109 ;XPK-NUKE
- CN_XpkRDCN = 110 ;XPK-RDCN
- CN_XpkRLEN = 111 ;XPK-RLEN
- CN_XpkSHRI = 112 ;XPK-SHRI
- CN_MaxPacker12 = 113 ;MaxPacker 1.2
- CN_PMC = 114 ;PMC Cruncher
- CN_Stone271 = 115 ;Stone Cracker 2.6a-2.71
- CN_Stone271K = 116 ;Stone Cracker 2.6a-2.71 K
- CN_Stone310 = 117 ;Stone Cracker 3.10
- CN_Stone402 = 118 ;Stone Cracker 4.02a
- CN_Stone402A = 119 ;Stone Cracker 4.02a A
- CN_Stone402D = 120 ;Stone Cracker 4.02a D
- CN_Stone402L = 121 ;Stone Cracker 4.02a L
- CN_Turtle200 = 122 ;Turtle Smasher 2.00
- CN_Turtle200D = 123 ;Turtle Smasher 2.00 D
- CN_ANC = 124 ;ANC-Cruncher
- CN_DisImp10 = 125 ;Discovery File Imploder 1.0
- CN_HQC20 = 126 ;HQC Cruncher 2.0
- CN_XpkCRM2 = 127 ;XPK-CRM2
- CN_XpkENCO = 128 ;XPK-ENCO
- CN_XpkFAST = 129 ;XPK-FAST
- CN_Stone292 = 130 ;Stone Cracker 2.92
- CN_Stone299 = 131 ;Stone Cracker 2.99
- CN_PCompress29 = 132 ;P-Compress 2.9
- CN_CrMania19AP = 133 ;Crunch Mania 1.9t A/P
- CN_CrMania19AH = 134 ;Crunch Mania 1.9t A/H
- CN_CrMania19AHP = 135 ;Crunch Mania 1.9t A/H/P
- CN_TSqueeze61 = 136 ;TurboSqueezer 6.1
- CN_FlashSpeed10 = 137 ;FlashSpeed 1.0
- CN_BytKilPro10 = 138 ;ByteKiller 1.0 Pro
- CN_BytKilPro10K = 139 ;ByteKiller 1.0 Pro K
- CN_Stone401bA = 140 ;Stone Cracker 4.01ß A
- CN_TrashEli10 = 141 ;Trash Eliminator 1.0
- CN_Ultimate11b = 142 ;Ultimate Packer 1.1b
- CN_TFA154 = 143 ;TFA Cruncher 1.54
- CN_SExec11 = 144 ;S-Exec 1.1
- CN_Stone4102 = 145 ;Stone Cracker 4.10.2
- CN_Stone4102A = 146 ;Stone Cracker 4.10.2 A
- CN_Stone4102AP = 147 ;Stone Cracker 4.10.2 A/Plain
- CN_Stone4102APr = 148 ;Stone Cracker 4.10.2 A/Pro
- CN_Stone4102D = 149 ;Stone Cracker 4.10.2 D
- CN_Stone4102L = 150 ;Stone Cracker 4.10.2 L
- CN_DragPack252 = 151 ;DragPack 2.52
- CN_DragPack252D = 152 ;DragPack 2.52 D
- CN_Stone300 = 153 ;Stone Cracker 3.00
- CN_Stone300D = 154 ;Stone Cracker 3.00 D
- CN_Stone300K = 155 ;Stone Cracker 3.00 K
- CN_XpkSQSH = 156 ;XPK-SQSH
-
- ; This Label Will Be Deleted Later On
-
- CN_ComCra11 = CN_TNMCrun11 ;Compressor Crackings Inc. V1.1
- ENDC
-