Fri Mar 29 16:09:54 CET 2002 Paolo Molaro <lupus@ximian.com>
[mono.git] / mono / metadata / image.h
index b22f65ac90808ba1de4cb4120bdf9f18fb43f3cc..1132bc4c43c6311498608b94ce21935335c0f124 100644 (file)
@@ -5,24 +5,26 @@
 #include <glib.h>
 
 typedef struct _MonoImage MonoImage;
-typedef struct _MonoImage MonoMetadata;
 
 typedef struct {
+       int   ref_count;
+       char *name;
+       
        MonoImage *image;
        /* Load files here */
 } MonoAssembly;
 
 typedef struct {
-       guint32  offset;
+       const char* data;
        guint32  size;
 } MonoStreamHeader;
 
 typedef struct {
        guint32   rows, row_size;
-       char     *base;
+       const char *base;
 
        /*
-        * Tables contain up to 9 rows and the possible sizes of the
+        * Tables contain up to 9 columns and the possible sizes of the
         * fields in the documentation are 1, 2 and 4 bytes.  So we
         * can encode in 2 bits the size.
         *
@@ -51,7 +53,7 @@ struct _MonoImage {
        MonoStreamHeader     heap_guid;
        MonoStreamHeader     heap_tables;
                            
-       char                *tables_base;
+       const char          *tables_base;
 
        MonoTableInfo        tables [64];
 
@@ -79,6 +81,8 @@ struct _MonoImage {
         */
        GHashTable *array_cache;
 
+       void *reflection_info;
+
        /*
         * user_info is a public field and is not touched by the
         * metadata engine
@@ -95,10 +99,10 @@ enum MonoImageOpenStatus {
 
 MonoImage    *mono_image_open     (const char *fname,
                                   enum MonoImageOpenStatus *status);
+MonoImage    *mono_image_loaded   (const char *name);
 void          mono_image_close    (MonoImage *image);
 const char   *mono_image_strerror (enum MonoImageOpenStatus status);
 
-
 int           mono_image_ensure_section     (MonoImage *image,
                                             const char *section);
 int           mono_image_ensure_section_idx (MonoImage *image,