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