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