compiler/bootstrap: Fully automated (make updatebootstrap)
[sdk] / compiler / bootstrap / ecere / bootstrap / File.c
1 /* Code generated from eC source file: File.ec */
2 #if defined(_WIN32)
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
6 #else
7 #define __runtimePlatform 2
8 #endif
9 #if defined(__GNUC__)
10 typedef long long int64;
11 typedef unsigned long long uint64;
12 #ifndef _WIN32
13 #define __declspec(x)
14 #endif
15 #elif defined(__TINYC__)
16 #include <stdarg.h>
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
20 #ifdef _WIN32
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
24 #else
25 #define __declspec(x)
26 #endif
27 typedef long long int64;
28 typedef unsigned long long uint64;
29 #else
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
32 #endif
33 #ifdef __BIG_ENDIAN__
34 #define __ENDIAN_PAD(x) (8 - (x))
35 #else
36 #define __ENDIAN_PAD(x) 0
37 #endif
38 #if defined(_WIN32)
39 #   if defined(__GNUC__) || defined(__TINYC__)
40 #      define stdcall __attribute__((__stdcall__))
41 #   else
42 #      define stdcall __stdcall
43 #   endif
44 #else
45 #   define stdcall
46 #endif
47 #include <stdint.h>
48 #include <sys/types.h>
49 void exit(int status);
50
51 void * calloc(size_t nmemb, size_t size);
52
53 void free(void * ptr);
54
55 void * malloc(size_t size);
56
57 void * realloc(void * ptr, size_t size);
58
59 long int strtol(const char * nptr, char ** endptr, int base);
60
61 long long int strtoll(const char * nptr, char ** endptr, int base);
62
63 unsigned long long int strtoull(const char * nptr, char ** endptr, int base);
64
65 typedef __builtin_va_list va_list;
66
67 typedef void FILE;
68
69 FILE * bsl_stdin(void);
70
71 FILE * bsl_stdout(void);
72
73 FILE * bsl_stderr(void);
74
75 char * fgets(char * s, int size, FILE * stream);
76
77 FILE * fopen(const char * path, const char * mode);
78
79 int fclose(FILE * fp);
80
81 int fflush(FILE * stream);
82
83 int fgetc(FILE * stream);
84
85 int fprintf(FILE * stream, const char * format, ...);
86
87 int fputc(int c, FILE * stream);
88
89 size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
90
91 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
92
93 int vsnprintf(char *, size_t, const char *, va_list args);
94
95 int snprintf(char * str, size_t, const char * format, ...);
96
97 int fseek(FILE * stream, long offset, int whence);
98
99 long ftell(FILE * stream);
100
101 int feof(FILE * stream);
102
103 int ferror(FILE * stream);
104
105 int fileno(FILE * stream);
106
107 FILE * eC_stdin(void);
108
109 FILE * eC_stdout(void);
110
111 unsigned int FILE_GetSize(FILE * input);
112
113 unsigned int FILE_Lock(FILE * input, FILE * output, int type, uint64 start, uint64 length, unsigned int wait);
114
115 void FILE_set_buffered(FILE * input, FILE * output, unsigned int value);
116
117 unsigned int FILE_FileExists(const char * fileName);
118
119 unsigned int FILE_FileGetSize(const char * fileName, unsigned int * size);
120
121 void FILE_FileFixCase(char * file);
122
123 void FILE_FileOpen(const char * fileName, int mode, FILE ** input, FILE ** output);
124
125 struct __ecereNameSpace__ecere__sys__File
126 {
127 FILE * input, * output;
128 } __attribute__ ((gcc_struct));
129
130 struct __ecereNameSpace__ecere__sys__FileStats
131 {
132 unsigned int attribs;
133 unsigned int size;
134 int64 accessed;
135 int64 modified;
136 int64 created;
137 } __attribute__ ((gcc_struct));
138
139 static int __ecereNameSpace__ecere__sys__openCount;
140
141 struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__CreateTemporaryFile(char * tempFileName, const char * template)
142 {
143 return (((void *)0));
144 }
145
146 void __ecereNameSpace__ecere__sys__CreateTemporaryDir(char * tempFileName, const char * template)
147 {
148 }
149
150 struct __ecereNameSpace__ecere__sys__BTNode;
151
152 struct __ecereNameSpace__ecere__sys__OldList
153 {
154 void *  first;
155 void *  last;
156 int count;
157 unsigned int offset;
158 unsigned int circ;
159 } __attribute__ ((gcc_struct));
160
161 struct __ecereNameSpace__ecere__com__DataValue
162 {
163 union
164 {
165 char c;
166 unsigned char uc;
167 short s;
168 unsigned short us;
169 int i;
170 unsigned int ui;
171 void *  p;
172 float f;
173 double d;
174 long long i64;
175 uint64 ui64;
176 } __attribute__ ((gcc_struct)) __anon1;
177 } __attribute__ ((gcc_struct));
178
179 struct __ecereNameSpace__ecere__com__SerialBuffer
180 {
181 unsigned char *  _buffer;
182 unsigned int count;
183 unsigned int _size;
184 unsigned int pos;
185 } __attribute__ ((gcc_struct));
186
187 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
188
189 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
190
191 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
192
193 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
194
195 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void *  memory);
196
197 extern void __ecereNameSpace__ecere__sys__PrintSize(char *  string, unsigned int size, int prec);
198
199 extern double strtod(const char * , char * * );
200
201 extern char *  strstr(const char * , const char * );
202
203 extern void __ecereNameSpace__ecere__sys__PrintBigSize(char *  string, double size, int prec);
204
205 struct __ecereNameSpace__ecere__sys__TempFile
206 {
207 unsigned char *  buffer;
208 unsigned int size;
209 unsigned int position;
210 unsigned int eof;
211 int openMode;
212 unsigned int allocated;
213 } __attribute__ ((gcc_struct));
214
215 extern int fputs(const char * , void *  stream);
216
217 extern size_t strlen(const char * );
218
219 extern int atoi(const char * );
220
221 extern unsigned long strtoul(const char *  nptr, char * *  endptr, int base);
222
223 extern double __ecereNameSpace__ecere__sys__FloatFromString(const char *  string);
224
225 extern void __ecereNameSpace__ecere__sys__ChangeCh(char *  string, char ch1, char ch2);
226
227 extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
228
229 extern char *  strcpy(char * , const char * );
230
231 struct __ecereNameSpace__ecere__com__BitMember;
232
233 struct __ecereNameSpace__ecere__com__GlobalFunction;
234
235 unsigned int __ecereNameSpace__ecere__sys__FileExists(const char * fileName)
236 {
237 return FILE_FileExists(fileName);
238 }
239
240 unsigned int __ecereNameSpace__ecere__sys__FileGetSize(const char * fileName, unsigned int * size)
241 {
242 unsigned int result = 0;
243
244 if(size)
245 {
246 *size = 0;
247 if(fileName)
248 {
249 result = FILE_FileGetSize(fileName, size);
250 }
251 }
252 return result;
253 }
254
255 void __ecereNameSpace__ecere__sys__FileFixCase(char * file)
256 {
257 FILE_FileFixCase(file);
258 }
259
260 unsigned int FILE_FileGetStats(const char * fileName, struct __ecereNameSpace__ecere__sys__FileStats * stats);
261
262 void __ecereNameSpace__ecere__sys__MakeSlashPath(char * p)
263 {
264 __ecereNameSpace__ecere__sys__FileFixCase(p);
265 __ecereNameSpace__ecere__sys__ChangeCh(p, '\\', '/');
266 }
267
268 void __ecereNameSpace__ecere__sys__MakeSystemPath(char * p)
269 {
270 __ecereNameSpace__ecere__sys__FileFixCase(p);
271 }
272
273 unsigned int __ecereNameSpace__ecere__sys__FileGetStats(const char * fileName, struct __ecereNameSpace__ecere__sys__FileStats * stats)
274 {
275 unsigned int result = 0;
276
277 if(stats && fileName)
278 {
279 return FILE_FileGetStats(fileName, stats);
280 }
281 return result;
282 }
283
284 char * __ecereNameSpace__ecere__sys__CopyUnixPath(const char * p)
285 {
286 char * d = __ecereNameSpace__ecere__sys__CopyString(p);
287
288 if(d)
289 __ecereNameSpace__ecere__sys__MakeSlashPath(d);
290 return d;
291 }
292
293 char * __ecereNameSpace__ecere__sys__GetSlashPathBuffer(char * d, const char * p)
294 {
295 if(d != p)
296 strcpy(d, p ? p : "");
297 __ecereNameSpace__ecere__sys__MakeSlashPath(d);
298 return d;
299 }
300
301 char * __ecereNameSpace__ecere__sys__CopySystemPath(const char * p)
302 {
303 char * d = __ecereNameSpace__ecere__sys__CopyString(p);
304
305 if(d)
306 __ecereNameSpace__ecere__sys__MakeSystemPath(d);
307 return d;
308 }
309
310 char * __ecereNameSpace__ecere__sys__GetSystemPathBuffer(char * d, const char * p)
311 {
312 if(d != p)
313 strcpy(d, p ? p : "");
314 __ecereNameSpace__ecere__sys__MakeSystemPath(d);
315 return d;
316 }
317
318 struct __ecereNameSpace__ecere__com__Property;
319
320 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void *  instance, struct __ecereNameSpace__ecere__com__Property * _property, void *  object, void (*  callback)(void * , void * ));
321
322 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__File_input, * __ecerePropM___ecereNameSpace__ecere__sys__File_input;
323
324 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__File_output, * __ecerePropM___ecereNameSpace__ecere__sys__File_output;
325
326 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__File_buffered, * __ecerePropM___ecereNameSpace__ecere__sys__File_buffered;
327
328 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__File_eof, * __ecerePropM___ecereNameSpace__ecere__sys__File_eof;
329
330 struct __ecereNameSpace__ecere__com__Class;
331
332 struct __ecereNameSpace__ecere__com__Instance
333 {
334 void * *  _vTbl;
335 struct __ecereNameSpace__ecere__com__Class * _class;
336 int _refCount;
337 } __attribute__ ((gcc_struct));
338
339 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
340
341 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
342
343 extern unsigned int __ecereNameSpace__ecere__com__eClass_IsDerived(struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__Class * from);
344
345 extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, const char *  string, long long value);
346
347 extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
348
349 extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, int bitSize, int bitPos, int declMode);
350
351 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
352
353 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_Open;
354
355 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_Exists;
356
357 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_GetSize;
358
359 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_Stats;
360
361 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_FixCase;
362
363 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_Find;
364
365 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_FindNext;
366
367 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_CloseDir;
368
369 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_OpenArchive;
370
371 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_QuerySize;
372
373 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
374
375 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Tell;
376
377 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
378
379 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Write;
380
381 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc;
382
383 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Putc;
384
385 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts;
386
387 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof;
388
389 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Truncate;
390
391 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_GetSize;
392
393 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_CloseInput;
394
395 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_CloseOutput;
396
397 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Lock;
398
399 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Unlock;
400
401 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Close;
402
403 struct __ecereNameSpace__ecere__com__Property
404 {
405 struct __ecereNameSpace__ecere__com__Property * prev;
406 struct __ecereNameSpace__ecere__com__Property * next;
407 const char *  name;
408 unsigned int isProperty;
409 int memberAccess;
410 int id;
411 struct __ecereNameSpace__ecere__com__Class * _class;
412 const char *  dataTypeString;
413 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
414 struct __ecereNameSpace__ecere__com__Instance * dataType;
415 void (*  Set)(void * , int);
416 int (*  Get)(void * );
417 unsigned int (*  IsSet)(void * );
418 void *  data;
419 void *  symbol;
420 int vid;
421 unsigned int conversion;
422 unsigned int watcherOffset;
423 const char *  category;
424 unsigned int compiled;
425 unsigned int selfWatchable;
426 unsigned int isWatchable;
427 } __attribute__ ((gcc_struct));
428
429 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
430
431 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
432
433 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
434
435 extern void __ecereNameSpace__ecere__com__eInstance_StopWatching(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, struct __ecereNameSpace__ecere__com__Instance * object);
436
437 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
438
439 struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__httpFileSystem;
440
441 void *  __ecereProp___ecereNameSpace__ecere__sys__File_Get_input(struct __ecereNameSpace__ecere__com__Instance * this);
442
443 void __ecereProp___ecereNameSpace__ecere__sys__File_Set_input(struct __ecereNameSpace__ecere__com__Instance * this, void *  value);
444
445 void *  __ecereProp___ecereNameSpace__ecere__sys__File_Get_output(struct __ecereNameSpace__ecere__com__Instance * this);
446
447 void __ecereProp___ecereNameSpace__ecere__sys__File_Set_output(struct __ecereNameSpace__ecere__com__Instance * this, void *  value);
448
449 void __ecereProp___ecereNameSpace__ecere__sys__File_Set_buffered(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int value);
450
451 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
452
453 unsigned int __ecereConstructor___ecereNameSpace__ecere__sys__ConsoleFile(struct __ecereNameSpace__ecere__com__Instance * this)
454 {
455 __ecereProp___ecereNameSpace__ecere__sys__File_Set_input(this, eC_stdin());
456 __ecereProp___ecereNameSpace__ecere__sys__File_Set_output(this, eC_stdout());
457 return 1;
458 }
459
460 void __ecereDestructor___ecereNameSpace__ecere__sys__ConsoleFile(struct __ecereNameSpace__ecere__com__Instance * this)
461 {
462 {
463 __ecereProp___ecereNameSpace__ecere__sys__File_Set_input(this, (((void *)0)));
464 __ecereProp___ecereNameSpace__ecere__sys__File_Set_output(this, (((void *)0)));
465 }
466 }
467
468 struct __ecereNameSpace__ecere__sys__BinaryTree;
469
470 struct __ecereNameSpace__ecere__sys__BinaryTree
471 {
472 struct __ecereNameSpace__ecere__sys__BTNode * root;
473 int count;
474 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
475 void (*  FreeKey)(void *  key);
476 } __attribute__ ((gcc_struct));
477
478 struct __ecereNameSpace__ecere__com__DataMember;
479
480 struct __ecereNameSpace__ecere__com__DataMember
481 {
482 struct __ecereNameSpace__ecere__com__DataMember * prev;
483 struct __ecereNameSpace__ecere__com__DataMember * next;
484 const char *  name;
485 unsigned int isProperty;
486 int memberAccess;
487 int id;
488 struct __ecereNameSpace__ecere__com__Class * _class;
489 const char *  dataTypeString;
490 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
491 struct __ecereNameSpace__ecere__com__Instance * dataType;
492 int type;
493 int offset;
494 int memberID;
495 struct __ecereNameSpace__ecere__sys__OldList members;
496 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
497 int memberOffset;
498 short structAlignment;
499 short pointerAlignment;
500 } __attribute__ ((gcc_struct));
501
502 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
503
504 struct __ecereNameSpace__ecere__com__Method;
505
506 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
507 {
508 union
509 {
510 struct
511 {
512 const char *  dataTypeString;
513 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
514 } __attribute__ ((gcc_struct)) __anon1;
515 struct __ecereNameSpace__ecere__com__DataValue expression;
516 struct
517 {
518 const char *  memberString;
519 union
520 {
521 struct __ecereNameSpace__ecere__com__DataMember * member;
522 struct __ecereNameSpace__ecere__com__Property * prop;
523 struct __ecereNameSpace__ecere__com__Method * method;
524 } __attribute__ ((gcc_struct)) __anon1;
525 } __attribute__ ((gcc_struct)) __anon2;
526 } __attribute__ ((gcc_struct)) __anon1;
527 } __attribute__ ((gcc_struct));
528
529 struct __ecereNameSpace__ecere__com__Method
530 {
531 const char *  name;
532 struct __ecereNameSpace__ecere__com__Method * parent;
533 struct __ecereNameSpace__ecere__com__Method * left;
534 struct __ecereNameSpace__ecere__com__Method * right;
535 int depth;
536 int (*  function)();
537 int vid;
538 int type;
539 struct __ecereNameSpace__ecere__com__Class * _class;
540 void *  symbol;
541 const char *  dataTypeString;
542 struct __ecereNameSpace__ecere__com__Instance * dataType;
543 int memberAccess;
544 } __attribute__ ((gcc_struct));
545
546 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
547
548 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
549
550 struct __ecereNameSpace__ecere__com__Module;
551
552 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
553
554 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
555
556 extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
557
558 struct __ecereNameSpace__ecere__com__NameSpace;
559
560 struct __ecereNameSpace__ecere__com__NameSpace
561 {
562 const char *  name;
563 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
564 struct __ecereNameSpace__ecere__com__NameSpace *  left;
565 struct __ecereNameSpace__ecere__com__NameSpace *  right;
566 int depth;
567 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
568 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
569 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
570 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
571 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
572 } __attribute__ ((gcc_struct));
573
574 struct __ecereNameSpace__ecere__com__Class
575 {
576 struct __ecereNameSpace__ecere__com__Class * prev;
577 struct __ecereNameSpace__ecere__com__Class * next;
578 const char *  name;
579 int offset;
580 int structSize;
581 void * *  _vTbl;
582 int vTblSize;
583 unsigned int (*  Constructor)(void * );
584 void (*  Destructor)(void * );
585 int offsetClass;
586 int sizeClass;
587 struct __ecereNameSpace__ecere__com__Class * base;
588 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
589 struct __ecereNameSpace__ecere__sys__BinaryTree members;
590 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
591 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
592 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
593 struct __ecereNameSpace__ecere__sys__OldList derivatives;
594 int memberID;
595 int startMemberID;
596 int type;
597 struct __ecereNameSpace__ecere__com__Instance * module;
598 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
599 const char *  dataTypeString;
600 struct __ecereNameSpace__ecere__com__Instance * dataType;
601 int typeSize;
602 int defaultAlignment;
603 void (*  Initialize)();
604 int memberOffset;
605 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
606 const char *  designerClass;
607 unsigned int noExpansion;
608 const char *  defaultProperty;
609 unsigned int comRedefinition;
610 int count;
611 int isRemote;
612 unsigned int internalDecl;
613 void *  data;
614 unsigned int computeSize;
615 short structAlignment;
616 short pointerAlignment;
617 int destructionWatchOffset;
618 unsigned int fixed;
619 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
620 int inheritanceAccess;
621 const char *  fullName;
622 void *  symbol;
623 struct __ecereNameSpace__ecere__sys__OldList conversions;
624 struct __ecereNameSpace__ecere__sys__OldList templateParams;
625 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
626 struct __ecereNameSpace__ecere__com__Class * templateClass;
627 struct __ecereNameSpace__ecere__sys__OldList templatized;
628 int numParams;
629 unsigned int isInstanceClass;
630 unsigned int byValueSystemClass;
631 } __attribute__ ((gcc_struct));
632
633 struct __ecereNameSpace__ecere__com__Application
634 {
635 int argc;
636 const char * *  argv;
637 int exitCode;
638 unsigned int isGUIApp;
639 struct __ecereNameSpace__ecere__sys__OldList allModules;
640 char *  parsedCommand;
641 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
642 } __attribute__ ((gcc_struct));
643
644 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileSize;
645
646 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileSize64;
647
648 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileSystem;
649
650 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileOpenMode;
651
652 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileSeekMode;
653
654 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileLock;
655
656 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
657
658 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__ConsoleFile;
659
660 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileAttribs;
661
662 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__SecSince1970;
663
664 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileStats;
665
666 int __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnCompare(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, unsigned int * data2)
667 {
668 int result = 0;
669
670 if(&(*this) && &(*data2))
671 {
672 if((*this) > (*data2))
673 result = 1;
674 else if((*this) < (*data2))
675 result = -1;
676 }
677 return result;
678 }
679
680 const char * __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, char * string, void * fieldData, unsigned int * needClass)
681 {
682 __ecereNameSpace__ecere__sys__PrintSize(string, *(unsigned int *)this, 2);
683 return string;
684 }
685
686 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, const char * string)
687 {
688 char * end;
689 double value = strtod(string, &end);
690 unsigned int multiplier = 1;
691
692 if(strstr(end, "GB") || strstr(end, "gb"))
693 multiplier = (unsigned int)1024 * 1024 * 1024;
694 else if(strstr(end, "MB") || strstr(end, "mb"))
695 multiplier = (unsigned int)1024 * 1024;
696 else if(strstr(end, "KB") || strstr(end, "kb"))
697 multiplier = 1024;
698 (*this) = (unsigned int)((double)multiplier * value);
699 return 1;
700 }
701
702 int __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnCompare(struct __ecereNameSpace__ecere__com__Class * class, uint64 * this, uint64 * data2)
703 {
704 int result = 0;
705
706 if(&(*this) && &(*data2))
707 {
708 if((*this) > (*data2))
709 result = 1;
710 else if((*this) < (*data2))
711 result = -1;
712 }
713 return result;
714 }
715
716 const char * __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, uint64 * this, char * string, void * fieldData, unsigned int * needClass)
717 {
718 __ecereNameSpace__ecere__sys__PrintBigSize(string, *(uint64 *)this, 2);
719 return string;
720 }
721
722 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, uint64 * this, const char * string)
723 {
724 char * end;
725 double value = strtod(string, &end);
726 uint64 multiplier = 1;
727
728 if(strstr(end, "PB") || strstr(end, "pb"))
729 multiplier = (uint64)1024 * 1024 * 1024 * 1024;
730 else if(strstr(end, "TB") || strstr(end, "tb"))
731 multiplier = (uint64)1024 * 1024 * 1024 * 1024;
732 else if(strstr(end, "GB") || strstr(end, "gb"))
733 multiplier = (uint64)1024 * 1024 * 1024;
734 else if(strstr(end, "MB") || strstr(end, "mb"))
735 multiplier = (uint64)1024 * 1024;
736 else if(strstr(end, "KB") || strstr(end, "kb"))
737 multiplier = 1024;
738 (*this) = (uint64)((double)multiplier * value);
739 return 1;
740 }
741
742 extern int __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(char *  buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, const void * object, __builtin_va_list args);
743
744 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__TempFile;
745
746 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
747
748 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
749
750 struct __ecereNameSpace__ecere__com__Module
751 {
752 struct __ecereNameSpace__ecere__com__Instance * application;
753 struct __ecereNameSpace__ecere__sys__OldList classes;
754 struct __ecereNameSpace__ecere__sys__OldList defines;
755 struct __ecereNameSpace__ecere__sys__OldList functions;
756 struct __ecereNameSpace__ecere__sys__OldList modules;
757 struct __ecereNameSpace__ecere__com__Instance * prev;
758 struct __ecereNameSpace__ecere__com__Instance * next;
759 const char *  name;
760 void *  library;
761 void *  Unload;
762 int importType;
763 int origImportType;
764 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
765 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
766 } __attribute__ ((gcc_struct));
767
768 void __ecereDestructor___ecereNameSpace__ecere__sys__File(struct __ecereNameSpace__ecere__com__Instance * this)
769 {
770 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
771
772 {
773 if(__ecerePointer___ecereNameSpace__ecere__sys__File->output && __ecerePointer___ecereNameSpace__ecere__sys__File->output != __ecerePointer___ecereNameSpace__ecere__sys__File->input)
774 {
775 __ecereNameSpace__ecere__sys__openCount--;
776 fclose(__ecerePointer___ecereNameSpace__ecere__sys__File->output);
777 }
778 if(__ecerePointer___ecereNameSpace__ecere__sys__File->input)
779 {
780 __ecereNameSpace__ecere__sys__openCount--;
781 fclose(__ecerePointer___ecereNameSpace__ecere__sys__File->input);
782 }
783 __ecerePointer___ecereNameSpace__ecere__sys__File->input = (((void *)0));
784 __ecerePointer___ecereNameSpace__ecere__sys__File->output = (((void *)0));
785 }
786 }
787
788 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_ReadData(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * bytes, unsigned int numBytes)
789 {
790 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
791
792 return ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
793 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
794
795 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
796 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(this, bytes, 1, numBytes);
797 }
798
799 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_WriteData(struct __ecereNameSpace__ecere__com__Instance * this, const unsigned char * bytes, unsigned int numBytes)
800 {
801 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
802
803 return ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
804 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
805
806 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
807 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Write])(this, bytes, 1, numBytes);
808 }
809
810 const char * __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this, char * tempString, void * fieldData, unsigned int * needClass)
811 {
812 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
813
814 if((struct __ecereNameSpace__ecere__com__Instance *)this)
815 {
816 __ecereNameSpace__ecere__sys__PrintSize(tempString, ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
817 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
818
819 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
820 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_GetSize])(this), 2);
821 return tempString;
822 }
823 return (((void *)0));
824 }
825
826 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Seek(struct __ecereNameSpace__ecere__com__Instance * this, int pos, int mode)
827 {
828 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
829 unsigned int fmode = 0;
830
831 switch(mode)
832 {
833 case 0:
834 fmode = 0;
835 break;
836 case 2:
837 fmode = 2;
838 break;
839 case 1:
840 fmode = 1;
841 break;
842 }
843 return fseek(__ecerePointer___ecereNameSpace__ecere__sys__File->input ? __ecerePointer___ecereNameSpace__ecere__sys__File->input : __ecerePointer___ecereNameSpace__ecere__sys__File->output, pos, fmode) != (-1);
844 }
845
846 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Tell(struct __ecereNameSpace__ecere__com__Instance * this)
847 {
848 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
849
850 return (unsigned int)(__ecerePointer___ecereNameSpace__ecere__sys__File->input ? ftell(__ecerePointer___ecereNameSpace__ecere__sys__File->input) : ftell(__ecerePointer___ecereNameSpace__ecere__sys__File->output));
851 }
852
853 int __ecereMethod___ecereNameSpace__ecere__sys__File_Read(struct __ecereNameSpace__ecere__com__Instance * this, void * buffer, unsigned int size, unsigned int count)
854 {
855 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
856
857 return __ecerePointer___ecereNameSpace__ecere__sys__File->input ? (int)fread(buffer, size, count, __ecerePointer___ecereNameSpace__ecere__sys__File->input) : 0;
858 }
859
860 int __ecereMethod___ecereNameSpace__ecere__sys__File_Write(struct __ecereNameSpace__ecere__com__Instance * this, const void * buffer, unsigned int size, unsigned int count)
861 {
862 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
863
864 return __ecerePointer___ecereNameSpace__ecere__sys__File->output ? (int)fwrite(buffer, size, count, __ecerePointer___ecereNameSpace__ecere__sys__File->output) : 0;
865 }
866
867 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Getc(struct __ecereNameSpace__ecere__com__Instance * this, char * ch)
868 {
869 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
870 int ich = fgetc(__ecerePointer___ecereNameSpace__ecere__sys__File->input);
871
872 if(ich != (-1))
873 {
874 if(ch)
875 *ch = (char)ich;
876 return 1;
877 }
878 return 0;
879 }
880
881 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Putc(struct __ecereNameSpace__ecere__com__Instance * this, char ch)
882 {
883 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
884
885 return (fputc((int)ch, __ecerePointer___ecereNameSpace__ecere__sys__File->output) == (-1)) ? 0 : 1;
886 }
887
888 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Puts(struct __ecereNameSpace__ecere__com__Instance * this, const char * string)
889 {
890 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
891 unsigned int result = 0;
892
893 if(__ecerePointer___ecereNameSpace__ecere__sys__File->output)
894 {
895 result = (fputs(string, __ecerePointer___ecereNameSpace__ecere__sys__File->output) == (-1)) ? 0 : 1;
896 }
897 return result;
898 }
899
900 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Eof(struct __ecereNameSpace__ecere__com__Instance * this)
901 {
902 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
903
904 return __ecerePointer___ecereNameSpace__ecere__sys__File->input ? feof(__ecerePointer___ecereNameSpace__ecere__sys__File->input) != 0 : 1;
905 }
906
907 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Truncate(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int size)
908 {
909 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
910
911 fprintf((bsl_stderr()), "WARNING:  File::Truncate unimplemented in ecereBootstrap.\n");
912 return 0;
913 }
914
915 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetSize(struct __ecereNameSpace__ecere__com__Instance * this)
916 {
917 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
918
919 return FILE_GetSize(__ecerePointer___ecereNameSpace__ecere__sys__File->input);
920 }
921
922 void __ecereMethod___ecereNameSpace__ecere__sys__File_CloseInput(struct __ecereNameSpace__ecere__com__Instance * this)
923 {
924 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
925
926 if(__ecerePointer___ecereNameSpace__ecere__sys__File->input)
927 {
928 fclose(__ecerePointer___ecereNameSpace__ecere__sys__File->input);
929 if(__ecerePointer___ecereNameSpace__ecere__sys__File->output == __ecerePointer___ecereNameSpace__ecere__sys__File->input)
930 __ecerePointer___ecereNameSpace__ecere__sys__File->output = (((void *)0));
931 __ecerePointer___ecereNameSpace__ecere__sys__File->input = (((void *)0));
932 }
933 }
934
935 void __ecereMethod___ecereNameSpace__ecere__sys__File_CloseOutput(struct __ecereNameSpace__ecere__com__Instance * this)
936 {
937 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
938
939 if(__ecerePointer___ecereNameSpace__ecere__sys__File->output)
940 {
941 fclose(__ecerePointer___ecereNameSpace__ecere__sys__File->output);
942 if(__ecerePointer___ecereNameSpace__ecere__sys__File->input == __ecerePointer___ecereNameSpace__ecere__sys__File->output)
943 __ecerePointer___ecereNameSpace__ecere__sys__File->input = (((void *)0));
944 __ecerePointer___ecereNameSpace__ecere__sys__File->output = (((void *)0));
945 }
946 }
947
948 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Lock(struct __ecereNameSpace__ecere__com__Instance * this, int type, uint64 start, uint64 length, unsigned int wait)
949 {
950 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
951
952 return FILE_Lock(__ecerePointer___ecereNameSpace__ecere__sys__File->input, __ecerePointer___ecereNameSpace__ecere__sys__File->output, type, start, length, wait);
953 }
954
955 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Unlock(struct __ecereNameSpace__ecere__com__Instance * this, uint64 start, uint64 length, unsigned int wait)
956 {
957 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
958
959 return ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int type, uint64 start, uint64 length, unsigned int wait))__extension__ ({
960 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
961
962 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
963 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Lock])(this, 0, start, length, wait);
964 }
965
966 int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, const char * format, ...)
967 {
968 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
969 int result = 0;
970
971 if(format)
972 {
973 char text[1025];
974 va_list args;
975
976 __builtin_va_start(args, format);
977 vsnprintf(text, sizeof (text), format, args);
978 text[sizeof (text) - 1] = (char)0;
979 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
980 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
981
982 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
983 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(this, text))
984 result = strlen(text);
985 __builtin_va_end(args);
986 }
987 return result;
988 }
989
990 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Flush(struct __ecereNameSpace__ecere__com__Instance * this)
991 {
992 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
993
994 fflush(__ecerePointer___ecereNameSpace__ecere__sys__File->output);
995 return 1;
996 }
997
998 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(struct __ecereNameSpace__ecere__com__Instance * this, char * s, int max)
999 {
1000 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1001 int c = 0;
1002 unsigned int result = 1;
1003
1004 s[c] = (char)0;
1005 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1006 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1007
1008 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1009 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this))
1010 {
1011 result = 0;
1012 }
1013 else
1014 {
1015 while(c < max - 1)
1016 {
1017 char ch = (char)0;
1018
1019 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char *  ch))__extension__ ({
1020 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1021
1022 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1023 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc])(this, &ch))
1024 {
1025 result = 0;
1026 break;
1027 }
1028 if(ch == '\n')
1029 break;
1030 if(ch != '\r')
1031 s[c++] = ch;
1032 }
1033 }
1034 s[c] = (char)0;
1035 return result || c > 1;
1036 }
1037
1038 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(struct __ecereNameSpace__ecere__com__Instance * this, char * string, int max)
1039 {
1040 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1041 int c;
1042 char ch;
1043 unsigned int quoted = 0;
1044 unsigned int result = 1;
1045
1046 *string = (char)0;
1047 while(1)
1048 {
1049 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char *  ch))__extension__ ({
1050 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1051
1052 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1053 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc])(this, &ch))
1054 result = 0;
1055 if((ch != '\n') && (ch != '\r') && (ch != ' ') && (ch != ',') && (ch != '\t'))
1056 break;
1057 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1058 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1059
1060 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1061 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this))
1062 break;
1063 }
1064 if(result)
1065 {
1066 for(c = 0; c < max - 1; c++)
1067 {
1068 if(!quoted && ((ch == '\n') || (ch == '\r') || (ch == ' ') || (ch == ',') || (ch == '\t')))
1069 {
1070 result = 1;
1071 break;
1072 }
1073 if(ch == '\"')
1074 {
1075 quoted ^= (unsigned int)1;
1076 c--;
1077 }
1078 else
1079 string[c] = ch;
1080 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char *  ch))__extension__ ({
1081 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1082
1083 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1084 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc])(this, &ch))
1085 {
1086 c++;
1087 result = 0;
1088 break;
1089 }
1090 }
1091 string[c] = (char)0;
1092 }
1093 return result;
1094 }
1095
1096 void *  __ecereProp___ecereNameSpace__ecere__sys__File_Get_input(struct __ecereNameSpace__ecere__com__Instance * this)
1097 {
1098 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1099
1100 return __ecerePointer___ecereNameSpace__ecere__sys__File->input;
1101 }
1102
1103 void __ecereProp___ecereNameSpace__ecere__sys__File_Set_input(struct __ecereNameSpace__ecere__com__Instance * this, void *  value)
1104 {
1105 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1106
1107 __ecerePointer___ecereNameSpace__ecere__sys__File->input = value;
1108 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__sys__File_input), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__sys__File_input);
1109 }
1110
1111 void *  __ecereProp___ecereNameSpace__ecere__sys__File_Get_output(struct __ecereNameSpace__ecere__com__Instance * this)
1112 {
1113 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1114
1115 return __ecerePointer___ecereNameSpace__ecere__sys__File->output;
1116 }
1117
1118 void __ecereProp___ecereNameSpace__ecere__sys__File_Set_output(struct __ecereNameSpace__ecere__com__Instance * this, void *  value)
1119 {
1120 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1121
1122 __ecerePointer___ecereNameSpace__ecere__sys__File->output = value;
1123 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__sys__File_output), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__sys__File_output);
1124 }
1125
1126 void __ecereProp___ecereNameSpace__ecere__sys__File_Set_buffered(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int value)
1127 {
1128 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1129
1130 FILE_set_buffered(__ecerePointer___ecereNameSpace__ecere__sys__File->input, __ecerePointer___ecereNameSpace__ecere__sys__File->output, value);
1131 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__sys__File_buffered), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__sys__File_buffered);
1132 }
1133
1134 unsigned int __ecereProp___ecereNameSpace__ecere__sys__File_Get_eof(struct __ecereNameSpace__ecere__com__Instance * this)
1135 {
1136 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1137
1138 return ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1139 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1140
1141 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1142 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this);
1143 }
1144
1145 int __ecereMethod___ecereNameSpace__ecere__sys__File_GetLineEx(struct __ecereNameSpace__ecere__com__Instance * this, char * s, int max, unsigned int * hasNewLineChar)
1146 {
1147 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1148 int c = 0;
1149
1150 s[c] = '\0';
1151 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1152 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1153
1154 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1155 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this))
1156 {
1157 char ch = '\0';
1158
1159 while(c < max - 1)
1160 {
1161 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char *  ch))__extension__ ({
1162 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1163
1164 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1165 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc])(this, &ch))
1166 break;
1167 if(ch == '\n')
1168 break;
1169 if(ch != '\r')
1170 s[c++] = ch;
1171 }
1172 if(hasNewLineChar)
1173 *hasNewLineChar = (ch == '\n');
1174 }
1175 s[c] = '\0';
1176 return c;
1177 }
1178
1179 void __ecereMethod___ecereNameSpace__ecere__sys__File_Close(struct __ecereNameSpace__ecere__com__Instance * this)
1180 {
1181 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1182
1183 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1184 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1185
1186 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1187 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_CloseOutput])(this);
1188 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1189 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1190
1191 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1192 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_CloseInput])(this);
1193 }
1194
1195 void __ecereMethod___ecereNameSpace__ecere__sys__File_PrintLn(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
1196 {
1197 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1198 va_list args;
1199 char buffer[4096];
1200
1201 __builtin_va_start(args, object);
1202 __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof (buffer), class, object, args);
1203 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
1204 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1205
1206 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1207 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(this, buffer);
1208 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char ch))__extension__ ({
1209 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1210
1211 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1212 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Putc])(this, '\n');
1213 __builtin_va_end(args);
1214 }
1215
1216 void __ecereMethod___ecereNameSpace__ecere__sys__File_Print(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
1217 {
1218 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1219 va_list args;
1220 char buffer[4096];
1221
1222 __builtin_va_start(args, object);
1223 __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof (buffer), class, object, args);
1224 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
1225 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1226
1227 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1228 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(this, buffer);
1229 __builtin_va_end(args);
1230 }
1231
1232 struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(const char * fileName, int mode)
1233 {
1234 struct __ecereNameSpace__ecere__com__Instance * result = (((void *)0));
1235
1236 if(fileName)
1237 {
1238 if(strstr(fileName, "File://") == fileName)
1239 {
1240 result = (struct __ecereNameSpace__ecere__com__Instance *)(uintptr_t)strtoull(fileName + 7, (((void *)0)), 16);
1241 if(result)
1242 {
1243 if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)result)->_class && __ecereNameSpace__ecere__com__eClass_IsDerived(((struct __ecereNameSpace__ecere__com__Instance *)(char *)result)->_class, __ecereClass___ecereNameSpace__ecere__sys__File))
1244 {
1245 if(!((struct __ecereNameSpace__ecere__com__Instance *)(char *)result)->_refCount)
1246 result->_refCount++;
1247 result->_refCount++;
1248 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
1249 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = result;
1250
1251 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1252 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(result, 0, 0);
1253 }
1254 else
1255 result = (((void *)0));
1256 }
1257 }
1258 else
1259 {
1260 struct __ecereNameSpace__ecere__com__Instance * file = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__File);
1261
1262 if(file)
1263 {
1264 FILE_FileOpen(fileName, mode, &((struct __ecereNameSpace__ecere__sys__File *)(((char *)file + __ecereClass___ecereNameSpace__ecere__sys__File->offset)))->input, &((struct __ecereNameSpace__ecere__sys__File *)(((char *)file + __ecereClass___ecereNameSpace__ecere__sys__File->offset)))->output);
1265 if(!__ecereProp___ecereNameSpace__ecere__sys__File_Get_input(file) && !__ecereProp___ecereNameSpace__ecere__sys__File_Get_output(file))
1266 ;
1267 else
1268 {
1269 __ecereNameSpace__ecere__sys__openCount++;
1270 result = file;
1271 }
1272 if(!result)
1273 {
1274 (__ecereNameSpace__ecere__com__eInstance_DecRef(file), file = 0);
1275 }
1276 }
1277 }
1278 }
1279 return result;
1280 }
1281
1282 void __ecereUnregisterModule_File(struct __ecereNameSpace__ecere__com__Instance * module)
1283 {
1284
1285 __ecerePropM___ecereNameSpace__ecere__sys__File_input = (void *)0;
1286 __ecerePropM___ecereNameSpace__ecere__sys__File_output = (void *)0;
1287 __ecerePropM___ecereNameSpace__ecere__sys__File_buffered = (void *)0;
1288 __ecerePropM___ecereNameSpace__ecere__sys__File_eof = (void *)0;
1289 }
1290
1291 int __ecereMethod___ecereNameSpace__ecere__sys__File_GetValue(struct __ecereNameSpace__ecere__com__Instance * this)
1292 {
1293 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1294 char string[32];
1295
1296 __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(this, string, sizeof (string));
1297 return atoi(string);
1298 }
1299
1300 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetHexValue(struct __ecereNameSpace__ecere__com__Instance * this)
1301 {
1302 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1303 char string[32];
1304
1305 __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(this, string, sizeof (string));
1306 return (unsigned int)strtoul(string, (((void *)0)), 16);
1307 }
1308
1309 float __ecereMethod___ecereNameSpace__ecere__sys__File_GetFloat(struct __ecereNameSpace__ecere__com__Instance * this)
1310 {
1311 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1312 char string[32];
1313
1314 __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(this, string, sizeof (string));
1315 return (float)__ecereNameSpace__ecere__sys__FloatFromString(string);
1316 }
1317
1318 double __ecereMethod___ecereNameSpace__ecere__sys__File_GetDouble(struct __ecereNameSpace__ecere__com__Instance * this)
1319 {
1320 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1321 char string[32];
1322
1323 __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(this, string, sizeof (string));
1324 return __ecereNameSpace__ecere__sys__FloatFromString(string);
1325 }
1326
1327 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance ** this, const char * string)
1328 {
1329 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1330
1331 if(!string[0])
1332 {
1333 (*this) = (((void *)0));
1334 return 1;
1335 }
1336 else
1337 {
1338 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__sys__FileOpen(string, 1);
1339
1340 if(f)
1341 {
1342 (*this) = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__TempFile);
1343 while(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1344 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1345
1346 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1347 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(f))
1348 {
1349 unsigned char buffer[4096];
1350 unsigned int read = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
1351 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1352
1353 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1354 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, buffer, 1, sizeof (buffer));
1355
1356 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
1357 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = (*this);
1358
1359 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1360 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Write])((*this), buffer, 1, read);
1361 }
1362 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
1363 return 1;
1364 }
1365 }
1366 return 0;
1367 }
1368
1369 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_CopyTo(struct __ecereNameSpace__ecere__com__Instance * this, const char * outputFileName)
1370 {
1371 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
1372 unsigned int result = 0;
1373 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__sys__FileOpen(outputFileName, 2);
1374
1375 if(f)
1376 {
1377 unsigned char buffer[65536];
1378
1379 result = 1;
1380 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
1381 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1382
1383 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1384 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(this, 0, 0);
1385 while(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1386 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1387
1388 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1389 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this))
1390 {
1391 unsigned int count = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
1392 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1393
1394 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1395 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(this, buffer, 1, sizeof (buffer));
1396
1397 if(count && !((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
1398 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1399
1400 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1401 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Write])(f, buffer, 1, count))
1402 {
1403 result = 0;
1404 break;
1405 }
1406 }
1407 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
1408 }
1409 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
1410 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1411
1412 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1413 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(this, 0, 0);
1414 return result;
1415 }
1416
1417 void __ecereRegisterModule_File(struct __ecereNameSpace__ecere__com__Instance * module)
1418 {
1419 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
1420
1421 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(3, "ecere::sys::FileSize", "uint", 0, 0, (void *)0, (void *)0, module, 1, 1);
1422 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
1423 __ecereClass___ecereNameSpace__ecere__sys__FileSize = class;
1424 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCompare", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnCompare, 1);
1425 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetString, 1);
1426 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetDataFromString", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetDataFromString, 1);
1427 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(3, "ecere::sys::FileSize64", "uint64", 0, 0, (void *)0, (void *)0, module, 1, 1);
1428 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
1429 __ecereClass___ecereNameSpace__ecere__sys__FileSize64 = class;
1430 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCompare", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnCompare, 1);
1431 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetString, 1);
1432 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetDataFromString", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetDataFromString, 1);
1433 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::sys::FileSystem", 0, 0, 0, (void *)0, (void *)0, module, 2, 1);
1434 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
1435 __ecereClass___ecereNameSpace__ecere__sys__FileSystem = class;
1436 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Open", "ecere::sys::File ::Open(const char * archive, const char * name, ecere::sys::FileOpenMode mode)", 0, 2);
1437 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Exists", "ecere::sys::FileAttribs ::Exists(const char * archive, const char * fileName)", 0, 2);
1438 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetSize", "bool ::GetSize(const char * archive, const char * fileName, ecere::sys::FileSize * size)", 0, 2);
1439 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Stats", "bool ::Stats(const char * archive, const char * fileName, ecere::sys::FileStats stats)", 0, 2);
1440 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FixCase", "void ::FixCase(const char * archive, char * fileName)", 0, 2);
1441 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Find", "bool ::Find(FileDesc file, const char * archive, const char * name)", 0, 2);
1442 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FindNext", "bool ::FindNext(FileDesc file)", 0, 2);
1443 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "CloseDir", "void ::CloseDir(FileDesc file)", 0, 2);
1444 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "OpenArchive", "Archive ::OpenArchive(const char * fileName, ArchiveOpenFlags create)", 0, 2);
1445 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "QuerySize", "bool ::QuerySize(const char * fileName, ecere::sys::FileSize * size)", 0, 2);
1446 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::FileOpenMode", 0, 0, 0, (void *)0, (void *)0, module, 1, 1);
1447 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
1448 __ecereClass___ecereNameSpace__ecere__sys__FileOpenMode = class;
1449 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "read", 1);
1450 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "write", 2);
1451 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "append", 3);
1452 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "readWrite", 4);
1453 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "writeRead", 5);
1454 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "appendRead", 6);
1455 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::FileSeekMode", 0, 0, 0, (void *)0, (void *)0, module, 1, 1);
1456 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
1457 __ecereClass___ecereNameSpace__ecere__sys__FileSeekMode = class;
1458 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "start", 0);
1459 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "current", 1);
1460 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "end", 2);
1461 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::FileLock", 0, 0, 0, (void *)0, (void *)0, module, 1, 1);
1462 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
1463 __ecereClass___ecereNameSpace__ecere__sys__FileLock = class;
1464 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "unlocked", 0);
1465 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "shared", 1);
1466 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "exclusive", 2);
1467 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::sys::File", "ecere::com::IOChannel", sizeof(struct __ecereNameSpace__ecere__sys__File), 0, (void *)0, (void *)__ecereDestructor___ecereNameSpace__ecere__sys__File, module, 1, 1);
1468 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
1469 __ecereClass___ecereNameSpace__ecere__sys__File = class;
1470 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetString, 1);
1471 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetDataFromString", 0, __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetDataFromString, 1);
1472 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "WriteData", 0, __ecereMethod___ecereNameSpace__ecere__sys__File_WriteData, 1);
1473 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "ReadData", 0, __ecereMethod___ecereNameSpace__ecere__sys__File_ReadData, 1);
1474 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Seek", "bool Seek(int pos, ecere::sys::FileSeekMode mode)", __ecereMethod___ecereNameSpace__ecere__sys__File_Seek, 1);
1475 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Tell", "uint Tell(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_Tell, 1);
1476 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Read", "int Read(void * buffer, unsigned int size, unsigned int count)", __ecereMethod___ecereNameSpace__ecere__sys__File_Read, 1);
1477 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Write", "int Write(const void * buffer, unsigned int size, unsigned int count)", __ecereMethod___ecereNameSpace__ecere__sys__File_Write, 1);
1478 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Getc", "bool Getc(char * ch)", __ecereMethod___ecereNameSpace__ecere__sys__File_Getc, 1);
1479 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Putc", "bool Putc(char ch)", __ecereMethod___ecereNameSpace__ecere__sys__File_Putc, 1);
1480 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Puts", "bool Puts(const char * string)", __ecereMethod___ecereNameSpace__ecere__sys__File_Puts, 1);
1481 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Eof", "bool Eof(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_Eof, 1);
1482 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Truncate", "bool Truncate(ecere::sys::FileSize size)", __ecereMethod___ecereNameSpace__ecere__sys__File_Truncate, 1);
1483 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetSize", "uint GetSize(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetSize, 1);
1484 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "CloseInput", "void CloseInput(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_CloseInput, 1);
1485 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "CloseOutput", "void CloseOutput(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_CloseOutput, 1);
1486 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Lock", "bool Lock(ecere::sys::FileLock type, uint64 start, uint64 length, bool wait)", __ecereMethod___ecereNameSpace__ecere__sys__File_Lock, 1);
1487 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Unlock", "bool Unlock(uint64 start, uint64 length, bool wait)", __ecereMethod___ecereNameSpace__ecere__sys__File_Unlock, 1);
1488 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Close", "void Close()", __ecereMethod___ecereNameSpace__ecere__sys__File_Close, 1);
1489 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "CopyTo", "bool CopyTo(const char * outputFileName)", __ecereMethod___ecereNameSpace__ecere__sys__File_CopyTo, 1);
1490 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Flush", "bool Flush(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_Flush, 1);
1491 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetDouble", "double GetDouble(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetDouble, 1);
1492 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetFloat", "float GetFloat(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetFloat, 1);
1493 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetHexValue", "unsigned int GetHexValue(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetHexValue, 1);
1494 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetLine", "bool GetLine(char * s, int max)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine, 1);
1495 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetLineEx", "int GetLineEx(char * s, int max, bool * hasNewLineChar)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetLineEx, 1);
1496 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetString", "bool GetString(char * string, int max)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetString, 1);
1497 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetValue", "int GetValue(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetValue, 1);
1498 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Print", "void Print(typed_object object, ...)", __ecereMethod___ecereNameSpace__ecere__sys__File_Print, 1);
1499 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "PrintLn", "void PrintLn(typed_object object, ...)", __ecereMethod___ecereNameSpace__ecere__sys__File_PrintLn, 1);
1500 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Printf", "int Printf(const char * format, ...)", __ecereMethod___ecereNameSpace__ecere__sys__File_Printf, 1);
1501 __ecerePropM___ecereNameSpace__ecere__sys__File_input = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "input", "void *", __ecereProp___ecereNameSpace__ecere__sys__File_Set_input, __ecereProp___ecereNameSpace__ecere__sys__File_Get_input, 1);
1502 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application)
1503 __ecereProp___ecereNameSpace__ecere__sys__File_input = __ecerePropM___ecereNameSpace__ecere__sys__File_input, __ecerePropM___ecereNameSpace__ecere__sys__File_input = (void *)0;
1504 __ecerePropM___ecereNameSpace__ecere__sys__File_output = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "output", "void *", __ecereProp___ecereNameSpace__ecere__sys__File_Set_output, __ecereProp___ecereNameSpace__ecere__sys__File_Get_output, 1);
1505 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application)
1506 __ecereProp___ecereNameSpace__ecere__sys__File_output = __ecerePropM___ecereNameSpace__ecere__sys__File_output, __ecerePropM___ecereNameSpace__ecere__sys__File_output = (void *)0;
1507 __ecerePropM___ecereNameSpace__ecere__sys__File_buffered = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "buffered", "bool", __ecereProp___ecereNameSpace__ecere__sys__File_Set_buffered, 0, 1);
1508 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application)
1509 __ecereProp___ecereNameSpace__ecere__sys__File_buffered = __ecerePropM___ecereNameSpace__ecere__sys__File_buffered, __ecerePropM___ecereNameSpace__ecere__sys__File_buffered = (void *)0;
1510 __ecerePropM___ecereNameSpace__ecere__sys__File_eof = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "eof", "bool", 0, __ecereProp___ecereNameSpace__ecere__sys__File_Get_eof, 1);
1511 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application)
1512 __ecereProp___ecereNameSpace__ecere__sys__File_eof = __ecerePropM___ecereNameSpace__ecere__sys__File_eof, __ecerePropM___ecereNameSpace__ecere__sys__File_eof = (void *)0;
1513 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::sys::ConsoleFile", "ecere::sys::File", 0, 0, (void *)__ecereConstructor___ecereNameSpace__ecere__sys__ConsoleFile, (void *)__ecereDestructor___ecereNameSpace__ecere__sys__ConsoleFile, module, 1, 1);
1514 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
1515 __ecereClass___ecereNameSpace__ecere__sys__ConsoleFile = class;
1516 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(2, "ecere::sys::FileAttribs", "bool", 0, 0, (void *)0, (void *)0, module, 1, 1);
1517 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
1518 __ecereClass___ecereNameSpace__ecere__sys__FileAttribs = class;
1519 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isFile", "bool", 1, 0, 1);
1520 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isArchive", "bool", 1, 1, 1);
1521 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isHidden", "bool", 1, 2, 1);
1522 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isReadOnly", "bool", 1, 3, 1);
1523 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isSystem", "bool", 1, 4, 1);
1524 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isTemporary", "bool", 1, 5, 1);
1525 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isDirectory", "bool", 1, 6, 1);
1526 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isDrive", "bool", 1, 7, 1);
1527 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isCDROM", "bool", 1, 8, 1);
1528 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isRemote", "bool", 1, 9, 1);
1529 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isRemovable", "bool", 1, 10, 1);
1530 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isServer", "bool", 1, 11, 1);
1531 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isShare", "bool", 1, 12, 1);
1532 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(3, "ecere::sys::SecSince1970", "int64", 0, 0, (void *)0, (void *)0, module, 1, 1);
1533 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
1534 __ecereClass___ecereNameSpace__ecere__sys__SecSince1970 = class;
1535 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::sys::FileStats", 0, sizeof(struct __ecereNameSpace__ecere__sys__FileStats), 0, (void *)0, (void *)0, module, 1, 1);
1536 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
1537 __ecereClass___ecereNameSpace__ecere__sys__FileStats = class;
1538 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "attribs", "ecere::sys::FileAttribs", 4, 4, 1);
1539 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "size", "ecere::sys::FileSize", 4, 4, 1);
1540 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "accessed", "ecere::sys::SecSince1970", 8, 8, 1);
1541 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "modified", "ecere::sys::SecSince1970", 8, 8, 1);
1542 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "created", "ecere::sys::SecSince1970", 8, 8, 1);
1543 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileExists", "ecere::sys::FileAttribs ecere::sys::FileExists(const char * fileName)", __ecereNameSpace__ecere__sys__FileExists, module, 1);
1544 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileOpen", "ecere::sys::File ecere::sys::FileOpen(const char * fileName, ecere::sys::FileOpenMode mode)", __ecereNameSpace__ecere__sys__FileOpen, module, 1);
1545 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileFixCase", "void ecere::sys::FileFixCase(char * file)", __ecereNameSpace__ecere__sys__FileFixCase, module, 1);
1546 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileGetSize", "bool ecere::sys::FileGetSize(const char * fileName, ecere::sys::FileSize * size)", __ecereNameSpace__ecere__sys__FileGetSize, module, 1);
1547 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileGetStats", "bool ecere::sys::FileGetStats(const char * fileName, ecere::sys::FileStats stats)", __ecereNameSpace__ecere__sys__FileGetStats, module, 1);
1548 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CreateTemporaryFile", "ecere::sys::File ecere::sys::CreateTemporaryFile(char * tempFileName, const char * template)", __ecereNameSpace__ecere__sys__CreateTemporaryFile, module, 1);
1549 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CreateTemporaryDir", "void ecere::sys::CreateTemporaryDir(char * tempFileName, const char * template)", __ecereNameSpace__ecere__sys__CreateTemporaryDir, module, 1);
1550 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MakeSlashPath", "void ecere::sys::MakeSlashPath(char * p)", __ecereNameSpace__ecere__sys__MakeSlashPath, module, 1);
1551 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MakeSystemPath", "void ecere::sys::MakeSystemPath(char * p)", __ecereNameSpace__ecere__sys__MakeSystemPath, module, 1);
1552 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopySystemPath", "char * ecere::sys::CopySystemPath(const char * p)", __ecereNameSpace__ecere__sys__CopySystemPath, module, 1);
1553 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyUnixPath", "char * ecere::sys::CopyUnixPath(const char * p)", __ecereNameSpace__ecere__sys__CopyUnixPath, module, 1);
1554 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetSystemPathBuffer", "char * ecere::sys::GetSystemPathBuffer(char * d, const char * p)", __ecereNameSpace__ecere__sys__GetSystemPathBuffer, module, 1);
1555 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetSlashPathBuffer", "char * ecere::sys::GetSlashPathBuffer(char * d, const char * p)", __ecereNameSpace__ecere__sys__GetSlashPathBuffer, module, 1);
1556 }
1557