1 /*
2  * ProWizard PC include file
3 */
4 
5 /* for htonl */
6 #ifdef _WIN32
7 #include <Winsock2.h>
8 #else
9 #include <arpa/inet.h>
10 #endif
11 
12 #include <stdio.h>
13 #include <stdlib.h>
14 #include <string.h>
15 //#include <sys/param.h>
16 #include <sys/types.h>
17 #include <sys/stat.h>
18 /*#include <gtk/gtk.h>*/
19 #ifdef DOS
20 #include <winsock2.h>
21 #endif
22 #ifdef DMALLOC
23 #include "dmalloc.h"
24 #endif
25 
26 
27 typedef unsigned char Uchar;
28 typedef unsigned long Ulong;
29 typedef unsigned short Ushort;
30 
31 #ifdef _WIN32
htonlx(Ulong v)32 __inline Ulong htonlx (Ulong v)
33 {
34     return (v >> 24) | ((v >> 8) & 0xff00) | (v << 24) | ((v << 8) & 0xff0000);
35 }
36 #endif
37 
38 #define _KNOWN_FORMATS      135
39 #define _TYPES_FILENAME     "_types_"
40 #define _TYPES_LINE_LENGHT  256
41 #define MINIMAL_FILE_LENGHT 64
42 #define GOOD                0
43 #define BAD                 1
44 #define BZERO(a,b)          memset(a,0,b)
45 
46 enum
47 {
48   AC1D_packer = 0,
49 /* version 2 / 3 */
50   SoundMonitor,
51   FC_M_packer,
52   Hornet_packer,
53   KRIS_tracker,
54   Power_Music,
55   Promizer_10c,
56   Promizer_18a,
57   Promizer_20,
58   ProRunner_v1,
59   ProRunner_v2,
60   SKYT_packer,
61   Wanton_packer,
62   XANN_packer,
63   Module_protector,
64   Digital_illusion,
65   Pha_packer,
66   Promizer_01,
67   Propacker_21,
68   Propacker_30,
69   Eureka_packer,
70   Star_pack,
71   Protracker,
72   UNIC_v1,
73   UNIC_v2,
74   Fuzzac,
75   GMC,
76   Heatseeker,
77   KSM,
78   Noiserunner,
79   Noisepacker1,
80   Noisepacker2,
81   Noisepacker3,
82   P40A,
83   P40B,
84   P41A,
85   PM40,
86   PP10,
87   TP1,
88   TP2,
89   TP3,
90   ZEN,
91   P50A,
92   P60A,
93   StarTrekker,
94   /* stands for S404(data/exe),S401(data),S403(data) and S310,S300(data) */
95   S404,
96   StoneCracker270,
97   P61A,
98   STIM,
99   SoundTracker,
100   TPACK22,
101 /* stands for CrM! & CrM2 and Crunchmania Address*/
102   CRM1,
103 /* stands for both Defjam 3.2 & 3.2 pro */
104   Defjam_32,
105   TPACK21,
106   ICE,
107 /* stands for version 1.3 , 2.0 , 3.0 and Pro 1.0*/
108   ByteKiller,
109   XPK,
110   IMP,
111   RNC,
112   Double_Action,
113   Powerpacker3,
114   Powerpacker4,
115   Powerpacker23,
116   SpikeCruncher,
117   TPACK102,
118   TimeCruncher,
119   MasterCruncher,
120 /* stands also for Mega Cruncher 1.0/1.2 */
121   MegaCruncher,
122   JamCracker,
123   BSIFC,
124   DigiBooster,
125   QuadraComposer,
126   TDD,
127   FuchsTracker,
128   SyncroPacker,
129   TNMCruncher,
130   SuperCruncher,
131 /* not for PP20 themselves :) ... only PP20 subfiles inside PPbk */
132   PP20,
133   RelokIt,
134   STC292data,
135   FIRE,
136   MaxPacker,
137   SoundFX,
138   arcD,
139   PARA,
140   CRND,
141   SB_DataCruncher,
142   SF,
143   RLE,
144   VDCO,
145   SQ,
146   SP,
147   STK26,
148   IceTracker,
149   HQC,
150   TryIt,
151   FC13,
152   FC14,
153   AmnestyDesign1,
154   AmnestyDesign2,
155   MED,
156   ACECruncherData,
157   Newtron,
158   GPMO,
159   PolkaPacker,
160   GnuPlayer,
161   CJ_DataCruncher,
162   AmBk,
163   MasterCruncher3data,
164   XM,
165   MegaCruncherObj,
166   TurboSqueezer61,
167   STC299d,
168   STC310,
169   STC299b,
170   STC299,
171   STC300,
172   ThePlayer30a,
173   ThePlayer22a,
174   NoiseFromHeaven,
175   TMK,
176   DragPack252,
177   DragPack100,
178   SpeedPacker3Data,
179   AtomikPackerData,
180   AutomationPackerData,
181   /*  TreasurePattern,*/
182   SGTPacker,
183   GNUPacker12,
184   CrunchmaniaSimple,
185   dmu,
186   TitanicsPlayer,
187   NewtronOld,
188   NovoTrade,
189   Skizzo,
190   StoneArtsPlayer,
191 };
192