5c8a61118fc289ace521eecdf28ebc262306b3b9
[mono.git] / mono / metadata / object.h
1 #ifndef _MONO_CLI_OBJECT_H_
2 #define _MONO_CLI_OBJECT_H_
3
4 #include <mono/cli/class.h>
5
6 typedef struct {
7         MonoClass *klass;
8 } MonoObject;
9
10 typedef struct {
11         guint32 length;
12         guint32 lower_bound;
13 } MonoArrayBounds;
14
15 typedef struct {
16         MonoObject obj;
17         gpointer vector;
18         MonoArrayBounds *bounds;
19 } MonoArrayObject;
20
21 typedef struct {
22         MonoObject obj;
23         MonoArrayObject *c_str;
24         gint32 length;
25 } MonoStringObject;
26
27 MonoObject *
28 mono_object_new       (MonoImage *image, guint32 type_token);
29
30 MonoObject *
31 mono_new_szarray      (MonoImage *image, guint32 etype, guint32 n);
32
33 void       
34 mono_object_free      (MonoObject *o);
35                       
36 #endif
37