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