«
Previous
|
Next
»
Revision 2401
Added by stephane over 13 years ago
include/scol_plugin_win.h | ||
---|---|---|
1 |
/*! \file scol.h |
|
2 |
* \brief Scol plugin definition API |
|
3 |
* \author Sylvain HUET |
|
4 |
*/ |
|
5 |
|
|
6 |
/* |
|
7 |
// Modifications History |
|
8 |
// |
|
9 |
//$ LB (13/06/2002) : added the OBJgetNewHandler function to the cbmachine |
|
10 |
// $ IRI (19/12/2010) : version windows |
|
11 |
// $ IRI (31/01/2011) : add MMneedMemory |
|
12 |
*/ |
|
13 |
|
|
14 |
#ifdef __cplusplus |
|
15 |
extern "C" { |
|
16 |
#endif |
|
17 |
|
|
18 |
#ifndef SCOLPLUGIN_H |
|
19 |
#define SCOLPLUGIN_H |
|
20 |
|
|
21 |
#include <windows.h> |
|
22 |
|
|
23 |
#include <stdio.h> |
|
24 |
#include <stdlib.h> |
|
25 |
|
|
26 |
|
|
27 |
/* DEFINITIONS DE TYPES ET DE CONSTANTES |
|
28 |
---------------------------------------*/ |
|
29 |
#define SizeWord 4 |
|
30 |
#define SizeHeader 3 |
|
31 |
|
|
32 |
#define NIL -1 |
|
33 |
|
|
34 |
/* Scol virtual machine */ |
|
35 |
struct Mmachine |
|
36 |
{ |
|
37 |
int *tape; /* tape pointer */ |
|
38 |
int sizetape; /* size of the tape */ |
|
39 |
int pp; /* stack pointer */ |
|
40 |
int maxpp; /* max value of pp */ |
|
41 |
int topheap; /* top of stack */ |
|
42 |
int sigGC; /* GC activation distance */ |
|
43 |
int h; /* current header position */ |
|
44 |
int err; |
|
45 |
int *top; /* top of tape */ |
|
46 |
/*$BLG - v5.22: Add*/ |
|
47 |
int lckdGC; /* Locked GC flag*/ |
|
48 |
}; |
|
49 |
|
|
50 |
typedef struct Mmachine *mmachine; |
|
51 |
|
|
52 |
/* masq for MMmalloc : object table or other buffer */ |
|
53 |
#define TYPETAB 1 |
|
54 |
#define TYPEBUF 0 |
|
55 |
|
|
56 |
/* errors definition */ |
|
57 |
#define MERREND 1 |
|
58 |
#define MERROK 0 |
|
59 |
#define MERRMEM -1 |
|
60 |
#define MERRTYP -2 |
|
61 |
#define MERRRET -3 |
|
62 |
#define MERRNUL -4 |
|
63 |
#define MERRNF -5 |
|
64 |
#define MERRLINK -6 |
|
65 |
#define MERRFULL -7 |
|
66 |
#define MERRUNKNOWN -8 |
|
67 |
#define MERRTOOLARGE -9 |
|
68 |
#define MERREP -10 |
|
69 |
#define MERRFILE -11 |
|
70 |
#define MERRCLOSE -12 |
|
71 |
/*$BLG - v5.22: Add*/ |
|
72 |
#define MERRCHNLDWN -13 |
|
73 |
|
|
74 |
/* offsets object definition */ |
|
75 |
#define OFFSCCUR 0 |
|
76 |
|
|
77 |
#define OFFOBJMAG 0 |
|
78 |
#define OFFOBJCHN 1 |
|
79 |
#define OFFOBJTYP 2 |
|
80 |
#define OFFOBJHAND 3 |
|
81 |
#define OFFOBJTPERE 4 |
|
82 |
#define OFFOBJHPERE 5 |
|
83 |
#define OFFOBJREF0 6 |
|
84 |
#define OFFOBJUSER0 7 |
|
85 |
|
|
86 |
/* console messages mask definition */ |
|
87 |
#define MSKFOO 1 |
|
88 |
#define MSKRUNTIME 2 |
|
89 |
#define MSKWARNING 4 |
|
90 |
#define MSKTRACE 8 |
|
91 |
#define MSKDEBUG 16 |
|
92 |
|
|
93 |
|
|
94 |
/* predefined Scol types */ |
|
95 |
#define TYPVAR -1 |
|
96 |
#define TYPCONS -2 |
|
97 |
#define TYPTYPE -3 |
|
98 |
#define TYPFIELD -4 |
|
99 |
#define TYPSTRUC -5 |
|
100 |
#define TYPCONS0 -6 |
|
101 |
#define TYPCOM -7 |
|
102 |
#define TYPCOMV -8 |
|
103 |
|
|
104 |
|
|
105 |
/* Files management in Scol |
|
106 |
------------------------------*/ |
|
107 |
|
|
108 |
#define SIZESIGN 1024 |
|
109 |
|
|
110 |
struct Packdir |
|
111 |
{ |
|
112 |
char path[SIZESIGN]; /* end by '/'*/ |
|
113 |
int quota; /* -1: read only, 0: unlimited*/ |
|
114 |
struct Packdir *next; |
|
115 |
}; |
|
116 |
typedef struct Packdir *packdir; |
|
117 |
|
|
118 |
#define TYPESNONE 0 |
|
119 |
#define TYPESLOGIC 1 |
|
120 |
|
|
121 |
|
|
122 |
/* |
|
123 |
* Exported Kernel functions to plugin |
|
124 |
----------------------------------------------*/ |
|
125 |
|
|
126 |
struct CBmachine |
|
127 |
{ |
|
128 |
int (*MMpush)(mmachine m, int val); |
|
129 |
int (*MMpushNoGC)(mmachine m, int val); |
|
130 |
int (*MMpull)(mmachine m); |
|
131 |
int (*MMgetPP)(mmachine m); |
|
132 |
void (*MMsetPP)(mmachine m,int i); |
|
133 |
int (*MMget)(mmachine m,int i); |
|
134 |
void (*MMset)(mmachine m,int i,int v); |
|
135 |
int (*MMgetglobal)(mmachine m,int i); |
|
136 |
void (*MMsetglobal)(mmachine m,int i,int v); |
|
137 |
int (*MMgetbase)(mmachine m,int b,int i); |
|
138 |
void (*MMsetbase)(mmachine m,int b,int i,int v); |
|
139 |
int (*MMfetch)(mmachine m,int s,int i); |
|
140 |
void (*MMstore)(mmachine m,int s,int i,int v); |
|
141 |
int* (*MMstart)(mmachine m,int s); |
|
142 |
int (*MMsize)(mmachine m,int s); |
|
143 |
int (*MMtype)(mmachine m,int s); |
|
144 |
char* (*MMstartstr)(mmachine m,int s); |
|
145 |
int (*MMsizestr)(mmachine m,int s); |
|
146 |
void (*MMsetsizestr)(mmachine m,int s,int size); |
|
147 |
int (*MMmalloc)(mmachine m, int size, int type); |
|
148 |
int (*MMmallocCLR)(mmachine m, int size, int type); |
|
149 |
int (*Mpushstrbloc)(mmachine m,char *buf); |
|
150 |
int (*MBdeftab)(mmachine m); |
|
151 |
int (*MBstrcat)(mmachine m); |
|
152 |
int (*PKhardpak)(mmachine m, char *name, |
|
153 |
int n, char **namefun, int (**fun)(mmachine z), |
|
154 |
int *nargfun, char **typfun); |
|
155 |
int (*PKloader)(mmachine m,char *name,char *simplename); |
|
156 |
int (*SPfindfile)(packdir p,char *sign,int *size,char *path); |
|
157 |
int (*SPaddfile)(packdir p,char *sign,int size,char *path); |
|
158 |
int (*SCgetsrvsocket)(mmachine m, int server); |
|
159 |
int (*SCgetsocket)(mmachine m, int channel); |
|
160 |
int (*Mcutting)(char *comm, char **argv); |
|
161 |
void (*MMechostr)(int i,char *buf,...); |
|
162 |
size_t (*fread)(void* buf,size_t i,size_t j,FILE *f); |
|
163 |
packdir Firstpack; |
|
164 |
int (*OBJcreate)(mmachine m,int typ,int handsys,int typpere,int handsyspere); |
|
165 |
int (*OBJaddreflex)(mmachine m,int typ, int num); |
|
166 |
int (*OBJbeginreflex)(mmachine m,int typ,int handsys,int num); |
|
167 |
int (*OBJdel)(mmachine m,int p,int flag); |
|
168 |
int (*OBJdestroy)(mmachine m, int typ,int handsys,int objm,int flag); |
|
169 |
int (*OBJdelTH)(mmachine m,int typ,int handsys); |
|
170 |
int (*OBJcallreflex)(mmachine m,int nbarg); |
|
171 |
int (*OBJregister)(int nbrefl,int recrefl,int (*destroy)(mmachine m,int handsys,int objm),char *name); |
|
172 |
int (*OBJtypebyname)(char *name); |
|
173 |
int (*OBJdefEvent)(int event,int (*cbevent)(mmachine m,int hwnd, unsigned msg, |
|
174 |
int wParam,int lParam,int *ret)); |
|
175 |
int (*OBJgetUserEvent)(); |
|
176 |
void* (*SCgetExtra)(char *funcname); |
|
177 |
char* (*stdloadJpg)(char *name,int *w,int *h); |
|
178 |
int (*OBJdelTM)(mmachine m,int typ,int q); |
|
179 |
int (*OBJfindTH)(mmachine m,int typ,int handsys); |
|
180 |
int (*OBJfindTM)(mmachine m,int typ,int objm); |
|
181 |
int (*Mpushstrblocn)(mmachine m,char *buf, int n); |
|
182 |
int (*Minterpreter)(mmachine m); |
|
183 |
int (*Msearchinsyspak)(mmachine m, char *name); |
|
184 |
int (*MBstrcatn)(mmachine m); |
|
185 |
int (*Buffer2texture)(mmachine m, char *buffer, int width, int height); |
|
186 |
void (*MMputs)(int i, const char* text); |
|
187 |
|
|
188 |
/*$ LB (13/06/2002)*/ |
|
189 |
int (*OBJgetNewHandler)(); |
|
190 |
|
|
191 |
int (*MMneedMemory)(mmachine m,int size,int realsize); /* $Iri */ |
|
192 |
|
|
193 |
|
|
194 |
}; |
|
195 |
typedef struct CBmachine *cbmachine; |
|
196 |
|
|
197 |
extern cbmachine ww; |
|
198 |
|
|
199 |
#define SCOLinitplugin(X) ww=X |
|
200 |
|
|
201 |
#define MMpush (ww->MMpush) |
|
202 |
#define MMpushNoGC (ww->MMpushNoGC) |
|
203 |
#define MMpull (ww->MMpull) |
|
204 |
#define MMgetPP (ww->MMgetPP) |
|
205 |
#define MMsetPP (ww->MMsetPP) |
|
206 |
#define MMget (ww->MMget) |
|
207 |
#define MMset (ww->MMset) |
|
208 |
#define MMgetglobal (ww->MMgetglobal) |
|
209 |
#define MMsetglobal (ww->MMsetglobal) |
|
210 |
#define MMgetbase (ww->MMgetbase) |
|
211 |
#define MMsetbase (ww->MMsetbase) |
|
212 |
#define MMfetch (ww->MMfetch) |
|
213 |
#define MMstore (ww->MMstore) |
|
214 |
#define MMstart (ww->MMstart) |
|
215 |
#define MMsize (ww->MMsize) |
|
216 |
#define MMtype (ww->MMtype) |
|
217 |
#define MMstartstr (ww->MMstartstr) |
|
218 |
#define MMsizestr (ww->MMsizestr) |
|
219 |
#define MMsetsizestr (ww->MMsetsizestr) |
|
220 |
#define MMmalloc (ww->MMmalloc) |
|
221 |
#define MMmallocCLR (ww->MMmallocCLR) |
|
222 |
#define Mpushstrbloc (ww->Mpushstrbloc) |
|
223 |
#define MBdeftab (ww->MBdeftab) |
|
224 |
#define MBstrcat (ww->MBstrcat) |
|
225 |
#define PKhardpak (ww->PKhardpak) |
|
226 |
#define PKloader (ww->PKloader) |
|
227 |
#define SPfindfile (ww->SPfindfile) |
|
228 |
#define SPaddfile (ww->SPaddfile) |
|
229 |
#define SCgetsrvsocket (ww->SCgetsrvsocket) |
|
230 |
#define SCgetsocket (ww->SCgetsocket) |
|
231 |
#define Mcutting (ww->Mcutting) |
|
232 |
#define MMechostr (ww->MMechostr) |
|
233 |
/*#define fread (ww->fread)*/ |
|
234 |
#define Firstpack (ww->Firstpack) |
|
235 |
#define OBJcreate (ww->OBJcreate) |
|
236 |
#define OBJaddreflex (ww->OBJaddreflex) |
|
237 |
#define OBJbeginreflex (ww->OBJbeginreflex) |
|
238 |
#define OBJdel (ww->OBJdel) |
|
239 |
#define OBJdestroy (ww->OBJdestroy) |
|
240 |
#define OBJdelTH (ww->OBJdelTH) |
|
241 |
#define OBJcallreflex (ww->OBJcallreflex) |
|
242 |
#define OBJregister (ww->OBJregister) |
|
243 |
#define OBJtypebyname (ww->OBJtypebyname) |
|
244 |
#define OBJdefEvent (ww->OBJdefEvent) |
|
245 |
#define OBJgetUserEvent (ww->OBJgetUserEvent) |
|
246 |
#define SCgetExtra (ww->SCgetExtra) |
|
247 |
#define stdloadJpg (ww->stdloadJpg) |
|
248 |
#define OBJdelTM (ww->OBJdelTM) |
|
249 |
#define OBJfindTH (ww->OBJfindTH) |
|
250 |
#define OBJfindTM (ww->OBJfindTM) |
|
251 |
#define Mpushstrblocn (ww->Mpushstrblocn) |
|
252 |
#define Minterpreter (ww->Minterpreter) |
|
253 |
#define Msearchinsyspak (ww->Msearchinsyspak) |
|
254 |
#define MBstrcatn (ww->MBstrcatn) |
|
255 |
#define Buf2Tex (ww->Buffer2texture) |
|
256 |
#define MMputs (ww->MMputs) |
|
257 |
|
|
258 |
/*$ LB (13/06/2002)*/ |
|
259 |
#define OBJgetNewHandler (ww->OBJgetNewHandler) |
|
260 |
|
|
261 |
#define MMneedMemory (ww->MMneedMemory) /* $Iri */ |
|
262 |
|
|
263 |
|
|
264 |
#endif |
|
265 |
|
include/scol_plugin_lin.h | ||
---|---|---|
1 |
/* |
|
2 |
SCOLPLUGIN.H . 1996-99 . Sylvain HUET |
|
3 |
|
|
4 |
definitions pour les plugins Scol |
|
5 |
*/ |
|
6 |
|
|
7 |
|
|
8 |
#ifndef SCOLPLUGIN_H |
|
9 |
#define SCOLPLUGIN_H |
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
#include <stdio.h> |
|
14 |
#include <stdlib.h> |
|
15 |
|
|
16 |
/* DEFINITIONS DE TYPES ET DE CONSTANTES |
|
17 |
---------------------------------------*/ |
|
18 |
/* $iri -> */ |
|
19 |
#define SizeWord 4 |
|
20 |
#define SizeHeader 3 |
|
21 |
/* <- $iri */ |
|
22 |
|
|
23 |
#define NIL -1 |
|
24 |
|
|
25 |
/* machine virtuelle Scol */ |
|
26 |
struct Mmachine |
|
27 |
{ |
|
28 |
int *tape; /* pointeur vers la bande */ |
|
29 |
int sizetape; /* taille de la bande (en mots) */ |
|
30 |
int pp; /* pointeur de pile */ |
|
31 |
int maxpp; /* valeur max de pp */ |
|
32 |
int topheap; /* sommet du tas */ |
|
33 |
int sigGC; /* distance declenchant le GC */ |
|
34 |
int h; /* position header courant */ |
|
35 |
int err; |
|
36 |
int *top; /* top of tape */ /* add by $iri */ |
|
37 |
}; |
|
38 |
typedef struct Mmachine *mmachine; |
|
39 |
|
|
40 |
extern mmachine mm; |
|
41 |
|
|
42 |
/* masque pour MMmalloc : tableau d'objets ou buffer quelconque */ |
|
43 |
#define TYPETAB 1 |
|
44 |
#define TYPEBUF 0 |
|
45 |
|
|
46 |
/* definitions des erreurs */ |
|
47 |
#define MERREND 1 |
|
48 |
#define MERROK 0 |
|
49 |
#define MERRMEM -1 |
|
50 |
#define MERRTYP -2 |
|
51 |
#define MERRRET -3 |
|
52 |
#define MERRNUL -4 |
|
53 |
#define MERRNF -5 |
|
54 |
#define MERRLINK -6 |
|
55 |
#define MERRFULL -7 |
|
56 |
#define MERRUNKNOWN -8 |
|
57 |
#define MERRTOOLARGE -9 |
|
58 |
|
|
59 |
/* definition des offsets objets */ |
|
60 |
#define OFFOBJMAG 0 |
|
61 |
#define OFFOBJCHN 1 |
|
62 |
#define OFFOBJTYP 2 |
|
63 |
#define OFFOBJHAND 3 |
|
64 |
#define OFFOBJTPERE 4 |
|
65 |
#define OFFOBJHPERE 5 |
|
66 |
#define OFFOBJREF0 6 |
|
67 |
#define OFFOBJUSER0 7 |
|
68 |
|
|
69 |
/* definitions des masques de message console */ |
|
70 |
#define MSKFOO 1 |
|
71 |
#define MSKRUNTIME 2 |
|
72 |
#define MSKWARNING 4 |
|
73 |
#define MSKTRACE 8 |
|
74 |
#define MSKDEBUG 16 |
|
75 |
|
|
76 |
|
|
77 |
/* types Scol predefinis */ |
|
78 |
#define TYPVAR -1 |
|
79 |
#define TYPCONS -2 |
|
80 |
#define TYPTYPE -3 |
|
81 |
#define TYPFIELD -4 |
|
82 |
#define TYPSTRUC -5 |
|
83 |
#define TYPCONS0 -6 |
|
84 |
#define TYPCOM -7 |
|
85 |
#define TYPCOMV -8 |
|
86 |
|
|
87 |
|
|
88 |
/* GESTION DES FICHIERS EN SCOL |
|
89 |
------------------------------*/ |
|
90 |
|
|
91 |
#define SIZESIGN 1024 |
|
92 |
|
|
93 |
struct Packdir |
|
94 |
{ |
|
95 |
char path[SIZESIGN]; /* se termine par '/' */ |
|
96 |
int quota; /* -1: read only, 0: unlimited */ |
|
97 |
struct Packdir *next; |
|
98 |
}; |
|
99 |
typedef struct Packdir *packdir; |
|
100 |
|
|
101 |
#define TYPESNONE 0 |
|
102 |
#define TYPESLOGIC 1 |
|
103 |
|
|
104 |
|
|
105 |
/* FONCTIONS DU KERNEL EXPORTEES VERS LE PLUGIN |
|
106 |
----------------------------------------------*/ |
|
107 |
#ifdef __cplusplus |
|
108 |
extern "C" { |
|
109 |
#endif |
|
110 |
int MMpush (mmachine m, int val); |
|
111 |
int MMpushNoGC (mmachine m, int val); |
|
112 |
int MMpull(mmachine m); |
|
113 |
int MMgetPP(mmachine m); |
|
114 |
void MMsetPP(mmachine m,int i); |
|
115 |
int MMget(mmachine m,int i); |
|
116 |
void MMset(mmachine m,int i,int v); |
|
117 |
int MMgetglobal(mmachine m,int i); |
|
118 |
void MMsetglobal(mmachine m,int i,int v); |
|
119 |
int MMgetbase(mmachine m,int b,int i); |
|
120 |
void MMsetbase(mmachine m,int b,int i,int v); |
|
121 |
int MMfetch(mmachine m,int s,int i); |
|
122 |
void MMstore(mmachine m,int s,int i,int v); |
|
123 |
int* MMstart(mmachine m,int s); |
|
124 |
int MMsize(mmachine m,int s); |
|
125 |
int MMtype(mmachine m,int s); |
|
126 |
char* MMstartstr(mmachine m,int s); |
|
127 |
int MMsizestr(mmachine m,int s); |
|
128 |
void MMsetsizestr(mmachine m,int s,int size); |
|
129 |
int MMmalloc(mmachine m, int size, int type); |
|
130 |
int MMmallocCLR(mmachine m, int size, int type); |
|
131 |
int Mpushstrbloc(mmachine m,char *buf); |
|
132 |
int MBdeftab(mmachine m); |
|
133 |
int MBstrcat(mmachine m); |
|
134 |
void MMechostr(int i,char *buf,...); |
|
135 |
int SPfindfile(packdir p,char *sign,int *size,char *path); |
|
136 |
int SPaddfile(packdir p,char *sign,int size,char *path); |
|
137 |
int SCgetsocket(mmachine m, int channel); |
|
138 |
int SCgetsrvsocket(mmachine m, int server); |
|
139 |
int MBstrcatn(mmachine m); |
|
140 |
int Minterpreter(mmachine m); |
|
141 |
int PKhardpak(mmachine m, char *name, |
|
142 |
int n, char **namefun, int (**fun)(mmachine z), |
|
143 |
int *nargfun, char **typfun); |
|
144 |
int PKloader(mmachine m,char *name,char *simplename); |
|
145 |
|
|
146 |
size_t fread(void* buf,size_t i,size_t j,FILE *f); |
|
147 |
|
|
148 |
int MMneedMemory(mmachine m,int size,int realsize); /* $Iri */ |
|
149 |
#ifdef __cplusplus |
|
150 |
} |
|
151 |
#endif |
|
152 |
|
|
153 |
|
|
154 |
|
|
155 |
int Mcutting(char *comm, char **argv); |
|
156 |
|
|
157 |
#ifdef __cplusplus |
|
158 |
extern "C" { |
|
159 |
#endif |
|
160 |
int OBJcreate(mmachine m,int typ,int handsys,int typpere,int handsyspere); |
|
161 |
int OBJaddreflex(mmachine m,int typ, int num); |
|
162 |
int OBJbeginreflex(mmachine m,int typ,int handsys,int num); |
|
163 |
int OBJdel(mmachine m,int p,int flag); |
|
164 |
int OBJdestroy(mmachine m, int typ,int handsys,int objm,int flag); |
|
165 |
int OBJdelTH(mmachine m,int typ,int handsys); |
|
166 |
int OBJcallreflex(mmachine m,int nbarg); |
|
167 |
int OBJregister(int nbrefl,int recrefl,int (*destroy)(mmachine m,int handsys,int objm),char *name); |
|
168 |
int OBJtypebyname(char *name); |
|
169 |
int OBJdefEvent(int event,int (*cbevent)(mmachine m,int hwnd, unsigned msg, |
|
170 |
int wParam,int lParam,int *ret)); |
|
171 |
int OBJgetUserEvent(); |
|
172 |
|
|
173 |
|
|
174 |
int OBJdelTM(mmachine m,int typ,int q); |
|
175 |
int OBJfindTH(mmachine m,int typ,int handsys); |
|
176 |
int OBJfindTM(mmachine m,int typ,int objm); |
|
177 |
|
|
178 |
|
|
179 |
|
|
180 |
extern int (*mt_start)(int per,int param,int (*fun)(int i,int param)); |
|
181 |
extern int (*mt_del)(int i); |
|
182 |
#ifdef __cplusplus |
|
183 |
} |
|
184 |
#endif |
|
185 |
char* stdloadJpg(char *name,int *w,int *h); |
|
186 |
int Mpushstrblocn(mmachine m,char *buf, int n); |
|
187 |
|
|
188 |
int Msearchinsyspak(mmachine m, char *name); |
|
189 |
|
|
190 |
int Buffer2texture(mmachine m, char *buffer, int width, int height); |
|
191 |
|
|
192 |
|
|
193 |
|
|
194 |
void* objdd_get_buffer (mmachine m, int mobj); |
|
195 |
int _CRbitmap (mmachine m); |
|
196 |
|
|
197 |
/* old ones |
|
198 |
int (*MMpush)(mmachine m, int val); |
|
199 |
int (*MMpushNoGC)(mmachine m, int val); |
|
200 |
int (*MMpull)(mmachine m); |
|
201 |
int (*MMgetPP)(mmachine m); |
|
202 |
void (*MMsetPP)(mmachine m,int i); |
|
203 |
int (*MMget)(mmachine m,int i); |
|
204 |
void (*MMset)(mmachine m,int i,int v); |
|
205 |
int (*MMgetglobal)(mmachine m,int i); |
|
206 |
void (*MMsetglobal)(mmachine m,int i,int v); |
|
207 |
int (*MMgetbase)(mmachine m,int b,int i); |
|
208 |
void (*MMsetbase)(mmachine m,int b,int i,int v); |
|
209 |
int (*MMfetch)(mmachine m,int s,int i); |
|
210 |
void (*MMstore)(mmachine m,int s,int i,int v); |
|
211 |
int* (*MMstart)(mmachine m,int s); |
|
212 |
int (*MMsize)(mmachine m,int s); |
|
213 |
int (*MMtype)(mmachine m,int s); |
|
214 |
char* (*MMstartstr)(mmachine m,int s); |
|
215 |
int (*MMsizestr)(mmachine m,int s); |
|
216 |
void (*MMsetsizestr)(mmachine m,int s,int size); |
|
217 |
int (*MMmalloc)(mmachine m, int size, int type); |
|
218 |
int (*MMmallocCLR)(mmachine m, int size, int type); |
|
219 |
int (*Mpushstrbloc)(mmachine m,char *buf); |
|
220 |
int (*MBdeftab)(mmachine m); |
|
221 |
int (*MBstrcat)(mmachine m); |
|
222 |
int (*PKhardpak)(mmachine m, char *name, |
|
223 |
int n, char **namefun, int (**fun)(mmachine z) |
|
224 |
, int *nargfun, char **typfun); |
|
225 |
int (*PKloader)(mmachine m,char *name,char *simplename); |
|
226 |
int (*SPfindfile)(packdir p,char *sign,int *size,char *path); |
|
227 |
int (*SPaddfile)(packdir p,char *sign,int size,char *path); |
|
228 |
int (*SCgetsrvsocket)(mmachine m, int server); |
|
229 |
int (*SCgetsocket)(mmachine m, int channel); |
|
230 |
int (*Mcutting)(char *comm, char **argv); |
|
231 |
void (*MMechostr)(int i,char *buf,...); |
|
232 |
int (*fread)(char* buf,int i,int j,FILE *f); |
|
233 |
packdir Firstpack; |
|
234 |
int (*OBJcreate)(mmachine m,int typ,int handsys,int typpere,int handsyspere); |
|
235 |
int (*OBJaddreflex)(mmachine m,int typ, int num); |
|
236 |
int (*OBJbeginreflex)(mmachine m,int typ,int handsys,int num); |
|
237 |
int (*OBJdel)(mmachine m,int p,int flag); |
|
238 |
int (*OBJdestroy)(mmachine m, int typ,int handsys,int objm,int flag); |
|
239 |
int (*OBJdelTH)(mmachine m,int typ,int handsys); |
|
240 |
int (*OBJcallreflex)(mmachine m,int nbarg); |
|
241 |
int (*OBJregister)(int nbrefl,int recrefl,int (*destroy)(mmachine m,int handsys,int objm),char *name); |
|
242 |
int (*OBJtypebyname)(char *name); |
|
243 |
int (*OBJdefEvent)(int event,int (*cbevent)(mmachine m,HWND hwnd, unsigned msg, |
|
244 |
UINT wParam,LONG lParam,int *ret)); |
|
245 |
int (*OBJgetUserEvent)(); |
|
246 |
void* (*SCgetExtra)(char *funcname); |
|
247 |
char* (*stdloadJpg)(char *name,int *w,int *h); |
|
248 |
int (*OBJdelTM)(mmachine m,int typ,int q); |
|
249 |
int (*OBJfindTH)(mmachine m,int typ,int handsys); |
|
250 |
int (*OBJfindTM)(mmachine m,int typ,int objm); |
|
251 |
int (*Mpushstrblocn)(mmachine m,char *buf, int n); |
|
252 |
int (*Minterpreter)(mmachine m); |
|
253 |
int (*Msearchinsyspak)(mmachine m, char *name); |
|
254 |
int (*MBstrcatn)(mmachine m); |
|
255 |
*/ |
|
256 |
|
|
257 |
|
|
258 |
|
|
259 |
|
|
260 |
|
|
261 |
#endif |
|
262 |
|
include/main.h | ||
---|---|---|
1 |
/* |
|
2 |
This source file is part of Scol |
|
3 |
For the latest info, see http://www.scolring.org |
|
4 |
|
|
5 |
Copyright (c) 2010 Stephane Bisaro, aka Iri <iri@irizone.net> |
|
6 |
|
|
7 |
This program is free software; you can redistribute it and/or modify it under |
|
8 |
the terms of the GNU Lesser General Public License as published by the Free Software |
|
9 |
Foundation; either version 2 of the License, or (at your option) any later |
|
10 |
version. |
|
11 |
|
|
12 |
This program is distributed in the hope that it will be useful, but WITHOUT |
|
13 |
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
|
14 |
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. |
|
15 |
|
|
16 |
You should have received a copy of the GNU Lesser General Public License along with |
|
17 |
this program; if not, write to the Free Software Foundation, Inc., 59 Temple |
|
18 |
Place - Suite 330, Boston, MA 02111-1307, USA, or go to |
|
19 |
http://www.gnu.org/copyleft/lesser.txt |
|
20 |
|
|
21 |
For others informations, please contact us from http://www.scolring.org/ |
|
22 |
*/ |
|
23 |
|
|
24 |
|
|
25 |
|
|
26 |
|
|
27 |
#ifndef __MAIN_H__ |
|
28 |
#define __MAIN_H__ |
|
29 |
|
|
30 |
|
|
31 |
#include <stdio.h> |
|
32 |
#include <stdlib.h> |
|
33 |
#include <string.h> |
|
34 |
#include <math.h> |
|
35 |
#include <libgen.h> |
|
36 |
#include <glib.h> |
|
37 |
|
|
38 |
#if ((defined __WIN32__) || (defined WIN32)) |
|
39 |
#include <windows.h> |
|
40 |
#include "scol_plugin_win.h" |
|
41 |
#else |
|
42 |
#include "scol_plugin_lin.h" |
|
43 |
#endif |
|
44 |
|
|
45 |
|
|
46 |
#include "macros.h" |
|
47 |
|
|
48 |
|
|
49 |
#define bullshit int (__cdecl *)(struct Mmachine *) |
|
50 |
|
|
51 |
|
|
52 |
#define DEFAULT_STRING "Untitle" |
|
53 |
|
|
54 |
#endif /* __MAIN_H__ */ |
include/macros.h | ||
---|---|---|
1 |
/* |
|
2 |
This source file is part of Scol |
|
3 |
For the latest info, see http://www.scolring.org |
|
4 |
|
|
5 |
Copyright (c) 2010 Stephane Bisaro, aka Iri <iri@irizone.net> |
|
6 |
|
|
7 |
This program is free software; you can redistribute it and/or modify it under |
|
8 |
the terms of the GNU Lesser General Public License as published by the Free Software |
|
9 |
Foundation; either version 2 of the License, or (at your option) any later |
|
10 |
version. |
|
11 |
|
|
12 |
This program is distributed in the hope that it will be useful, but WITHOUT |
|
13 |
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
|
14 |
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. |
|
15 |
|
|
16 |
You should have received a copy of the GNU Lesser General Public License along with |
|
17 |
this program; if not, write to the Free Software Foundation, Inc., 59 Temple |
|
18 |
Place - Suite 330, Boston, MA 02111-1307, USA, or go to |
|
19 |
http://www.gnu.org/copyleft/lesser.txt |
|
20 |
|
|
21 |
For others informations, please contact us from http://www.scolring.org/ |
|
22 |
*/ |
|
23 |
|
|
24 |
|
|
25 |
|
|
26 |
/* |
|
27 |
// File: macros.h |
|
28 |
// Temporary macros (mostly used by debugger agent) |
|
29 |
// from F.J. Alberti |
|
30 |
*/ |
|
31 |
|
|
32 |
|
|
33 |
#ifndef _MACROS_H_ |
|
34 |
#define _MACROS_H_ |
|
35 |
|
|
36 |
#define SAFEdelete(p) { if (p) { free (p); (p) = NULL; } } |
|
37 |
|
|
38 |
|
|
39 |
#define _SEPTRBIT 0x00000001 |
|
40 |
|
|
41 |
|
|
42 |
/* SE conversions*/ |
|
43 |
#define SEW2I(w) ((w)>>1) |
|
44 |
#define SEW2P(w) ((w)>>1) |
|
45 |
#define SEI2W(n) ((n)<<1) |
|
46 |
#define SEP2W(p) ((p)<<1 | _SEPTRBIT) |
|
47 |
|
|
48 |
#define MTOI( mot ) ((mot)>>1) |
|
49 |
#define MTOP( mot ) ((mot)>>1) |
|
50 |
#define ITOM( mot ) ((mot)<<1) |
|
51 |
#define PTOM( mot ) (((mot)<<1)+1) |
|
52 |
/*#ifndef SCOL_FLOAT_DEFINITION |
|
53 |
typedef float float32; |
|
54 |
#define SCOL_FLOAT_DEFINITION |
|
55 |
#endif*/ |
|
56 |
|
|
57 |
/* Invert two positions in the stack*/ |
|
58 |
#define INVERT(m, a, b) {tmp_res=MMget(m,a);MMset(m,a,MMget(m,b));MMset(m,b,tmp_res);} |
|
59 |
|
|
60 |
/*Stack management*/ |
|
61 |
#define SEDROP(m, n) ((m)->pp += (n)) |
|
62 |
|
|
63 |
/* String management*/ |
|
64 |
#define SEPUSHSTR(m, s) (Mpushstrbloc((m), (s))) |
|
65 |
|
|
66 |
#define CHECK(m) if ((tmp_res=m)) return tmp_res |
|
67 |
|
|
68 |
/* #define CHAR2WCHAR(c) (c == NIL ? NULL : (PtrObjWChar) MMstart (mm,((PtrObjVoid)MMstart(mm,c))->Buffer>>1))*/ |
|
69 |
|
|
70 |
/* $Iri : convert any string to utf-8 (should be used with gtk ...) Don't forget to free after used !*/ |
|
71 |
#define SCOLUTF8(string) g_locale_to_utf8 (string, -1, NULL, NULL, NULL) |
|
72 |
/* $Iri : convert any string from utf-8 Don't forget to free after used !*/ |
|
73 |
#define UTF8SCOL(string) g_locale_from_utf8 (string, -1, NULL, NULL, NULL) |
|
74 |
/* $Iri : length of the int (234 -> 3)*/ |
|
75 |
#define SIZEINT(x) floor (log10 (x)) + 1 |
|
76 |
/* $ Iri : float support */ |
|
77 |
#define FSET(val, f) { \ |
|
78 |
float g = (f); \ |
|
79 |
(val) = (*(int*)&g) & 0xfffffffe; \ |
|
80 |
} |
|
81 |
#define FGET(val) (*(float*)&(val)) |
|
82 |
|
|
83 |
#endif |
|
0 | 84 |
include/scol_glib_pregex.h | ||
---|---|---|
1 |
/* |
|
2 |
This source file is part of Scol |
|
3 |
For the latest info, see http://www.scolring.org |
|
4 |
|
|
5 |
Copyright (c) 2010 Stephane Bisaro, aka Iri <iri@irizone.net> |
|
6 |
|
|
7 |
This program is free software; you can redistribute it and/or modify it under |
|
8 |
the terms of the GNU Lesser General Public License as published by the Free Software |
|
9 |
Foundation; either version 2 of the License, or (at your option) any later |
|
10 |
version. |
|
11 |
|
|
12 |
This program is distributed in the hope that it will be useful, but WITHOUT |
|
13 |
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
|
14 |
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. |
|
15 |
|
|
16 |
You should have received a copy of the GNU Lesser General Public License along with |
|
17 |
this program; if not, write to the Free Software Foundation, Inc., 59 Temple |
|
18 |
Place - Suite 330, Boston, MA 02111-1307, USA, or go to |
|
19 |
http://www.gnu.org/copyleft/lesser.txt |
|
20 |
|
|
21 |
For others informations, please contact us from http://www.scolring.org/ |
|
22 |
*/ |
|
23 |
|
|
24 |
#ifndef __SCOL_GTK_MISC_H__ |
|
25 |
#define __SCOL_GTK_MISC_H__ |
|
26 |
|
|
27 |
#include "main.h" |
|
28 |
|
|
29 |
#define GLIB_PCRE_PKG_NB 1 |
|
30 |
|
|
31 |
#endif /* __SCOL_GTK_MISC_H__ */ |
include/scol_glib_misc.h | ||
---|---|---|
1 |
/* |
|
2 |
This source file is part of Scol |
|
3 |
For the latest info, see http://www.scolring.org |
|
4 |
|
|
5 |
Copyright (c) 2010 Stephane Bisaro, aka Iri <iri@irizone.net> |
|
6 |
|
|
7 |
This program is free software; you can redistribute it and/or modify it under |
|
8 |
the terms of the GNU Lesser General Public License as published by the Free Software |
|
9 |
Foundation; either version 2 of the License, or (at your option) any later |
|
10 |
version. |
|
11 |
|
|
12 |
This program is distributed in the hope that it will be useful, but WITHOUT |
|
13 |
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
|
14 |
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. |
|
15 |
|
|
16 |
You should have received a copy of the GNU Lesser General Public License along with |
|
17 |
this program; if not, write to the Free Software Foundation, Inc., 59 Temple |
|
18 |
Place - Suite 330, Boston, MA 02111-1307, USA, or go to |
|
19 |
http://www.gnu.org/copyleft/lesser.txt |
|
20 |
|
|
21 |
For others informations, please contact us from http://www.scolring.org/ |
|
22 |
*/ |
|
23 |
|
|
24 |
|
|
25 |
#ifndef __SCOL_GLIB_MISC_H__ |
|
26 |
#define __SCOL_GLIB_MISC_H__ |
|
27 |
|
|
28 |
#include <glib.h> |
|
29 |
|
|
30 |
|
|
31 |
gboolean scol_glib_isabsolutepath (const gchar * p); /* return TRUE if a path is an absolute path */ |
|
32 |
|
|
33 |
/* The result of these functions should NOT be freed ! */ |
|
34 |
const gchar * scol_glib_name_scolexe (); /* return the name of the executable (must not be modified or freed) */ |
|
35 |
const gchar * scol_glib_get_env (const gchar *v); /* return the value of an environment variable */ |
|
36 |
const gchar * scol_glib_get_hostname (); /* return the host name (must not be modified or freed) */ |
|
37 |
const gchar * scol_glib_get_username (); /* return the name of the current user */ |
|
38 |
|
|
39 |
/* The result of these functions should be freed when it is no longer needed ! */ |
|
40 |
gchar * scol_glib_filename_scol (); /* return the absolute path of the current Scol. Use g_free */ |
|
41 |
gchar * scol_glib_dirname_scol (); /* return the absolute path of the directory of Scol. Use g_free */ |
|
42 |
gchar * scol_glib_basename (const gchar *f); /* return the basename (the file) of any path. Use g_free */ |
|
43 |
char * scol_glib_get_sizefordisplay (int v); /* return a comprehensive size string. Use g_free */ |
|
44 |
|
|
45 |
#endif /* __SCOL_GLIB_MISC_H__ */ |
src/scol_glib_pregex.c | ||
---|---|---|
1 |
/* |
|
2 |
This source file is part of Scol |
|
3 |
For the latest info, see http://www.scolring.org |
|
4 |
|
|
5 |
Copyright (c) 2010 Stephane Bisaro, aka Iri <iri@irizone.net> |
|
6 |
|
|
7 |
This program is free software; you can redistribute it and/or modify it under |
|
8 |
the terms of the GNU Lesser General Public License as published by the Free Software |
|
9 |
Foundation; either version 2 of the License, or (at your option) any later |
|
10 |
version. |
|
11 |
|
|
12 |
This program is distributed in the hope that it will be useful, but WITHOUT |
|
13 |
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
|
14 |
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. |
|
15 |
|
|
16 |
You should have received a copy of the GNU Lesser General Public License along with |
|
17 |
this program; if not, write to the Free Software Foundation, Inc., 59 Temple |
|
18 |
Place - Suite 330, Boston, MA 02111-1307, USA, or go to |
|
19 |
http://www.gnu.org/copyleft/lesser.txt |
|
20 |
|
|
21 |
For others informations, please contact us from http://www.scolring.org/ |
|
22 |
*/ |
|
23 |
|
|
24 |
|
|
25 |
#include "../include/scol_glib_pregex.h" |
src/scol_glib_misc.c | ||
---|---|---|
1 |
/* |
|
2 |
This source file is part of Scol |
|
3 |
For the latest info, see http://www.scolring.org |
|
4 |
|
|
5 |
Copyright (c) 2010 Stephane Bisaro, aka Iri <iri@irizone.net> |
|
6 |
|
|
7 |
This program is free software; you can redistribute it and/or modify it under |
|
8 |
the terms of the GNU Lesser General Public License as published by the Free Software |
|
9 |
Foundation; either version 2 of the License, or (at your option) any later |
|
10 |
version. |
|
11 |
|
|
12 |
This program is distributed in the hope that it will be useful, but WITHOUT |
|
13 |
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
|
14 |
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. |
|
15 |
|
|
16 |
You should have received a copy of the GNU Lesser General Public License along with |
|
17 |
this program; if not, write to the Free Software Foundation, Inc., 59 Temple |
|
18 |
Place - Suite 330, Boston, MA 02111-1307, USA, or go to |
|
19 |
http://www.gnu.org/copyleft/lesser.txt |
|
20 |
|
|
21 |
For others informations, please contact us from http://www.scolring.org/ |
|
22 |
*/ |
|
23 |
|
|
24 |
|
|
25 |
#include "../include/scol_glib_misc.h" |
|
26 |
|
|
27 |
|
|
28 |
/** |
|
29 |
* \brief Returns the name of the executable Scol. The filename should NOT be freed |
|
30 |
* It should return "scol.exe" (or "unsmwin.exe" on the old Scol version) on MS Windows |
|
31 |
* On GNU/ Linux, it should return "scol" or "usmunix" |
|
32 |
* \return gchar * : this filename |
|
33 |
*/ |
|
34 |
const gchar * scol_glib_name_scolexe () |
|
35 |
{ |
|
36 |
return g_get_application_name (); |
|
37 |
} |
|
38 |
|
|
39 |
/** |
|
40 |
* \brief Returns the filename of the current Scol. The filename should be freed with g_free |
|
41 |
* \return gchar * : this filename |
|
42 |
*/ |
|
43 |
gchar * scol_glib_filename_scol () |
|
44 |
{ |
|
45 |
return g_find_program_in_path (scol_glib_name_scolexe ()); |
|
46 |
} |
|
47 |
|
|
48 |
/** |
|
49 |
* \brief Returns the directory of the current Scol. The filename should be freed with g_free |
|
50 |
* \return gchar * : this filename |
|
51 |
*/ |
|
52 |
gchar * scol_glib_dirname_scol () |
|
53 |
{ |
|
54 |
gchar * f = scol_glib_filename_scol (); |
|
55 |
gchar * p; |
|
56 |
|
|
57 |
p = g_path_get_dirname (f); |
|
58 |
g_free (f); |
|
59 |
return p; |
|
60 |
} |
|
61 |
|
|
62 |
/** |
|
63 |
* \brief Returns the basename of any filename. The result should be freed with g_free |
|
64 |
* \param : const gchar * : any filename |
|
65 |
* \return gchar * : this base name |
|
66 |
*/ |
|
67 |
gchar * scol_glib_basename (const gchar *f) |
|
68 |
{ |
|
69 |
return g_path_get_basename (f); |
|
70 |
} |
|
71 |
|
|
72 |
/** |
|
73 |
* \brief Returns the value of any environment variable or NULL if not found |
|
74 |
* \param const gchar * : an environment variable, without "$" on Linux and without "%" on Windows |
|
75 |
* \return const gchar * : the value or NULL if not ound |
|
76 |
* This is an alias of g_getenv () |
|
77 |
* The result should not be freed |
|
78 |
*/ |
|
79 |
const gchar * scol_glib_get_env (const gchar *v) |
|
80 |
{ |
|
81 |
return g_getenv (v); |
|
82 |
} |
|
83 |
|
|
84 |
/** |
|
85 |
* \brief Returns the name ofthe current user |
|
86 |
* \return const gchar * : the name |
|
87 |
* This is an alias of g_get_user_name () |
|
88 |
*/ |
|
89 |
const gchar * scol_glib_get_username () |
|
90 |
{ |
|
91 |
return g_get_user_name (); |
|
92 |
} |
|
93 |
|
|
94 |
/** |
|
95 |
* \brief Returns the host name. Don't free ! |
|
96 |
* \return const gchar * : the result. |
|
97 |
*/ |
|
98 |
const gchar * scol_glib_get_hostname () |
|
99 |
{ |
|
100 |
return g_get_host_name (); |
|
101 |
} |
|
102 |
|
|
103 |
/** |
|
104 |
* \brief Returns TRUE if the given path is an absolute path, otherwise FALSE |
|
105 |
* \param const gchar * : any path |
|
106 |
* \return gboolean |
|
107 |
*/ |
|
108 |
gboolean scol_glib_isabsolutepath (const gchar * p) |
|
109 |
{ |
|
110 |
return g_path_is_absolute (p); |
|
111 |
} |
|
112 |
|
|
113 |
/** |
|
114 |
* \brief Returns a string with an easy sizenumber (from bytes to KB, MO, ..) |
|
115 |
* \param int : an integer (by example a Scol value) |
|
116 |
* \return char * |
|
117 |
* The result should be freed with g_free |
|
118 |
*/ |
|
119 |
char * scol_glib_get_sizefordisplay (int v) |
|
120 |
{ |
|
121 |
return g_format_size_for_display ((goffset) v); |
|
122 |
} |
|
123 |
|
|
124 |
|
|
125 |
|
bin/libutils_g.dll.def | ||
---|---|---|
1 |
EXPORTS |
|
2 |
scol_glib_basename @1 |
|
3 |
scol_glib_dirname_scol @2 |
|
4 |
scol_glib_filename_scol @3 |
|
5 |
scol_glib_get_env @4 |
|
6 |
scol_glib_get_hostname @5 |
|
7 |
scol_glib_get_sizefordisplay @6 |
|
8 |
scol_glib_get_username @7 |
|
9 |
scol_glib_isabsolutepath @8 |
|
10 |
scol_glib_name_scolexe @9 |
bin/Debug/libutils_g.dll.def | ||
---|---|---|
1 |
EXPORTS |
|
2 |
scol_glib_basename @1 |
|
3 |
scol_glib_dirname_scol @2 |
|
4 |
scol_glib_filename_scol @3 |
|
5 |
scol_glib_get_env @4 |
|
6 |
scol_glib_get_hostname @5 |
|
7 |
scol_glib_get_sizefordisplay @6 |
|
8 |
scol_glib_get_username @7 |
|
9 |
scol_glib_isabsolutepath @8 |
|
10 |
scol_glib_name_scolexe @9 |
utils_g.cbp | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> |
|
2 |
<CodeBlocks_project_file> |
|
3 |
<FileVersion major="1" minor="6" /> |
|
4 |
<Project> |
|
5 |
<Option title="utils_g" /> |
|
6 |
<Option pch_mode="2" /> |
|
7 |
<Option compiler="gcc" /> |
|
8 |
<Build> |
|
9 |
<Target title="Debug"> |
|
10 |
<Option output="bin\Debug\libutils_g" prefix_auto="1" extension_auto="1" /> |
|
11 |
<Option object_output="obj\Debug\" /> |
|
12 |
<Option type="3" /> |
|
13 |
<Option compiler="gcc" /> |
|
14 |
<Option createDefFile="1" /> |
|
15 |
<Option createStaticLib="1" /> |
|
16 |
<Compiler> |
|
17 |
<Add option="-g" /> |
|
18 |
</Compiler> |
|
19 |
</Target> |
|
20 |
<Target title="Release"> |
|
21 |
<Option output="bin\libutils_g" prefix_auto="1" extension_auto="1" /> |
|
22 |
<Option object_output="obj\" /> |
|
23 |
<Option type="3" /> |
|
24 |
<Option compiler="gcc" /> |
|
25 |
<Option createDefFile="1" /> |
|
26 |
<Option createStaticLib="1" /> |
|
27 |
<Compiler> |
|
28 |
<Add option="-O2" /> |
|
29 |
</Compiler> |
|
30 |
<Linker> |
|
31 |
<Add option="-s" /> |
|
32 |
</Linker> |
|
33 |
</Target> |
|
34 |
</Build> |
|
35 |
<Compiler> |
|
36 |
<Add option="-Wall" /> |
|
37 |
</Compiler> |
|
38 |
<Unit filename="main.c"> |
|
39 |
<Option compilerVar="CC" /> |
|
40 |
</Unit> |
|
41 |
<Extensions> |
|
42 |
<code_completion /> |
|
43 |
<debugger /> |
|
44 |
</Extensions> |
|
45 |
</Project> |
|
46 |
</CodeBlocks_project_file> |
Also available in: Unified diff
UTILS_G
- first commit