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