1 #ifndef LIBRARIES_XFDMASTER_H 2 #define LIBRARIES_XFDMASTER_H 3 4 /* 5 ** $VER: xfdmaster.h 39.5 (31.08.2002) 6 ** 7 ** Copyright © 1994-2002 by Georg Hörmann, Dirk Stöcker 8 ** All Rights Reserved. 9 */ 10 11 #ifndef EXEC_LIBRARIES_H 12 #include <exec/libraries.h> 13 #endif 14 15 #pragma pack(2) 16 17 /********************* 18 * * 19 * Library Base * 20 * * 21 *********************/ 22 23 struct xfdMasterBase { 24 struct Library LibNode; 25 ULONG xfdm_SegList; /* PRIVATE! */ 26 struct DosLibrary * xfdm_DosBase; /* May be used for I/O etc. */ 27 struct xfdSlave * xfdm_FirstSlave; /* List of available slaves */ 28 struct xfdForeMan * xfdm_FirstForeMan; /* PRIVATE! */ 29 ULONG xfdm_MinBufferSize;/* (V36) Min. BufSize for xfdRecogBuffer() */ 30 ULONG xfdm_MinLinkerSize;/* (V36) Min. BufSize for xfdRecogLinker() */ 31 struct ExecBase * xfdm_ExecBase; /* (V38.2) Cached for fast access */ 32 }; 33 34 #define XFDM_VERSION 39 /* for OpenLibrary() */ 35 #define XFDM_NAME "xfdmaster.library" 36 37 /*************************** 38 * * 39 * Object Types (V36) * 40 * * 41 ***************************/ 42 43 #define XFDOBJ_BUFFERINFO 1 /* xfdBufferInfo structure */ 44 #define XFDOBJ_SEGMENTINFO 2 /* xfdSegmentInfo structure */ 45 #define XFDOBJ_LINKERINFO 3 /* xfdLinkerInfo structure */ 46 #define XFDOBJ_SCANNODE 4 /* (V37) xfdScanNode structure */ 47 #define XFDOBJ_SCANHOOK 5 /* (V37) xfdScanHook structure */ 48 #define XFDOBJ_MAX 5 /* PRIVATE! */ 49 50 /******************** 51 * * 52 * Buffer Info * 53 * * 54 ********************/ 55 56 struct xfdBufferInfo { 57 APTR xfdbi_SourceBuffer; /* Pointer to source buffer */ 58 ULONG xfdbi_SourceBufLen; /* Length of source buffer */ 59 struct xfdSlave *xfdbi_Slave; /* PRIVATE! */ 60 STRPTR xfdbi_PackerName; /* Name of recognized packer */ 61 UWORD xfdbi_PackerFlags; /* Flags for recognized packer */ 62 UWORD xfdbi_Error; /* Error return code */ 63 APTR xfdbi_TargetBuffer; /* Pointer to target buffer */ 64 ULONG xfdbi_TargetBufMemType;/* Memtype of target buffer */ 65 ULONG xfdbi_TargetBufLen; /* Full length of buffer */ 66 ULONG xfdbi_TargetBufSaveLen;/* Used length of buffer */ 67 ULONG xfdbi_DecrAddress; /* Address to load decrunched file */ 68 ULONG xfdbi_JmpAddress; /* Address to jump in file */ 69 APTR xfdbi_Special; /* Special decrunch info (eg. password) */ 70 UWORD xfdbi_Flags; /* (V37) Flags to influence recog/decr */ 71 UWORD xfdbi_Reserved0; /* (V38) PRIVATE! */ 72 ULONG xfdbi_MinTargetLen; /* (V38) Required length of target buffer */ 73 ULONG xfdbi_FinalTargetLen; /* (V38) Final length of decrunched file */ 74 APTR xfdbi_UserTargetBuf; /* (V38) Target buffer allocated by user */ 75 ULONG xfdbi_UserTargetBufLen;/* (V38) Target buffer length */ 76 ULONG xfdbi_MinSourceLen; /* (V39) minimum source length (tested by 77 master library */ 78 }; 79 80 #define xfdbi_MaxSpecialLen xfdbi_Error /* Max. length of special info */ 81 82 /********************* 83 * * 84 * Segment Info * 85 * * 86 *********************/ 87 88 struct xfdSegmentInfo { 89 ULONG xfdsi_SegList; /* BPTR to segment list */ 90 struct xfdSlave *xfdsi_Slave; /* PRIVATE! */ 91 STRPTR xfdsi_PackerName; /* Name of recognized packer */ 92 UWORD xfdsi_PackerFlags; /* Flags for recognized packer */ 93 UWORD xfdsi_Error; /* Error return code */ 94 APTR xfdsi_Special; /* Special decrunch info (eg. password) */ 95 UWORD xfdsi_RelMode; /* (V34) Relocation mode */ 96 UWORD xfdsi_Flags; /* (V37) Flags to influence recog/decr */ 97 }; 98 99 #define xfdsi_MaxSpecialLen xfdsi_Error /* Max. length of special info */ 100 101 /************************** 102 * * 103 * Linker Info (V36) * 104 * * 105 **************************/ 106 107 struct xfdLinkerInfo { 108 APTR xfdli_Buffer; /* Pointer to buffer */ 109 ULONG xfdli_BufLen; /* Length of buffer */ 110 STRPTR xfdli_LinkerName; /* Name of recognized linker */ 111 APTR xfdli_Unlink; /* PRIVATE! */ 112 UWORD xfdli_Reserved; /* Set to NULL */ 113 UWORD xfdli_Error; /* Error return code */ 114 ULONG xfdli_Hunk1; /* PRIVATE! */ 115 ULONG xfdli_Hunk2; /* PRIVATE! */ 116 ULONG xfdli_Amount1; /* PRIVATE! */ 117 ULONG xfdli_Amount2; /* PRIVATE! */ 118 APTR xfdli_Save1; /* Pointer to first unlinked file */ 119 APTR xfdli_Save2; /* Pointer to second unlinked file */ 120 ULONG xfdli_SaveLen1; /* Length of first unlinked file */ 121 ULONG xfdli_SaveLen2; /* Length of second unlinked file */ 122 }; 123 124 /************************ 125 * * 126 * Scan Node (V37) * 127 * * 128 ************************/ 129 130 struct xfdScanNode { 131 struct xfdScanNode *xfdsn_Next; /* Pointer to next xfdScanNode or NULL */ 132 APTR xfdsn_Save; /* Pointer to data */ 133 ULONG xfdsn_SaveLen; /* Length of data */ 134 STRPTR xfdsn_PackerName; /* Name of recognized packer */ 135 UWORD xfdsn_PackerFlags;/* Flags for recognized packer */ 136 }; 137 138 /************************ 139 * * 140 * Scan Hook (V37) * 141 * * 142 ************************/ 143 144 struct xfdScanHook { 145 BOOL (* xfdsh_Entry)(void); /* Entrypoint of hook code */ 146 APTR xfdsh_Data; /* Private data of hook */ 147 ULONG xfdsh_ToDo; /* Bytes still to scan (READ ONLY) */ 148 ULONG xfdsh_ScanNode; /* Found data right now (or NULL) (READ ONLY) */ 149 }; 150 151 /******************** 152 * * 153 * Error Codes * 154 * * 155 ********************/ 156 157 #define XFDERR_OK 0x0000 /* No errors */ 158 159 #define XFDERR_NOMEMORY 0x0001 /* Error allocating memory */ 160 #define XFDERR_NOSLAVE 0x0002 /* No slave entry in info structure */ 161 #define XFDERR_NOTSUPPORTED 0x0003 /* Slave doesn't support called function */ 162 #define XFDERR_UNKNOWN 0x0004 /* Unknown file */ 163 #define XFDERR_NOSOURCE 0x0005 /* No sourcebuffer/seglist specified */ 164 #define XFDERR_WRONGPASSWORD 0x0006 /* Wrong password for decrunching */ 165 #define XFDERR_BADHUNK 0x0007 /* Bad hunk structure */ 166 #define XFDERR_CORRUPTEDDATA 0x0008 /* Crunched data is corrupted */ 167 #define XFDERR_MISSINGRESOURCE 0x0009 /* (V34) Missing resource (eg. library) */ 168 #define XFDERR_WRONGKEY 0x000a /* (V35) Wrong 16/32 bit key */ 169 #define XFDERR_BETTERCPU 0x000b /* (V37) Better CPU required */ 170 #define XFDERR_HOOKBREAK 0x000c /* (V37) Hook caused break */ 171 #define XFDERR_DOSERROR 0x000d /* (V37) Dos error */ 172 #define XFDERR_NOTARGET 0x000e /* (V38) No user target given */ 173 #define XFDERR_TARGETTOOSMALL 0x000f /* (V38) User target is too small */ 174 #define XFDERR_TARGETNOTSUPPORTED 0x0010 /* (V38) User target not supported */ 175 176 #define XFDERR_UNDEFINEDHUNK 0x1000 /* (V34) Undefined hunk type */ 177 #define XFDERR_NOHUNKHEADER 0x1001 /* (V34) File is not executable */ 178 #define XFDERR_BADEXTTYPE 0x1002 /* (V34) Bad hunk_ext type */ 179 #define XFDERR_BUFFERTRUNCATED 0x1003 /* (V34) Unexpected end of file */ 180 #define XFDERR_WRONGHUNKAMOUNT 0x1004 /* (V34) Wrong amount of hunks */ 181 #define XFDERR_NOOVERLAYS 0x1005 /* (V36) Overlays not allowed */ 182 183 #define XFDERR_UNSUPPORTEDHUNK 0x2000 /* (V34) Hunk type not supported */ 184 #define XFDERR_BADRELMODE 0x2001 /* (V34) Unknown XFDREL_#? mode */ 185 186 /******************************* 187 * * 188 * Relocation Modes (V34) * 189 * * 190 *******************************/ 191 192 #define XFDREL_DEFAULT 0x0000 /* Use memory types given by hunk_header */ 193 #define XFDREL_FORCECHIP 0x0001 /* Force all hunks to chip ram */ 194 #define XFDREL_FORCEFAST 0x0002 /* Force all hunks to fast ram */ 195 196 /************************************* 197 * * 198 * Values for xfd??_PackerFlags * 199 * * 200 *************************************/ 201 202 /* Bit numbers */ 203 #define XFDPFB_RELOC 0 /* Relocatible file packer */ 204 #define XFDPFB_ADDR 1 /* Absolute address file packer */ 205 #define XFDPFB_DATA 2 /* Data file packer */ 206 207 #define XFDPFB_PASSWORD 4 /* Packer requires password */ 208 #define XFDPFB_RELMODE 5 /* (V34) Decruncher supports xfdsi_RelMode */ 209 #define XFDPFB_KEY16 6 /* (V35) Packer requires 16 bit key */ 210 #define XFDPFB_KEY32 7 /* (V35) Packer requires 32 bit key */ 211 212 #define XFDPFB_RECOGLEN 8 /* (V38) slave recognizes target lengths */ 213 #define XFDPFB_USERTARGET 9 /* (V38) slave supports user target buffer */ 214 215 #define XFDPFB_EXTERN 15 /* (V37) PRIVATE */ 216 217 /* Bit masks */ 218 #define XFDPFF_RELOC (1<<XFDPFB_RELOC) 219 #define XFDPFF_ADDR (1<<XFDPFB_ADDR) 220 #define XFDPFF_DATA (1<<XFDPFB_DATA) 221 222 #define XFDPFF_PASSWORD (1<<XFDPFB_PASSWORD) 223 #define XFDPFF_RELMODE (1<<XFDPFB_RELMODE) 224 #define XFDPFF_KEY16 (1<<XFDPFB_KEY16) 225 #define XFDPFF_KEY32 (1<<XFDPFB_KEY32) 226 227 #define XFDPFF_RECOGLEN (1<<XFDPFB_RECOGLEN) 228 #define XFDPFF_USERTARGET (1<<XFDPFB_USERTARGET) 229 230 #define XFDPFF_EXTERN (1<<XFDPFB_EXTERN) 231 232 /************************************ 233 * * 234 * Values for xfd??_Flags (V37) * 235 * * 236 ************************************/ 237 238 /* Bit numbers */ 239 #define XFDFB_RECOGEXTERN 0 /* xfdRecog#?() uses external slaves */ 240 #define XFDFB_RECOGTARGETLEN 1 /* (V38) xfdRecogBuffer() uses only slaves 241 that recognize target lengths */ 242 #define XFDFB_RECOGUSERTARGET 2 /* (V38) xfdRecogBuffer() uses only slaves 243 that support user targets */ 244 #define XFDFB_USERTARGET 3 /* (V38) xfdbi_DecrunchBuffer() decrunchs 245 to given xfdbi_UserTarget */ 246 #define XFDFB_MASTERALLOC 4 /* (V39) master allocated decrunch buffer */ 247 248 /* Bit masks */ 249 #define XFDFF_RECOGEXTERN (1<<XFDFB_RECOGEXTERN) 250 #define XFDFF_RECOGTARGETLEN (1<<XFDFB_RECOGTARGETLEN) 251 #define XFDFF_RECOGUSERTARGET (1<<XFDFB_RECOGUSERTARGET) 252 #define XFDFF_USERTARGET (1<<XFDFB_USERTARGET) 253 #define XFDFF_MASTERALLOC (1<<XFDFB_MASTERALLOC) 254 255 /**************************************************** 256 * * 257 * Flags for xfdTestHunkStructureFlags() (V36) * 258 * * 259 ****************************************************/ 260 261 /* Bit numbers */ 262 #define XFDTHB_NOOVERLAYS 0 /* Abort on hunk_overlay */ 263 264 /* Bit masks */ 265 #define XFDTHF_NOOVERLAYS (1<<XFDTHB_NOOVERLAYS) 266 267 /**************************************** 268 * * 269 * Flags for xfdStripHunks() (V36) * 270 * * 271 ****************************************/ 272 273 /* Bit numbers */ 274 #define XFDSHB_NAME 0 /* Strip hunk_name */ 275 #define XFDSHB_SYMBOL 1 /* Strip hunk_symbol */ 276 #define XFDSHB_DEBUG 2 /* Strip hunk_debug */ 277 278 /* Bit masks */ 279 #define XFDSHF_NAME (1<<XFDSHB_NAME) 280 #define XFDSHF_SYMBOL (1<<XFDSHB_SYMBOL) 281 #define XFDSHF_DEBUG (1<<XFDSHB_DEBUG) 282 283 /************************************** 284 * * 285 * Flags for xfdScanData() (V37) * 286 * * 287 **************************************/ 288 289 /* Bit numbers */ 290 #define XFDSDB_USEEXTERN 0 /* Use external slaves for scanning */ 291 #define XFDSDB_SCANODD 1 /* Scan at odd addresses too */ 292 293 /* Bit masks */ 294 #define XFDSDF_USEEXTERN (1<<XFDSDB_USEEXTERN) 295 #define XFDSDF_SCANODD (1<<XFDSDB_SCANODD) 296 297 /**************** 298 * * 299 * Foreman * 300 * * 301 ****************/ 302 303 struct xfdForeMan { 304 ULONG xfdf_Security; /* moveq #-1,d0 ; rts */ 305 ULONG xfdf_ID; /* Set to XFDF_ID */ 306 UWORD xfdf_Version; /* Set to XFDF_VERSION */ 307 UWORD xfdf_Reserved; /* Not used by now, set to NULL */ 308 ULONG xfdf_Next; /* PRIVATE! */ 309 ULONG xfdf_SegList; /* PRIVATE! */ 310 struct xfdSlave *xfdf_FirstSlave; /* First slave (see below) */ 311 }; 312 313 #define XFDF_ID (('X'<<24)|('F'<<16)|('D'<<8)|('F')) 314 #define XFDF_VERSION 1 315 316 /************** 317 * * 318 * Slave * 319 * * 320 **************/ 321 322 struct xfdSlave { 323 struct xfdSlave *xfds_Next; /* Next slave (or NULL) */ 324 UWORD xfds_Version; /* Set to XFDS_VERSION */ 325 UWORD xfds_MasterVersion; /* Minimum XFDM_VERSION required */ 326 STRPTR xfds_PackerName; /* Name of packer ('\0' terminated) */ 327 UWORD xfds_PackerFlags; /* Flags for packer */ 328 UWORD xfds_MaxSpecialLen; /* Max. length of special info (eg. password) */ 329 BOOL (* xfds_RecogBuffer)(void); /* buffer recognition code (or NULL) */ 330 BOOL (* xfds_DecrunchBuffer)(void); /* buffer decrunch code (or NULL) */ 331 BOOL (* xfds_RecogSegment)(void); /* segment recognition code (or NULL) */ 332 BOOL (* xfds_DecrunchSegment)(void);/* segment decrunch code (or NULL) */ 333 UWORD xfds_SlaveID; /* (V36) Slave ID (only internal slaves) */ 334 UWORD xfds_ReplaceID; /* (V36) ID of slave to be replaced */ 335 ULONG xfds_MinBufferSize; /* (V36) Min. BufSize for RecogBufferXYZ() */ 336 }; 337 338 #define xfds_ScanData xfds_RecogSegment /* (V37) XFDPFB_DATA: Scan code (or NULL) */ 339 #define xfds_VerifyData xfds_DecrunchSegment /* (V37) XFDPFB_DATA: Verify code (or NULL) */ 340 341 #define XFDS_VERSION 2 342 343 /********************************************* 344 * * 345 * Additional Recognition Results (V38) * 346 * * 347 *********************************************/ 348 349 struct xfdRecogResult { 350 ULONG xfdrr_MinTargetLen; /* Min. required length of target buffer */ 351 ULONG xfdrr_FinalTargetLen; /* Final length of decrunched file */ 352 ULONG xfdrr_MinSourceLen; /* (V39) minimum size of source file */ 353 }; 354 355 /********************************* 356 * * 357 * Internal Slave IDs (V36) * 358 * * 359 *********************************/ 360 361 #define XFDID_BASE 0x8000 362 363 #define XFDID_PowerPacker23 (XFDID_BASE+0x0001) 364 #define XFDID_PowerPacker30 (XFDID_BASE+0x0003) 365 #define XFDID_PowerPacker30Enc (XFDID_BASE+0x0005) 366 #define XFDID_PowerPacker30Ovl (XFDID_BASE+0x0007) 367 #define XFDID_PowerPacker40 (XFDID_BASE+0x0009) 368 #define XFDID_PowerPacker40Lib (XFDID_BASE+0x000a) 369 #define XFDID_PowerPacker40Enc (XFDID_BASE+0x000b) 370 #define XFDID_PowerPacker40LibEnc (XFDID_BASE+0x000c) 371 #define XFDID_PowerPacker40Ovl (XFDID_BASE+0x000d) 372 #define XFDID_PowerPacker40LibOvl (XFDID_BASE+0x000e) 373 #define XFDID_PowerPackerData (XFDID_BASE+0x000f) 374 #define XFDID_PowerPackerDataEnc (XFDID_BASE+0x0010) 375 #define XFDID_ByteKiller13 (XFDID_BASE+0x0011) 376 #define XFDID_ByteKiller20 (XFDID_BASE+0x0012) 377 #define XFDID_ByteKiller30 (XFDID_BASE+0x0013) 378 #define XFDID_ByteKillerPro10 (XFDID_BASE+0x0014) 379 #define XFDID_ByteKillerPro10Pro (XFDID_BASE+0x0015) 380 #define XFDID_DragPack10 (XFDID_BASE+0x0016) 381 #define XFDID_TNMCruncher11 (XFDID_BASE+0x0017) 382 #define XFDID_HQCCruncher20 (XFDID_BASE+0x0018) 383 #define XFDID_RSICruncher14 (XFDID_BASE+0x0019) 384 #define XFDID_ANCCruncher (XFDID_BASE+0x001a) 385 #define XFDID_ReloKit10 (XFDID_BASE+0x001b) 386 #define XFDID_HighPressureCruncher (XFDID_BASE+0x001c) 387 #define XFDID_STPackedSong (XFDID_BASE+0x001d) 388 #define XFDID_TSKCruncher (XFDID_BASE+0x001e) 389 #define XFDID_LightPack15 (XFDID_BASE+0x001f) 390 #define XFDID_CrunchMaster10 (XFDID_BASE+0x0020) 391 #define XFDID_HQCCompressor100 (XFDID_BASE+0x0021) 392 #define XFDID_FlashSpeed10 (XFDID_BASE+0x0022) 393 #define XFDID_CrunchManiaData (XFDID_BASE+0x0023) 394 #define XFDID_CrunchManiaDataEnc (XFDID_BASE+0x0024) 395 #define XFDID_CrunchManiaLib (XFDID_BASE+0x0025) 396 #define XFDID_CrunchManiaNormal (XFDID_BASE+0x0026) 397 #define XFDID_CrunchManiaSimple (XFDID_BASE+0x0027) 398 #define XFDID_CrunchManiaAddr (XFDID_BASE+0x0028) 399 #define XFDID_DefJamCruncher32 (XFDID_BASE+0x0029) 400 #define XFDID_DefJamCruncher32Pro (XFDID_BASE+0x002a) 401 #define XFDID_TetraPack102 (XFDID_BASE+0x002b) 402 #define XFDID_TetraPack11 (XFDID_BASE+0x002c) 403 #define XFDID_TetraPack21 (XFDID_BASE+0x002d) 404 #define XFDID_TetraPack21Pro (XFDID_BASE+0x002e) 405 #define XFDID_TetraPack22 (XFDID_BASE+0x002f) 406 #define XFDID_TetraPack22Pro (XFDID_BASE+0x0030) 407 #define XFDID_DoubleAction10 (XFDID_BASE+0x0031) 408 #define XFDID_DragPack252Data (XFDID_BASE+0x0032) 409 #define XFDID_DragPack252 (XFDID_BASE+0x0033) 410 #define XFDID_FCG10 (XFDID_BASE+0x0034) 411 #define XFDID_Freeway07 (XFDID_BASE+0x0035) 412 #define XFDID_IAMPacker10ATM5Data (XFDID_BASE+0x0036) 413 #define XFDID_IAMPacker10ATM5 (XFDID_BASE+0x0037) 414 #define XFDID_IAMPacker10ICEData (XFDID_BASE+0x0038) 415 #define XFDID_IAMPacker10ICE (XFDID_BASE+0x0039) 416 #define XFDID_Imploder (XFDID_BASE+0x003a) 417 #define XFDID_ImploderLib (XFDID_BASE+0x003b) 418 #define XFDID_ImploderOvl (XFDID_BASE+0x003c) 419 #define XFDID_FileImploder (XFDID_BASE+0x003d) 420 #define XFDID_MasterCruncher30Addr (XFDID_BASE+0x003f) 421 #define XFDID_MasterCruncher30 (XFDID_BASE+0x0040) 422 #define XFDID_MaxPacker12 (XFDID_BASE+0x0041) 423 #define XFDID_PackIt10Data (XFDID_BASE+0x0042) 424 #define XFDID_PackIt10 (XFDID_BASE+0x0043) 425 #define XFDID_PMCNormal (XFDID_BASE+0x0044) 426 #define XFDID_PMCSample (XFDID_BASE+0x0045) 427 #define XFDID_XPKPacked (XFDID_BASE+0x0046) 428 #define XFDID_XPKCrypted (XFDID_BASE+0x0047) 429 #define XFDID_TimeCruncher17 (XFDID_BASE+0x0048) 430 #define XFDID_TFACruncher154 (XFDID_BASE+0x0049) 431 #define XFDID_TurtleSmasher13 (XFDID_BASE+0x004a) 432 #define XFDID_MegaCruncher10 (XFDID_BASE+0x004b) 433 #define XFDID_MegaCruncher12 (XFDID_BASE+0x004c) 434 #define XFDID_ProPack (XFDID_BASE+0x004d) 435 #define XFDID_ProPackData (XFDID_BASE+0x004e) 436 #define XFDID_ProPackDataKey (XFDID_BASE+0x004f) 437 #define XFDID_STCruncher10 (XFDID_BASE+0x0050) 438 #define XFDID_STCruncher10Data (XFDID_BASE+0x0051) 439 #define XFDID_SpikeCruncher (XFDID_BASE+0x0052) 440 #define XFDID_SyncroPacker46 (XFDID_BASE+0x0053) 441 #define XFDID_SyncroPacker46Pro (XFDID_BASE+0x0054) 442 #define XFDID_TitanicsCruncher11 (XFDID_BASE+0x0055) 443 #define XFDID_TitanicsCruncher12 (XFDID_BASE+0x0056) 444 #define XFDID_TryItCruncher101 (XFDID_BASE+0x0057) 445 #define XFDID_TurboSqueezer61 (XFDID_BASE+0x0058) 446 #define XFDID_TurboSqueezer80 (XFDID_BASE+0x0059) 447 #define XFDID_TurtleSmasher200 (XFDID_BASE+0x005a) 448 #define XFDID_TurtleSmasher200Data (XFDID_BASE+0x005b) 449 #define XFDID_StoneCracker270 (XFDID_BASE+0x005c) 450 #define XFDID_StoneCracker270Pro (XFDID_BASE+0x005d) 451 #define XFDID_StoneCracker292 (XFDID_BASE+0x005e) 452 #define XFDID_StoneCracker299 (XFDID_BASE+0x005f) 453 #define XFDID_StoneCracker299d (XFDID_BASE+0x0060) 454 #define XFDID_StoneCracker300 (XFDID_BASE+0x0061) 455 #define XFDID_StoneCracker300Data (XFDID_BASE+0x0062) 456 #define XFDID_StoneCracker310 (XFDID_BASE+0x0063) 457 #define XFDID_StoneCracker310Data (XFDID_BASE+0x0064) 458 #define XFDID_StoneCracker311 (XFDID_BASE+0x0065) 459 #define XFDID_StoneCracker400 (XFDID_BASE+0x0066) 460 #define XFDID_StoneCracker400Data (XFDID_BASE+0x0067) 461 #define XFDID_StoneCracker401 (XFDID_BASE+0x0068) 462 #define XFDID_StoneCracker401Data (XFDID_BASE+0x0069) 463 #define XFDID_StoneCracker401Addr (XFDID_BASE+0x006a) 464 #define XFDID_StoneCracker401BetaAddr (XFDID_BASE+0x006b) 465 #define XFDID_StoneCracker403Data (XFDID_BASE+0x006c) 466 #define XFDID_StoneCracker404 (XFDID_BASE+0x006d) 467 #define XFDID_StoneCracker404Data (XFDID_BASE+0x006e) 468 #define XFDID_StoneCracker404Addr (XFDID_BASE+0x006f) 469 #define XFDID_ChryseisCruncher09 (XFDID_BASE+0x0070) 470 #define XFDID_QuickPowerPacker10 (XFDID_BASE+0x0071) 471 #define XFDID_GNUPacker12 (XFDID_BASE+0x0072) 472 #define XFDID_GNUPacker12Seg (XFDID_BASE+0x0073) 473 #define XFDID_GNUPacker12Data (XFDID_BASE+0x0074) 474 #define XFDID_TrashEliminator10 (XFDID_BASE+0x0075) 475 #define XFDID_MasterCruncher30Data (XFDID_BASE+0x0076) 476 #define XFDID_SuperCruncher27 (XFDID_BASE+0x0077) 477 #define XFDID_UltimatePacker11 (XFDID_BASE+0x0078) 478 #define XFDID_ProPackOld (XFDID_BASE+0x0079) 479 #define XFDID_SACFPQCruncher (XFDID_BASE+0x007a) /* disabled */ 480 #define XFDID_PowerPackerPatch10 (XFDID_BASE+0x007b) 481 #define XFDID_CFP135 (XFDID_BASE+0x007c) 482 #define XFDID_BOND (XFDID_BASE+0x007d) 483 #define XFDID_PowerPackerLoadSeg (XFDID_BASE+0x007e) 484 #define XFDID_StoneCracker299b (XFDID_BASE+0x007f) 485 #define XFDID_CrunchyDat10 (XFDID_BASE+0x0080) 486 #define XFDID_PowerPacker20 (XFDID_BASE+0x0081) 487 #define XFDID_StoneCracker403 (XFDID_BASE+0x0082) 488 #define XFDID_PKProtector200 (XFDID_BASE+0x0083) 489 #define XFDID_PPbk (XFDID_BASE+0x0084) 490 #define XFDID_StoneCracker292Data (XFDID_BASE+0x0085) 491 #define XFDID_MegaCruncherObj (XFDID_BASE+0x0086) 492 #define XFDID_DeluxeCruncher1 (XFDID_BASE+0x0087) 493 #define XFDID_DeluxeCruncher3 (XFDID_BASE+0x0088) 494 #define XFDID_ByteKiller97 (XFDID_BASE+0x0089) 495 #define XFDID_TurboSqueezer51 (XFDID_BASE+0x008A) 496 #define XFDID_SubPacker10 (XFDID_BASE+0x008B) 497 #define XFDID_StoneCracker404Lib (XFDID_BASE+0x008C) 498 #define XFDID_ISC_Pass1 (XFDID_BASE+0x008D) 499 #define XFDID_ISC_Pass2 (XFDID_BASE+0x008E) 500 #define XFDID_ISC_Pass3 (XFDID_BASE+0x008F) 501 #define XFDID_PCompressFALH (XFDID_BASE+0x0090) 502 #define XFDID_PCompressHILH (XFDID_BASE+0x0091) 503 #define XFDID_SMF (XFDID_BASE+0x0092) 504 #define XFDID_DefJamCruncher32T (XFDID_BASE+0x0093) 505 506 #pragma pack() 507 508 #endif /* LIBRARIES_XFDMASTER_H */