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