wip II
[sdk] / compiler / bootstrap / ecere / bootstrap / memory.c
1 /* Code generated from eC source file: memory.ec */
2 #if defined(__GNUC__)
3 typedef long long int64;
4 typedef unsigned long long uint64;
5 #ifndef _WIN32
6 #define __declspec(x)
7 #endif
8 #elif defined(__TINYC__)
9 #include <stdarg.h>
10 #define __builtin_va_list va_list
11 #define __builtin_va_start va_start
12 #define __builtin_va_end va_end
13 #ifdef _WIN32
14 #define strcasecmp stricmp
15 #define strncasecmp strnicmp
16 #define __declspec(x) __attribute__((x))
17 #else
18 #define __declspec(x)
19 #endif
20 typedef long long int64;
21 typedef unsigned long long uint64;
22 #else
23 typedef __int64 int64;
24 typedef unsigned __int64 uint64;
25 #endif
26 #ifdef __BIG_ENDIAN__
27 #define __ENDIAN_PAD(x) (8 - (x))
28 #else
29 #define __ENDIAN_PAD(x) 0
30 #endif
31 #include <stdint.h>
32 #include <sys/types.h>
33 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
34
35 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
36
37 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
38
39 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
40
41 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
42
43 struct __ecereNameSpace__ecere__sys__BTNode;
44
45 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
46
47 struct __ecereNameSpace__ecere__sys__BinaryTree
48 {
49 struct __ecereNameSpace__ecere__sys__BTNode * root;
50 int count;
51 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
52 void (*  FreeKey)(void *  key);
53 } __attribute__ ((gcc_struct));
54
55 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
56
57 struct __ecereNameSpace__ecere__sys__OldList
58 {
59 void *  first;
60 void *  last;
61 int count;
62 unsigned int offset;
63 unsigned int circ;
64 } __attribute__ ((gcc_struct));
65
66 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
67
68 struct __ecereNameSpace__ecere__com__Class
69 {
70 struct __ecereNameSpace__ecere__com__Class * prev;
71 struct __ecereNameSpace__ecere__com__Class * next;
72 char *  name;
73 int offset;
74 int structSize;
75 int (* *  _vTbl)();
76 int vTblSize;
77 int (*  Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
78 void (*  Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
79 int offsetClass;
80 int sizeClass;
81 struct __ecereNameSpace__ecere__com__Class * base;
82 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
83 struct __ecereNameSpace__ecere__sys__BinaryTree members;
84 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
85 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
86 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
87 struct __ecereNameSpace__ecere__sys__OldList derivatives;
88 int memberID;
89 int startMemberID;
90 int type;
91 struct __ecereNameSpace__ecere__com__Instance * module;
92 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
93 char *  dataTypeString;
94 struct __ecereNameSpace__ecere__com__Instance * dataType;
95 int typeSize;
96 int defaultAlignment;
97 void (*  Initialize)();
98 int memberOffset;
99 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
100 char *  designerClass;
101 unsigned int noExpansion;
102 char *  defaultProperty;
103 unsigned int comRedefinition;
104 int count;
105 unsigned int isRemote;
106 unsigned int internalDecl;
107 void *  data;
108 unsigned int computeSize;
109 int structAlignment;
110 int destructionWatchOffset;
111 unsigned int fixed;
112 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
113 int inheritanceAccess;
114 char *  fullName;
115 void *  symbol;
116 struct __ecereNameSpace__ecere__sys__OldList conversions;
117 struct __ecereNameSpace__ecere__sys__OldList templateParams;
118 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
119 struct __ecereNameSpace__ecere__com__Class * templateClass;
120 struct __ecereNameSpace__ecere__sys__OldList templatized;
121 int numParams;
122 unsigned int isInstanceClass;
123 unsigned int byValueSystemClass;
124 } __attribute__ ((gcc_struct));
125
126 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
127
128 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
129
130 struct __ecereNameSpace__ecere__com__Instance
131 {
132 int (* *  _vTbl)();
133 struct __ecereNameSpace__ecere__com__Class * _class;
134 int _refCount;
135 } __attribute__ ((gcc_struct));
136
137 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
138
139 struct __ecereNameSpace__ecere__com__Property
140 {
141 struct __ecereNameSpace__ecere__com__Property * prev;
142 struct __ecereNameSpace__ecere__com__Property * next;
143 char *  name;
144 unsigned int isProperty;
145 int memberAccess;
146 int id;
147 struct __ecereNameSpace__ecere__com__Class * _class;
148 char *  dataTypeString;
149 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
150 struct __ecereNameSpace__ecere__com__Instance * dataType;
151 void (*  Set)(void * , int);
152 int (*  Get)(void * );
153 unsigned int (*  IsSet)(void * );
154 void *  data;
155 void *  symbol;
156 int vid;
157 unsigned int conversion;
158 unsigned int watcherOffset;
159 char *  category;
160 unsigned int compiled;
161 unsigned int selfWatchable;
162 unsigned int isWatchable;
163 } __attribute__ ((gcc_struct));
164
165 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
166
167 struct __ecereNameSpace__ecere__com__DataMember
168 {
169 struct __ecereNameSpace__ecere__com__DataMember * prev;
170 struct __ecereNameSpace__ecere__com__DataMember * next;
171 char *  name;
172 unsigned int isProperty;
173 int memberAccess;
174 int id;
175 struct __ecereNameSpace__ecere__com__Class * _class;
176 char *  dataTypeString;
177 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
178 struct __ecereNameSpace__ecere__com__Instance * dataType;
179 int type;
180 int offset;
181 int memberID;
182 struct __ecereNameSpace__ecere__sys__OldList members;
183 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
184 int memberOffset;
185 int structAlignment;
186 } __attribute__ ((gcc_struct));
187
188 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
189
190 struct __ecereNameSpace__ecere__com__Method
191 {
192 char *  name;
193 struct __ecereNameSpace__ecere__com__Method * parent;
194 struct __ecereNameSpace__ecere__com__Method * left;
195 struct __ecereNameSpace__ecere__com__Method * right;
196 int depth;
197 int (*  function)();
198 int vid;
199 int type;
200 struct __ecereNameSpace__ecere__com__Class * _class;
201 void *  symbol;
202 char *  dataTypeString;
203 struct __ecereNameSpace__ecere__com__Instance * dataType;
204 int memberAccess;
205 } __attribute__ ((gcc_struct));
206
207 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
208
209 struct __ecereNameSpace__ecere__com__SerialBuffer
210 {
211 unsigned char *  _buffer;
212 unsigned int count;
213 unsigned int _size;
214 unsigned int pos;
215 } __attribute__ ((gcc_struct));
216
217 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
218
219 struct __ecereNameSpace__ecere__com__DataValue
220 {
221 union
222 {
223 char c;
224 unsigned char uc;
225 short s;
226 unsigned short us;
227 int i;
228 unsigned int ui;
229 void *  p;
230 float f;
231 double d;
232 long long i64;
233 uint64 ui64;
234 } __attribute__ ((gcc_struct));
235 } __attribute__ ((gcc_struct));
236
237 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
238
239 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
240 {
241 union
242 {
243 struct
244 {
245 char *  dataTypeString;
246 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
247 } __attribute__ ((gcc_struct));
248 struct __ecereNameSpace__ecere__com__DataValue expression;
249 struct
250 {
251 char *  memberString;
252 union
253 {
254 struct __ecereNameSpace__ecere__com__DataMember * member;
255 struct __ecereNameSpace__ecere__com__Property * prop;
256 struct __ecereNameSpace__ecere__com__Method * method;
257 } __attribute__ ((gcc_struct));
258 } __attribute__ ((gcc_struct));
259 } __attribute__ ((gcc_struct));
260 } __attribute__ ((gcc_struct));
261
262 extern void *  memmove(void * , const void * , size_t size);
263
264 void __ecereNameSpace__ecere__sys__MoveBytes(void * dest, const void * source, unsigned int count)
265 {
266 memmove(dest, source, count);
267 }
268
269 extern void *  memcpy(void * , const void * , size_t size);
270
271 void __ecereNameSpace__ecere__sys__CopyBytes(void * dest, const void * source, unsigned int count)
272 {
273 memcpy(dest, source, count);
274 }
275
276 void __ecereNameSpace__ecere__sys__CopyBytesBy2(void * dest, const void * source, unsigned int count)
277 {
278 memcpy(dest, source, count << 1);
279 }
280
281 void __ecereNameSpace__ecere__sys__CopyBytesBy4(void * dest, const void * source, unsigned int count)
282 {
283 memcpy(dest, source, count << 2);
284 }
285
286 extern void *  memset(void *  area, int value, size_t count);
287
288 void __ecereNameSpace__ecere__sys__FillBytes(void * area, unsigned char value, unsigned int count)
289 {
290 memset(area, value, count);
291 }
292
293 void __ecereNameSpace__ecere__sys__FillBytesBy2(void * area, unsigned short value, unsigned int count)
294 {
295 unsigned short * dest = area;
296 int c;
297
298 for(c = 0; c < count; c++)
299 dest[c] = value;
300 }
301
302 void __ecereNameSpace__ecere__sys__FillBytesBy4(void * area, unsigned int value, unsigned int count)
303 {
304 unsigned int * dest = area;
305 int c;
306
307 for(c = 0; c < count; c++)
308 dest[c] = value;
309 }
310
311 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
312
313 struct __ecereNameSpace__ecere__com__GlobalFunction;
314
315 extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
316
317 void __ecereRegisterModule_memory(struct __ecereNameSpace__ecere__com__Instance * module)
318 {
319 struct __ecereNameSpace__ecere__com__Class * class;
320
321 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MoveBytes", "void ecere::sys::MoveBytes(void * dest, const void * source, uint count)", __ecereNameSpace__ecere__sys__MoveBytes, module, 1);
322 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyBytes", "void ecere::sys::CopyBytes(void * dest, const void * source, uint count)", __ecereNameSpace__ecere__sys__CopyBytes, module, 1);
323 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyBytesBy2", "void ecere::sys::CopyBytesBy2(void * dest, const void * source, uint count)", __ecereNameSpace__ecere__sys__CopyBytesBy2, module, 1);
324 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyBytesBy4", "void ecere::sys::CopyBytesBy4(void * dest, const void * source, uint count)", __ecereNameSpace__ecere__sys__CopyBytesBy4, module, 1);
325 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FillBytes", "void ecere::sys::FillBytes(void * area, byte value, uint count)", __ecereNameSpace__ecere__sys__FillBytes, module, 1);
326 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FillBytesBy2", "void ecere::sys::FillBytesBy2(void * area, uint16 value, uint count)", __ecereNameSpace__ecere__sys__FillBytesBy2, module, 1);
327 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FillBytesBy4", "void ecere::sys::FillBytesBy4(void * area, uint value, uint count)", __ecereNameSpace__ecere__sys__FillBytesBy4, module, 1);
328 }
329
330 void __ecereUnregisterModule_memory(struct __ecereNameSpace__ecere__com__Instance * module)
331 {
332
333 }
334