marked all generated bootstrap C source files with the updated 'code generated from...
[sdk] / compiler / bootstrap / ecere / bootstrap / System.c
1 /* Code generated from eC source file: System.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
34 #if /*defined(_W64) || */(defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__)
35 #define _64BIT 1
36 #else
37 #define _64BIT 0
38 #endif
39
40 #define arch_PointerSize                  sizeof(void *)
41 #define structSize_Instance               (_64BIT ? 24 : 12)
42 #define structSize_OldList                (_64BIT ? 32 : 20)
43
44 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
45
46 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
47
48 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
49
50 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
51
52 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
53
54 struct __ecereNameSpace__ecere__sys__BTNode;
55
56 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
57
58 struct __ecereNameSpace__ecere__sys__BinaryTree
59 {
60 struct __ecereNameSpace__ecere__sys__BTNode * root;
61 int count;
62 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
63 void (*  FreeKey)(void *  key);
64 } __attribute__ ((gcc_struct));
65
66 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
67
68 struct __ecereNameSpace__ecere__sys__OldList
69 {
70 void *  first;
71 void *  last;
72 int count;
73 unsigned int offset;
74 unsigned int circ;
75 } __attribute__ ((gcc_struct));
76
77 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
78
79 struct __ecereNameSpace__ecere__com__Class
80 {
81 struct __ecereNameSpace__ecere__com__Class * prev;
82 struct __ecereNameSpace__ecere__com__Class * next;
83 char *  name;
84 int offset;
85 int structSize;
86 int (* *  _vTbl)();
87 int vTblSize;
88 int (*  Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
89 void (*  Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
90 int offsetClass;
91 int sizeClass;
92 struct __ecereNameSpace__ecere__com__Class * base;
93 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
94 struct __ecereNameSpace__ecere__sys__BinaryTree members;
95 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
96 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
97 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
98 struct __ecereNameSpace__ecere__sys__OldList derivatives;
99 int memberID;
100 int startMemberID;
101 int type;
102 struct __ecereNameSpace__ecere__com__Instance * module;
103 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
104 char *  dataTypeString;
105 struct __ecereNameSpace__ecere__com__Instance * dataType;
106 int typeSize;
107 int defaultAlignment;
108 void (*  Initialize)();
109 int memberOffset;
110 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
111 char *  designerClass;
112 unsigned int noExpansion;
113 char *  defaultProperty;
114 unsigned int comRedefinition;
115 int count;
116 unsigned int isRemote;
117 unsigned int internalDecl;
118 void *  data;
119 unsigned int computeSize;
120 int structAlignment;
121 int destructionWatchOffset;
122 unsigned int fixed;
123 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
124 int inheritanceAccess;
125 char *  fullName;
126 void *  symbol;
127 struct __ecereNameSpace__ecere__sys__OldList conversions;
128 struct __ecereNameSpace__ecere__sys__OldList templateParams;
129 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
130 struct __ecereNameSpace__ecere__com__Class * templateClass;
131 struct __ecereNameSpace__ecere__sys__OldList templatized;
132 int numParams;
133 unsigned int isInstanceClass;
134 } __attribute__ ((gcc_struct));
135
136 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
137
138 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
139
140 struct __ecereNameSpace__ecere__com__Instance
141 {
142 int (* *  _vTbl)();
143 struct __ecereNameSpace__ecere__com__Class * _class;
144 int _refCount;
145 } __attribute__ ((gcc_struct));
146
147 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
148
149 struct __ecereNameSpace__ecere__com__Property
150 {
151 struct __ecereNameSpace__ecere__com__Property * prev;
152 struct __ecereNameSpace__ecere__com__Property * next;
153 char *  name;
154 unsigned int isProperty;
155 int memberAccess;
156 int id;
157 struct __ecereNameSpace__ecere__com__Class * _class;
158 char *  dataTypeString;
159 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
160 struct __ecereNameSpace__ecere__com__Instance * dataType;
161 void (*  Set)(void * , int);
162 int (*  Get)(void * );
163 unsigned int (*  IsSet)(void * );
164 void *  data;
165 void *  symbol;
166 int vid;
167 unsigned int conversion;
168 unsigned int watcherOffset;
169 char *  category;
170 unsigned int compiled;
171 unsigned int selfWatchable;
172 unsigned int isWatchable;
173 } __attribute__ ((gcc_struct));
174
175 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
176
177 struct __ecereNameSpace__ecere__com__DataMember
178 {
179 struct __ecereNameSpace__ecere__com__DataMember * prev;
180 struct __ecereNameSpace__ecere__com__DataMember * next;
181 char *  name;
182 unsigned int isProperty;
183 int memberAccess;
184 int id;
185 struct __ecereNameSpace__ecere__com__Class * _class;
186 char *  dataTypeString;
187 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
188 struct __ecereNameSpace__ecere__com__Instance * dataType;
189 int type;
190 int offset;
191 int memberID;
192 struct __ecereNameSpace__ecere__sys__OldList members;
193 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
194 int memberOffset;
195 int structAlignment;
196 } __attribute__ ((gcc_struct));
197
198 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
199
200 struct __ecereNameSpace__ecere__com__Method
201 {
202 char *  name;
203 struct __ecereNameSpace__ecere__com__Method * parent;
204 struct __ecereNameSpace__ecere__com__Method * left;
205 struct __ecereNameSpace__ecere__com__Method * right;
206 int depth;
207 int (*  function)();
208 int vid;
209 int type;
210 struct __ecereNameSpace__ecere__com__Class * _class;
211 void *  symbol;
212 char *  dataTypeString;
213 struct __ecereNameSpace__ecere__com__Instance * dataType;
214 int memberAccess;
215 } __attribute__ ((gcc_struct));
216
217 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
218
219 struct __ecereNameSpace__ecere__com__SerialBuffer
220 {
221 unsigned char *  _buffer;
222 unsigned int count;
223 unsigned int _size;
224 unsigned int pos;
225 } __attribute__ ((gcc_struct));
226
227 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
228
229 struct __ecereNameSpace__ecere__com__DataValue
230 {
231 union
232 {
233 char c;
234 unsigned char uc;
235 short s;
236 unsigned short us;
237 int i;
238 unsigned int ui;
239 void *  p;
240 float f;
241 double d;
242 long long i64;
243 uint64 ui64;
244 } __attribute__ ((gcc_struct));
245 } __attribute__ ((gcc_struct));
246
247 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
248
249 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
250 {
251 union
252 {
253 struct
254 {
255 char *  dataTypeString;
256 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
257 } __attribute__ ((gcc_struct));
258 struct __ecereNameSpace__ecere__com__DataValue expression;
259 struct
260 {
261 char *  memberString;
262 union
263 {
264 struct __ecereNameSpace__ecere__com__DataMember * member;
265 struct __ecereNameSpace__ecere__com__Property * prop;
266 struct __ecereNameSpace__ecere__com__Method * method;
267 } __attribute__ ((gcc_struct));
268 } __attribute__ ((gcc_struct));
269 } __attribute__ ((gcc_struct));
270 } __attribute__ ((gcc_struct));
271
272 typedef __builtin_va_list va_list;
273
274 void exit(int status);
275
276 void * calloc(size_t nmemb, size_t size);
277
278 void free(void * ptr);
279
280 void * malloc(size_t size);
281
282 void * realloc(void * ptr, size_t size);
283
284 long int strtol(const char * nptr, char ** endptr, int base);
285
286 long long int strtoll(const char * nptr, char ** endptr, int base);
287
288 unsigned long long int strtoull(const char * nptr, char ** endptr, int base);
289
290 typedef void FILE;
291
292 FILE * bsl_stdin(void);
293
294 FILE * bsl_stdout(void);
295
296 FILE * bsl_stderr(void);
297
298 char * fgets(char * s, int size, FILE * stream);
299
300 FILE * fopen(const char * path, const char * mode);
301
302 int fclose(FILE * fp);
303
304 int fflush(FILE * stream);
305
306 int fgetc(FILE * stream);
307
308 int fprintf(FILE * stream, const char * format, ...);
309
310 int fputc(int c, FILE * stream);
311
312 size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
313
314 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
315
316 int vsnprintf(char *, size_t, const char *, ...);
317
318 int snprintf(char * str, size_t, const char * format, ...);
319
320 int fseek(FILE * stream, long offset, int whence);
321
322 long ftell(FILE * stream);
323
324 int feof(FILE * stream);
325
326 int ferror(FILE * stream);
327
328 int fileno(FILE * stream);
329
330 FILE * eC_stdout(void);
331
332 FILE * eC_stderr(void);
333
334 unsigned int System_MoveFile(char * source, char * dest);
335
336 unsigned int System_RenameFile(char * oldName, char * newName);
337
338 unsigned int System_DeleteFile(char * fileName);
339
340 unsigned int System_MakeDir(char * path);
341
342 unsigned int System_RemoveDir(char * path);
343
344 char * System_GetWorkingDir(char * buf, int size);
345
346 unsigned int System_ChangeWorkingDir(char * buf);
347
348 char * System_GetEnvironment(char * envName, char * envValue, int max);
349
350 void System_SetEnvironment(char * envName, char * envValue);
351
352 void System_UnsetEnvironment(char * envName);
353
354 unsigned int System_Execute(char * env, char * command, va_list args);
355
356 unsigned int System_ShellOpen(char * fileName, va_list args);
357
358 void System_GetFreeSpace(char * path, struct __ecereNameSpace__ecere__com__Instance ** size);
359
360 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__LoggingMode;
361
362 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__ErrorLevel;
363
364
365 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__ErrorCode;
366
367 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__SysErrorCode;
368
369
370 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Array;
371
372 struct __ecereNameSpace__ecere__com__Array
373 {
374 uint64 *  array;
375 unsigned int count;
376 unsigned int minAllocSize;
377 } __attribute__ ((gcc_struct));
378
379 extern char *  __ecereNameSpace__ecere__GetTranslatedString(struct __ecereNameSpace__ecere__com__Instance * module, char *  string, char *  stringAndContext);
380
381 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
382
383 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BuiltInContainer;
384
385 struct __ecereNameSpace__ecere__com__BuiltInContainer
386 {
387 void *  _vTbl;
388 struct __ecereNameSpace__ecere__com__Class * _class;
389 int _refCount;
390 void *  data;
391 int count;
392 struct __ecereNameSpace__ecere__com__Class * type;
393 } __attribute__ ((gcc_struct));
394
395 static struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__errorMessages;
396
397 unsigned int __ecereNameSpace__ecere__sys__MoveFile(char * source, char * dest)
398 {
399 return System_MoveFile(source, dest);
400 }
401
402 unsigned int __ecereNameSpace__ecere__sys__RenameFile(char * oldName, char * newName)
403 {
404 return System_RenameFile(oldName, newName);
405 }
406
407 unsigned int __ecereNameSpace__ecere__sys__DeleteFile(char * fileName)
408 {
409 return System_DeleteFile(fileName);
410 }
411
412 unsigned int __ecereNameSpace__ecere__sys__MakeDir(char * path)
413 {
414 return System_MakeDir(path);
415 }
416
417 unsigned int __ecereNameSpace__ecere__sys__RemoveDir(char * path)
418 {
419 return System_RemoveDir(path);
420 }
421
422 char * __ecereNameSpace__ecere__sys__GetWorkingDir(char * buf, int size)
423 {
424 return System_GetWorkingDir(buf, size);
425 }
426
427 unsigned int __ecereNameSpace__ecere__sys__ChangeWorkingDir(char * buf)
428 {
429 return System_ChangeWorkingDir(buf);
430 }
431
432 char * __ecereNameSpace__ecere__sys__GetEnvironment(char * envName, char * envValue, int max)
433 {
434 return System_GetEnvironment(envName, envValue, max);
435 }
436
437 void __ecereNameSpace__ecere__sys__SetEnvironment(char * envName, char * envValue)
438 {
439 System_SetEnvironment(envName, envValue);
440 }
441
442 void __ecereNameSpace__ecere__sys__UnsetEnvironment(char * envName)
443 {
444 System_UnsetEnvironment(envName);
445 }
446
447 unsigned int __ecereNameSpace__ecere__sys__Execute(char * command, ...)
448 {
449 unsigned int result;
450 va_list args;
451
452 __builtin_va_start(args, command);
453 result = System_Execute((((void *)0)), command, args);
454 __builtin_va_end(args);
455 return result;
456 }
457
458 unsigned int __ecereNameSpace__ecere__sys__ExecuteEnv(char * env, char * command, ...)
459 {
460 unsigned int result;
461 va_list args;
462
463 __builtin_va_start(args, command);
464 result = System_Execute(env, command, args);
465 __builtin_va_end(args);
466 return result;
467 }
468
469 unsigned int __ecereNameSpace__ecere__sys__ShellOpen(char * fileName, ...)
470 {
471 unsigned int result;
472 va_list args;
473
474 result = System_ShellOpen(fileName, args);
475 __builtin_va_end(args);
476 return result;
477 }
478
479 void __ecereNameSpace__ecere__sys__GetFreeSpace(char * path, struct __ecereNameSpace__ecere__com__Instance ** size)
480 {
481 System_GetFreeSpace(path, size);
482 }
483
484 void __ecereNameSpace__ecere__sys__Log(char *  text);
485
486 void __ecereNameSpace__ecere__sys__Logf(char * format, ...)
487 {
488 va_list args;
489 char string[1025];
490
491 __builtin_va_start(args, format);
492 vsnprintf(string, sizeof string, format, args);
493 string[sizeof string - 1] = (char)0;
494 __ecereNameSpace__ecere__sys__Log(string);
495 __builtin_va_end(args);
496 }
497
498 struct __ecereNameSpace__ecere__sys__System __ecereNameSpace__ecere__sys__globalSystem;
499
500 struct __ecereNameSpace__ecere__sys__System
501 {
502 int errorLoggingMode;
503 char * errorBuffer;
504 int errorBufferSize;
505 char logFile[797];
506 unsigned int lastErrorCode;
507 int errorLevel;
508 struct __ecereNameSpace__ecere__com__Instance * eventSemaphore;
509 struct __ecereNameSpace__ecere__sys__OldList fileMonitors;
510 struct __ecereNameSpace__ecere__com__Instance * fileMonitorMutex;
511 struct __ecereNameSpace__ecere__com__Instance * fileMonitorThread;
512 unsigned int systemTerminate;
513 } __attribute__ ((gcc_struct));
514
515 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__System;
516
517 extern int fputs(char * , void *  stream);
518
519 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char *  fileName, int mode);
520
521 extern char *  strcat(char * , const char * );
522
523 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts;
524
525 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
526
527 void __ecereNameSpace__ecere__sys__Log(char * text)
528 {
529 switch(__ecereNameSpace__ecere__sys__globalSystem.errorLoggingMode)
530 {
531 case 3:
532 case 1:
533 fputs(text, eC_stdout());
534 fflush(eC_stdout());
535 break;
536 case 2:
537 fputs(text, eC_stderr());
538 fflush(eC_stderr());
539 break;
540 case 4:
541 {
542 struct __ecereNameSpace__ecere__com__Instance * f;
543
544 if((f = __ecereNameSpace__ecere__sys__FileOpen(__ecereNameSpace__ecere__sys__globalSystem.logFile, 3)))
545 {
546 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, text);
547 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
548 }
549 break;
550 }
551 case 6:
552 case 5:
553 strcat(__ecereNameSpace__ecere__sys__globalSystem.errorBuffer, text);
554 break;
555 }
556 }
557
558 extern int printf(char * , ...);
559
560 void __ecereNameSpace__ecere__sys__DumpErrors(unsigned int display)
561 {
562 if(__ecereNameSpace__ecere__sys__globalSystem.errorBuffer && __ecereNameSpace__ecere__sys__globalSystem.errorBuffer[0])
563 {
564 if(display)
565 {
566 printf(__ecereNameSpace__ecere__sys__globalSystem.errorBuffer);
567 }
568 __ecereNameSpace__ecere__sys__globalSystem.errorBuffer[0] = '\0';
569 }
570 }
571
572 void __ecereNameSpace__ecere__sys__LogErrorCode(unsigned int errorCode, char * details)
573 {
574 if(((int)((errorCode & 0x3000) >> 12)) <= __ecereNameSpace__ecere__sys__globalSystem.errorLevel)
575 {
576 if(details)
577 __ecereNameSpace__ecere__sys__Logf("System Error [%d]: %s (%s).\n", ((int)((errorCode & 0x3000) >> 12)), ((char **)((struct __ecereNameSpace__ecere__com__Array *)(((char *)__ecereNameSpace__ecere__sys__errorMessages + structSize_Instance)))->array)[((unsigned int)((errorCode & 0xFFF) >> 0))], details);
578 else
579 __ecereNameSpace__ecere__sys__Logf("System Error [%d]: %s.\n", ((int)((errorCode & 0x3000) >> 12)), ((char **)((struct __ecereNameSpace__ecere__com__Array *)(((char *)__ecereNameSpace__ecere__sys__errorMessages + structSize_Instance)))->array)[((unsigned int)((errorCode & 0xFFF) >> 0))]);
580 }
581 __ecereNameSpace__ecere__sys__globalSystem.lastErrorCode = errorCode;
582 }
583
584 unsigned int __ecereNameSpace__ecere__sys__GetLastErrorCode()
585 {
586 return (unsigned int)__ecereNameSpace__ecere__sys__globalSystem.lastErrorCode;
587 }
588
589 void __ecereNameSpace__ecere__sys__ResetError()
590 {
591 __ecereNameSpace__ecere__sys__globalSystem.lastErrorCode = 0;
592 }
593
594 void __ecereNameSpace__ecere__sys__SetErrorLevel(int level)
595 {
596 __ecereNameSpace__ecere__sys__globalSystem.errorLevel = level;
597 }
598
599 extern char *  strcpy(char * , const char * );
600
601 void __ecereNameSpace__ecere__sys__SetLoggingMode(int mode, void * where)
602 {
603 __ecereNameSpace__ecere__sys__globalSystem.errorLoggingMode = mode;
604 if(mode == 4)
605 {
606 struct __ecereNameSpace__ecere__com__Instance * file;
607
608 strcpy(__ecereNameSpace__ecere__sys__globalSystem.logFile, where);
609 file = __ecereNameSpace__ecere__sys__FileOpen(__ecereNameSpace__ecere__sys__globalSystem.logFile, 2);
610 (__ecereNameSpace__ecere__com__eInstance_DecRef(file), file = 0);
611 }
612 else if(mode == 6 || mode == 5)
613 {
614 if(!__ecereNameSpace__ecere__sys__globalSystem.errorBuffer)
615 {
616 __ecereNameSpace__ecere__sys__globalSystem.errorBufferSize = (100 * (1025));
617 __ecereNameSpace__ecere__sys__globalSystem.errorBuffer = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * ((100 * (1025))));
618 }
619 __ecereNameSpace__ecere__sys__globalSystem.errorBuffer[0] = (char)0;
620 }
621 else if(mode == 3)
622 {
623 }
624 if(mode == (int)0)
625 {
626 __ecereNameSpace__ecere__sys__DumpErrors(0x1);
627 if(__ecereNameSpace__ecere__sys__globalSystem.errorBuffer)
628 {
629 (__ecereNameSpace__ecere__com__eSystem_Delete(__ecereNameSpace__ecere__sys__globalSystem.errorBuffer), __ecereNameSpace__ecere__sys__globalSystem.errorBuffer = 0);
630 __ecereNameSpace__ecere__sys__globalSystem.errorBufferSize = 0;
631 }
632 }
633 }
634
635
636 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
637
638 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
639
640 struct __ecereNameSpace__ecere__com__NameSpace
641 {
642 char *  name;
643 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
644 struct __ecereNameSpace__ecere__com__NameSpace *  left;
645 struct __ecereNameSpace__ecere__com__NameSpace *  right;
646 int depth;
647 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
648 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
649 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
650 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
651 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
652 } __attribute__ ((gcc_struct));
653
654 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
655
656 struct __ecereNameSpace__ecere__com__Module
657 {
658 struct __ecereNameSpace__ecere__com__Instance * application;
659 struct __ecereNameSpace__ecere__sys__OldList classes;
660 struct __ecereNameSpace__ecere__sys__OldList defines;
661 struct __ecereNameSpace__ecere__sys__OldList functions;
662 struct __ecereNameSpace__ecere__sys__OldList modules;
663 struct __ecereNameSpace__ecere__com__Instance * prev;
664 struct __ecereNameSpace__ecere__com__Instance * next;
665 char *  name;
666 void *  library;
667 void *  Unload;
668 int importType;
669 int origImportType;
670 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
671 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
672 } __attribute__ ((gcc_struct));
673
674 extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, char *  string, int value);
675
676 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DefinedExpression;
677
678 struct __ecereNameSpace__ecere__com__DefinedExpression;
679
680 extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(char *  name, char *  value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
681
682 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BitMember;
683
684 struct __ecereNameSpace__ecere__com__BitMember;
685
686 extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, int bitSize, int bitPos, int declMode);
687
688 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
689
690 struct __ecereNameSpace__ecere__com__GlobalFunction;
691
692 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);
693
694 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
695
696 void __ecereRegisterModule_System(struct __ecereNameSpace__ecere__com__Instance * module)
697 {
698 struct __ecereNameSpace__ecere__com__Class * class;
699
700 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::LoggingMode", 0, 0, 0, 0, 0, module, 1, 1);
701 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
702 __ecereClass___ecereNameSpace__ecere__sys__LoggingMode = class;
703 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "noLogging", 0);
704 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "stdOut", 1);
705 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "stdErr", 2);
706 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "debug", 3);
707 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "logFile", 4);
708 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "msgBox", 5);
709 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "buffer", 6);
710 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::ErrorLevel", 0, 0, 0, 0, 0, module, 1, 1);
711 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
712 __ecereClass___ecereNameSpace__ecere__sys__ErrorLevel = class;
713 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "veryFatal", 0);
714 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "fatal", 1);
715 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "major", 2);
716 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "minor", 3);
717 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::sys::AllErrors", "ecere::sys::ErrorLevel::Minor", module, 1);
718 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(2, "ecere::sys::ErrorCode", 0, 0, 0, 0, 0, module, 1, 1);
719 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
720 __ecereClass___ecereNameSpace__ecere__sys__ErrorCode = class;
721 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "level", "ecere::sys::ErrorLevel", 2, 12, 2);
722 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "code", "uint", 12, 0, 2);
723 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::SysErrorCode", "ecere::sys::ErrorCode", 0, 0, 0, 0, module, 1, 1);
724 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
725 __ecereClass___ecereNameSpace__ecere__sys__SysErrorCode = class;
726 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "allocationFailed", 0);
727 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "nameInexistant", 1);
728 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "nameExists", 2);
729 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "missingLibrary", 3);
730 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "fileNotFound", 4);
731 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "writeFailed", 5);
732 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MoveFile", "bool ecere::sys::MoveFile(char * source, char * dest)", __ecereNameSpace__ecere__sys__MoveFile, module, 1);
733 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::RenameFile", "bool ecere::sys::RenameFile(char * oldName, char * newName)", __ecereNameSpace__ecere__sys__RenameFile, module, 1);
734 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::DeleteFile", "bool ecere::sys::DeleteFile(char * fileName)", __ecereNameSpace__ecere__sys__DeleteFile, module, 1);
735 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MakeDir", "bool ecere::sys::MakeDir(char * path)", __ecereNameSpace__ecere__sys__MakeDir, module, 1);
736 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::RemoveDir", "bool ecere::sys::RemoveDir(char * path)", __ecereNameSpace__ecere__sys__RemoveDir, module, 1);
737 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetWorkingDir", "char * ecere::sys::GetWorkingDir(char * buf, int size)", __ecereNameSpace__ecere__sys__GetWorkingDir, module, 1);
738 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ChangeWorkingDir", "bool ecere::sys::ChangeWorkingDir(char * buf)", __ecereNameSpace__ecere__sys__ChangeWorkingDir, module, 1);
739 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetEnvironment", "char * ecere::sys::GetEnvironment(char * envName, char * envValue, int max)", __ecereNameSpace__ecere__sys__GetEnvironment, module, 1);
740 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::SetEnvironment", "void ecere::sys::SetEnvironment(char * envName, char * envValue)", __ecereNameSpace__ecere__sys__SetEnvironment, module, 1);
741 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UnsetEnvironment", "void ecere::sys::UnsetEnvironment(char * envName)", __ecereNameSpace__ecere__sys__UnsetEnvironment, module, 1);
742 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::Execute", "bool ecere::sys::Execute(char * command, ...)", __ecereNameSpace__ecere__sys__Execute, module, 1);
743 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ExecuteEnv", "bool ecere::sys::ExecuteEnv(char * env, char * command, ...)", __ecereNameSpace__ecere__sys__ExecuteEnv, module, 1);
744 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ShellOpen", "bool ecere::sys::ShellOpen(char * fileName, ...)", __ecereNameSpace__ecere__sys__ShellOpen, module, 1);
745 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetFreeSpace", "void ecere::sys::GetFreeSpace(char * path, FileSize64 * size)", __ecereNameSpace__ecere__sys__GetFreeSpace, module, 1);
746 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::Logf", "void ecere::sys::Logf(char * format, ...)", __ecereNameSpace__ecere__sys__Logf, module, 1);
747 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::Log", "void ecere::sys::Log(char * text)", __ecereNameSpace__ecere__sys__Log, module, 1);
748 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::DumpErrors", "void ecere::sys::DumpErrors(bool display)", __ecereNameSpace__ecere__sys__DumpErrors, module, 1);
749 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::LogErrorCode", "void ecere::sys::LogErrorCode(ecere::sys::ErrorCode errorCode, char * details)", __ecereNameSpace__ecere__sys__LogErrorCode, module, 1);
750 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetLastErrorCode", "uint ecere::sys::GetLastErrorCode(void)", __ecereNameSpace__ecere__sys__GetLastErrorCode, module, 1);
751 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ResetError", "void ecere::sys::ResetError(void)", __ecereNameSpace__ecere__sys__ResetError, module, 1);
752 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::SetErrorLevel", "void ecere::sys::SetErrorLevel(ecere::sys::ErrorLevel level)", __ecereNameSpace__ecere__sys__SetErrorLevel, module, 1);
753 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::SetLoggingMode", "void ecere::sys::SetLoggingMode(ecere::sys::LoggingMode mode, void * where)", __ecereNameSpace__ecere__sys__SetLoggingMode, module, 1);
754 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::sys::System", 0, sizeof(struct __ecereNameSpace__ecere__sys__System), 0, 0, 0, module, 2, 1);
755 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
756 __ecereClass___ecereNameSpace__ecere__sys__System = class;
757 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "errorLoggingMode", "ecere::sys::LoggingMode", 4, 4, 1);
758 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "errorBuffer", "char *", arch_PointerSize, arch_PointerSize, 1);
759 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "errorBufferSize", "int", 4, 4, 1);
760 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "logFile", "char[MAX_LOCATION]", 797, 1, 1);
761 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "lastErrorCode", "ecere::sys::ErrorCode", 4, 4, 1);
762 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "errorLevel", "ecere::sys::ErrorLevel", 4, 4, 1);
763 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "eventSemaphore", "Semaphore", arch_PointerSize, arch_PointerSize, 1);
764 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "fileMonitors", "ecere::sys::OldList", structSize_OldList, arch_PointerSize, 1);
765 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "fileMonitorMutex", "Mutex", arch_PointerSize, arch_PointerSize, 1);
766 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "fileMonitorThread", "Thread", arch_PointerSize, arch_PointerSize, 1);
767 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "systemTerminate", "bool", 4, 4, 1);
768 }
769
770 void __ecereUnregisterModule_System(struct __ecereNameSpace__ecere__com__Instance * module)
771 {
772
773 }
774
775 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Array_TPL_String_;
776
777 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
778
779 void __ecereProp___ecereNameSpace__ecere__com__Container_Set_copySrc(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * value);
780
781 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__Container_copySrc;
782
783 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_String;
784
785 void __ecereCreateModuleInstances_System()
786 {
787 (__ecereNameSpace__ecere__sys__errorMessages = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Array_TPL_String_), __ecereProp___ecereNameSpace__ecere__com__Container_Set_copySrc(__ecereNameSpace__ecere__sys__errorMessages, ((struct __ecereNameSpace__ecere__com__Instance *)&__extension__ (struct __ecereNameSpace__ecere__com__BuiltInContainer)
788 {
789 __ecereClass___ecereNameSpace__ecere__com__BuiltInContainer->_vTbl, __ecereClass___ecereNameSpace__ecere__com__BuiltInContainer, 0, __extension__ (char * [])
790 {
791 __ecereNameSpace__ecere__GetTranslatedString(__thisModule, "No error", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString(__thisModule, "Memory allocation failed", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString(__thisModule, "Inexistant string identifier specified", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString(__thisModule, "Identic string identifier already exists", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString(__thisModule, "Shared library loading failed", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString(__thisModule, "File not found", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString(__thisModule, "Couldn't write to file", (((void *)0)))
792 }, 7, __ecereClass_String
793 })));
794 __ecereNameSpace__ecere__com__eInstance_IncRef(__ecereNameSpace__ecere__sys__errorMessages);
795 }
796
797 void __ecereDestroyModuleInstances_System()
798 {
799 (__ecereNameSpace__ecere__com__eInstance_DecRef(__ecereNameSpace__ecere__sys__errorMessages), __ecereNameSpace__ecere__sys__errorMessages = 0);
800 }
801