Changed the makefile system to autoconf/automake.
[cacao.git] / tables.h
1 /****************************** tables.h ***************************************
2
3         Copyright (c) 1997 A. Krall, R. Grafl, M. Gschwind, M. Probst
4
5         See file COPYRIGHT for information on usage and disclaimer of warranties
6
7         Author:  Reinhard Grafl      EMAIL: cacao@complang.tuwien.ac.at
8
9         Last Change: 1996/11/20
10
11 *******************************************************************************/
12
13 #include "global.h" /* for unicode. -- phil */
14
15 extern bool collectverbose;
16
17
18 #define CLASS(name)     (unicode_getclasslink(unicode_new_char(name)))
19
20 typedef void (*stringdeleter) ( java_objectheader *string );
21
22
23 void suck_init (char *classpath);
24 bool suck_start (unicode *name);
25 void suck_stop ();
26 void suck_nbytes (u1 *buffer, u4 len);
27 void skip_nbytes (u4 len);
28 u1 suck_u1 ();
29 s1 suck_s1 ();
30 u2 suck_u2 ();
31 s2 suck_s2 ();
32 u4 suck_u4 ();
33 s4 suck_s4 ();
34 u8 suck_u8 ();
35 s8 suck_s8 ();
36 float suck_float ();
37 double suck_double ();
38
39
40 void unicode_init ();
41 void unicode_close (stringdeleter del);
42 void unicode_display (unicode *u);
43 void unicode_sprint (char *buffer, unicode *u);
44 void unicode_fprint (FILE *file, unicode *u);
45 unicode *unicode_new_u2 (u2 *text, u2 length);
46 unicode *unicode_new_char (char *text);
47 void unicode_setclasslink (unicode *u, classinfo *class);
48 classinfo *unicode_getclasslink (unicode *u);
49 void unicode_unlinkclass (unicode *u);
50 void unicode_setstringlink (unicode *u, java_objectheader *str);
51 void unicode_unlinkstring (unicode *u);
52 void unicode_show ();
53
54 u2 desc_to_type (unicode *descriptor);
55 u2 desc_typesize (unicode *descriptor);
56
57
58 void heap_init (u4 size, u4 startsize, void **stackbottom);
59 void heap_close ();
60 void *heap_allocate (u4 bytelength, bool references, methodinfo *finalizer);
61 void heap_addreference (void **reflocation);
62
63 void gc_init (void);
64 void gc_thread (void);
65 void gc_call (void);