f4194cbf9843bb5d5d294893dc6f2d9bf2745475
[sdk] / compiler / bootstrap / ecere / bootstrap / TempFile.c
1 /* Code generated from eC source file: TempFile.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 struct __ecereNameSpace__ecere__com__Instance;
44
45 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
46
47 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
48
49 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
50
51 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
52
53 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void *  memory);
54
55 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
56
57 struct __ecereNameSpace__ecere__sys__BTNode;
58
59 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
60
61 struct __ecereNameSpace__ecere__sys__BinaryTree
62 {
63 struct __ecereNameSpace__ecere__sys__BTNode * root;
64 int count;
65 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
66 void (*  FreeKey)(void *  key);
67 } __attribute__ ((gcc_struct));
68
69 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
70
71 struct __ecereNameSpace__ecere__sys__OldList
72 {
73 void *  first;
74 void *  last;
75 int count;
76 unsigned int offset;
77 unsigned int circ;
78 } __attribute__ ((gcc_struct));
79
80 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
81
82 struct __ecereNameSpace__ecere__com__Class
83 {
84 struct __ecereNameSpace__ecere__com__Class * prev;
85 struct __ecereNameSpace__ecere__com__Class * next;
86 const char *  name;
87 int offset;
88 int structSize;
89 int (* *  _vTbl)();
90 int vTblSize;
91 int (*  Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
92 void (*  Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
93 int offsetClass;
94 int sizeClass;
95 struct __ecereNameSpace__ecere__com__Class * base;
96 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
97 struct __ecereNameSpace__ecere__sys__BinaryTree members;
98 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
99 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
100 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
101 struct __ecereNameSpace__ecere__sys__OldList derivatives;
102 int memberID;
103 int startMemberID;
104 int type;
105 struct __ecereNameSpace__ecere__com__Instance * module;
106 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
107 const char *  dataTypeString;
108 struct __ecereNameSpace__ecere__com__Instance * dataType;
109 int typeSize;
110 int defaultAlignment;
111 void (*  Initialize)();
112 int memberOffset;
113 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
114 const char *  designerClass;
115 unsigned int noExpansion;
116 const char *  defaultProperty;
117 unsigned int comRedefinition;
118 int count;
119 int isRemote;
120 unsigned int internalDecl;
121 void *  data;
122 unsigned int computeSize;
123 int structAlignment;
124 int destructionWatchOffset;
125 unsigned int fixed;
126 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
127 int inheritanceAccess;
128 const char *  fullName;
129 void *  symbol;
130 struct __ecereNameSpace__ecere__sys__OldList conversions;
131 struct __ecereNameSpace__ecere__sys__OldList templateParams;
132 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
133 struct __ecereNameSpace__ecere__com__Class * templateClass;
134 struct __ecereNameSpace__ecere__sys__OldList templatized;
135 int numParams;
136 unsigned int isInstanceClass;
137 unsigned int byValueSystemClass;
138 } __attribute__ ((gcc_struct));
139
140 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
141
142 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
143
144 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
145
146 struct __ecereNameSpace__ecere__com__Property
147 {
148 struct __ecereNameSpace__ecere__com__Property * prev;
149 struct __ecereNameSpace__ecere__com__Property * next;
150 const char *  name;
151 unsigned int isProperty;
152 int memberAccess;
153 int id;
154 struct __ecereNameSpace__ecere__com__Class * _class;
155 const char *  dataTypeString;
156 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
157 struct __ecereNameSpace__ecere__com__Instance * dataType;
158 void (*  Set)(void * , int);
159 int (*  Get)(void * );
160 unsigned int (*  IsSet)(void * );
161 void *  data;
162 void *  symbol;
163 int vid;
164 unsigned int conversion;
165 unsigned int watcherOffset;
166 const char *  category;
167 unsigned int compiled;
168 unsigned int selfWatchable;
169 unsigned int isWatchable;
170 } __attribute__ ((gcc_struct));
171
172 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
173
174 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
175
176 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
177
178 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);
179
180 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void *  instance, struct __ecereNameSpace__ecere__com__Property * _property, void *  object, void (*  callback)(void * , void * ));
181
182 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
183
184 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
185
186 struct __ecereNameSpace__ecere__com__Instance
187 {
188 int (* *  _vTbl)();
189 struct __ecereNameSpace__ecere__com__Class * _class;
190 int _refCount;
191 } __attribute__ ((gcc_struct));
192
193 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
194
195 struct __ecereNameSpace__ecere__com__DataMember
196 {
197 struct __ecereNameSpace__ecere__com__DataMember * prev;
198 struct __ecereNameSpace__ecere__com__DataMember * next;
199 const char *  name;
200 unsigned int isProperty;
201 int memberAccess;
202 int id;
203 struct __ecereNameSpace__ecere__com__Class * _class;
204 const char *  dataTypeString;
205 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
206 struct __ecereNameSpace__ecere__com__Instance * dataType;
207 int type;
208 int offset;
209 int memberID;
210 struct __ecereNameSpace__ecere__sys__OldList members;
211 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
212 int memberOffset;
213 int structAlignment;
214 } __attribute__ ((gcc_struct));
215
216 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
217
218 struct __ecereNameSpace__ecere__com__Method
219 {
220 const char *  name;
221 struct __ecereNameSpace__ecere__com__Method * parent;
222 struct __ecereNameSpace__ecere__com__Method * left;
223 struct __ecereNameSpace__ecere__com__Method * right;
224 int depth;
225 int (*  function)();
226 int vid;
227 int type;
228 struct __ecereNameSpace__ecere__com__Class * _class;
229 void *  symbol;
230 const char *  dataTypeString;
231 struct __ecereNameSpace__ecere__com__Instance * dataType;
232 int memberAccess;
233 } __attribute__ ((gcc_struct));
234
235 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
236
237 struct __ecereNameSpace__ecere__com__SerialBuffer
238 {
239 unsigned char *  _buffer;
240 unsigned int count;
241 unsigned int _size;
242 unsigned int pos;
243 } __attribute__ ((gcc_struct));
244
245 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
246
247 struct __ecereNameSpace__ecere__com__DataValue
248 {
249 union
250 {
251 char c;
252 unsigned char uc;
253 short s;
254 unsigned short us;
255 int i;
256 unsigned int ui;
257 void *  p;
258 float f;
259 double d;
260 long long i64;
261 uint64 ui64;
262 } __attribute__ ((gcc_struct)) __anon1;
263 } __attribute__ ((gcc_struct));
264
265 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
266
267 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
268 {
269 union
270 {
271 struct
272 {
273 const char *  dataTypeString;
274 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
275 } __attribute__ ((gcc_struct)) __anon1;
276 struct __ecereNameSpace__ecere__com__DataValue expression;
277 struct
278 {
279 const char *  memberString;
280 union
281 {
282 struct __ecereNameSpace__ecere__com__DataMember * member;
283 struct __ecereNameSpace__ecere__com__Property * prop;
284 struct __ecereNameSpace__ecere__com__Method * method;
285 } __attribute__ ((gcc_struct)) __anon1;
286 } __attribute__ ((gcc_struct)) __anon2;
287 } __attribute__ ((gcc_struct)) __anon1;
288 } __attribute__ ((gcc_struct));
289
290 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__TempFile_openMode, * __ecerePropM___ecereNameSpace__ecere__sys__TempFile_openMode;
291
292 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__TempFile_buffer, * __ecerePropM___ecereNameSpace__ecere__sys__TempFile_buffer;
293
294 struct __ecereNameSpace__ecere__sys__TempFile
295 {
296 unsigned char * buffer;
297 unsigned int size;
298 unsigned int position;
299 unsigned int eof;
300 int openMode;
301 unsigned int allocated;
302 } __attribute__ ((gcc_struct));
303
304 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__TempFile;
305
306 unsigned int __ecereConstructor___ecereNameSpace__ecere__sys__TempFile(struct __ecereNameSpace__ecere__com__Instance * this)
307 {
308 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
309
310 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->openMode = 5;
311 return 1;
312 }
313
314 void __ecereDestructor___ecereNameSpace__ecere__sys__TempFile(struct __ecereNameSpace__ecere__com__Instance * this)
315 {
316 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
317
318 {
319 (__ecereNameSpace__ecere__com__eSystem_Delete(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer), __ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer = 0);
320 }
321 }
322
323 extern void *  memcpy(void * , const void * , size_t size);
324
325 int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Read(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * buffer, unsigned int size, unsigned int count)
326 {
327 int __simpleStruct0;
328 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
329 int readSize = size * count;
330 int read = (__simpleStruct0 = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size - __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position, (readSize < __simpleStruct0) ? readSize : __simpleStruct0);
331
332 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->position >= __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size)
333 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->eof = 1;
334 if(buffer)
335 memcpy(buffer, __ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer + __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position, read);
336 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position += read;
337 return read / size;
338 }
339
340 int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Write(struct __ecereNameSpace__ecere__com__Instance * this, const unsigned char * buffer, unsigned int size, unsigned int count)
341 {
342 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
343 int writeSize = size * count;
344 int written = writeSize;
345
346 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->size - __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position < writeSize)
347 {
348 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size += writeSize - (__ecerePointer___ecereNameSpace__ecere__sys__TempFile->size - __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position);
349 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->allocated < __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size)
350 {
351 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->allocated *= 2;
352 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->allocated < __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size)
353 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->allocated = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size * 2;
354 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer, sizeof(unsigned char) * (__ecerePointer___ecereNameSpace__ecere__sys__TempFile->allocated));
355 }
356 }
357 memcpy(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer + __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position, buffer, writeSize);
358 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position += written;
359 return written / size;
360 }
361
362 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
363
364 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Getc(struct __ecereNameSpace__ecere__com__Instance * this, char * ch)
365 {
366 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
367 int read = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
368 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
369
370 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__TempFile->_vTbl;
371 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(this, ch, 1, 1);
372
373 return !__ecerePointer___ecereNameSpace__ecere__sys__TempFile->eof && read != 0;
374 }
375
376 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Write;
377
378 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Putc(struct __ecereNameSpace__ecere__com__Instance * this, char ch)
379 {
380 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
381 int written = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
382 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
383
384 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__TempFile->_vTbl;
385 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Write])(this, &ch, 1, 1);
386
387 return written != 0;
388 }
389
390 extern size_t strlen(const char * );
391
392 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Puts(struct __ecereNameSpace__ecere__com__Instance * this, const char * string)
393 {
394 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
395 int len = string ? strlen(string) : 0;
396 int written = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
397 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
398
399 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__TempFile->_vTbl;
400 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Write])(this, string, 1, len);
401
402 return written == len;
403 }
404
405 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Seek(struct __ecereNameSpace__ecere__com__Instance * this, int pos, int mode)
406 {
407 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
408 unsigned int result = 1;
409 unsigned int increase = 0;
410
411 switch(mode)
412 {
413 case 0:
414 {
415 if(pos >= __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size)
416 {
417 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->openMode == 4)
418 {
419 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = pos;
420 increase = pos - __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size;
421 }
422 else
423 {
424 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size;
425 result = 0;
426 }
427 }
428 else if(pos < 0)
429 {
430 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = 0;
431 result = 0;
432 }
433 else
434 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = pos;
435 break;
436 }
437 case 1:
438 {
439 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->position + pos >= __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size)
440 {
441 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->openMode == 4)
442 {
443 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position += pos;
444 increase = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position - __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size;
445 }
446 else
447 {
448 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size;
449 result = 0;
450 }
451 }
452 else if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->position + pos < 0)
453 {
454 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = 0;
455 result = 0;
456 }
457 else
458 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position += pos;
459 break;
460 }
461 case 2:
462 {
463 if((int)__ecerePointer___ecereNameSpace__ecere__sys__TempFile->size + pos >= (int)__ecerePointer___ecereNameSpace__ecere__sys__TempFile->size)
464 {
465 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->openMode == 4)
466 {
467 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size + pos;
468 increase = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position - __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size;
469 }
470 else
471 {
472 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size;
473 result = 0;
474 }
475 }
476 else if((int)__ecerePointer___ecereNameSpace__ecere__sys__TempFile->size + pos < 0)
477 {
478 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = 0;
479 result = 0;
480 }
481 else
482 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size + pos;
483 break;
484 }
485 }
486 if(result)
487 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->eof = 0;
488 if(increase)
489 {
490 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size += increase;
491 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer, sizeof(unsigned char) * (__ecerePointer___ecereNameSpace__ecere__sys__TempFile->size));
492 }
493 return result;
494 }
495
496 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Tell(struct __ecereNameSpace__ecere__com__Instance * this)
497 {
498 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
499
500 return __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position;
501 }
502
503 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Eof(struct __ecereNameSpace__ecere__com__Instance * this)
504 {
505 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
506
507 return __ecerePointer___ecereNameSpace__ecere__sys__TempFile->eof;
508 }
509
510 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_GetSize(struct __ecereNameSpace__ecere__com__Instance * this)
511 {
512 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
513
514 return __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size;
515 }
516
517 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Truncate(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int size)
518 {
519 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
520
521 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer, sizeof(unsigned char) * (size));
522 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size = (unsigned int)size;
523 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->allocated = (unsigned int)size;
524 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->position > size)
525 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = (unsigned int)size;
526 return 1;
527 }
528
529 int __ecereProp___ecereNameSpace__ecere__sys__TempFile_Get_openMode(struct __ecereNameSpace__ecere__com__Instance * this)
530 {
531 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
532
533 return __ecerePointer___ecereNameSpace__ecere__sys__TempFile->openMode;
534 }
535
536 void __ecereProp___ecereNameSpace__ecere__sys__TempFile_Set_openMode(struct __ecereNameSpace__ecere__com__Instance * this, int value)
537 {
538 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
539
540 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->openMode = value;
541 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__sys__TempFile_openMode), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__sys__TempFile_openMode);
542 }
543
544 unsigned char *  __ecereProp___ecereNameSpace__ecere__sys__TempFile_Get_buffer(struct __ecereNameSpace__ecere__com__Instance * this)
545 {
546 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
547
548 return __ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer;
549 }
550
551 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);
552
553 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
554
555 struct __ecereNameSpace__ecere__com__NameSpace
556 {
557 const char *  name;
558 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
559 struct __ecereNameSpace__ecere__com__NameSpace *  left;
560 struct __ecereNameSpace__ecere__com__NameSpace *  right;
561 int depth;
562 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
563 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
564 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
565 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
566 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
567 } __attribute__ ((gcc_struct));
568
569 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
570
571 struct __ecereNameSpace__ecere__com__Module
572 {
573 struct __ecereNameSpace__ecere__com__Instance * application;
574 struct __ecereNameSpace__ecere__sys__OldList classes;
575 struct __ecereNameSpace__ecere__sys__OldList defines;
576 struct __ecereNameSpace__ecere__sys__OldList functions;
577 struct __ecereNameSpace__ecere__sys__OldList modules;
578 struct __ecereNameSpace__ecere__com__Instance * prev;
579 struct __ecereNameSpace__ecere__com__Instance * next;
580 const char *  name;
581 void *  library;
582 void *  Unload;
583 int importType;
584 int origImportType;
585 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
586 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
587 } __attribute__ ((gcc_struct));
588
589 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
590
591 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);
592
593 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);
594
595 void __ecereRegisterModule_TempFile(struct __ecereNameSpace__ecere__com__Instance * module)
596 {
597 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
598
599 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::sys::TempFile", "ecere::sys::File", sizeof(struct __ecereNameSpace__ecere__sys__TempFile), 0, __ecereConstructor___ecereNameSpace__ecere__sys__TempFile, __ecereDestructor___ecereNameSpace__ecere__sys__TempFile, module, 1, 1);
600 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
601 __ecereClass___ecereNameSpace__ecere__sys__TempFile = class;
602 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Seek", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Seek, 1);
603 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Tell", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Tell, 1);
604 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Read", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Read, 1);
605 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Write", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Write, 1);
606 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Getc", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Getc, 1);
607 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Putc", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Putc, 1);
608 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Puts", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Puts, 1);
609 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Eof", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Eof, 1);
610 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Truncate", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Truncate, 1);
611 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetSize", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_GetSize, 1);
612 __ecerePropM___ecereNameSpace__ecere__sys__TempFile_openMode = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "openMode", "ecere::sys::FileOpenMode", __ecereProp___ecereNameSpace__ecere__sys__TempFile_Set_openMode, __ecereProp___ecereNameSpace__ecere__sys__TempFile_Get_openMode, 1);
613 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
614 __ecereProp___ecereNameSpace__ecere__sys__TempFile_openMode = __ecerePropM___ecereNameSpace__ecere__sys__TempFile_openMode, __ecerePropM___ecereNameSpace__ecere__sys__TempFile_openMode = (void *)0;
615 __ecerePropM___ecereNameSpace__ecere__sys__TempFile_buffer = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "buffer", "byte *", 0, __ecereProp___ecereNameSpace__ecere__sys__TempFile_Get_buffer, 1);
616 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
617 __ecereProp___ecereNameSpace__ecere__sys__TempFile_buffer = __ecerePropM___ecereNameSpace__ecere__sys__TempFile_buffer, __ecerePropM___ecereNameSpace__ecere__sys__TempFile_buffer = (void *)0;
618 }
619
620 void __ecereUnregisterModule_TempFile(struct __ecereNameSpace__ecere__com__Instance * module)
621 {
622
623 __ecerePropM___ecereNameSpace__ecere__sys__TempFile_openMode = (void *)0;
624 __ecerePropM___ecereNameSpace__ecere__sys__TempFile_buffer = (void *)0;
625 }
626