Grasshopper project system now uses csproj extension
[mono.git] / mono / metadata / image.h
index bbd3e2f762ecf06cf581687fe78a3fce5eeecd05..07b72bff7b9b396641e524495e026adba4cbaca6 100644 (file)
@@ -3,7 +3,8 @@
 
 #include <stdio.h>
 #include <glib.h>
-#include <gmodule.h>
+
+G_BEGIN_DECLS
 
 typedef struct _MonoImage MonoImage;
 typedef struct _MonoAssembly MonoAssembly;
@@ -32,13 +33,22 @@ typedef enum {
 } MonoImageOpenStatus;
 
 void          mono_images_init    (void);
+void          mono_images_cleanup (void);
 
 MonoImage    *mono_image_open     (const char *fname,
                                   MonoImageOpenStatus *status);
+MonoImage    *mono_image_open_full (const char *fname,
+                                  MonoImageOpenStatus *status, gboolean refonly);
+MonoImage    *mono_pe_file_open     (const char *fname,
+                                    MonoImageOpenStatus *status);
 MonoImage    *mono_image_open_from_data (char *data, guint32 data_len, gboolean need_copy,
                                          MonoImageOpenStatus *status);
+MonoImage    *mono_image_open_from_data_full (char *data, guint32 data_len, gboolean need_copy,
+                                         MonoImageOpenStatus *status, gboolean refonly);
 MonoImage    *mono_image_loaded   (const char *name);
+MonoImage    *mono_image_loaded_full   (const char *name, gboolean refonly);
 MonoImage    *mono_image_loaded_by_guid (const char *guid);
+MonoImage    *mono_image_loaded_by_guid_full (const char *guid, gboolean refonly);
 void          mono_image_init     (MonoImage *image);
 void          mono_image_close    (MonoImage *image);
 void          mono_image_addref   (MonoImage *image);
@@ -55,13 +65,14 @@ MonoImage*    mono_image_load_file_for_image (MonoImage *image, int fileidx);
 
 const char*   mono_image_get_name       (MonoImage *image);
 const char*   mono_image_get_filename   (MonoImage *image);
+const char *  mono_image_get_guid       (MonoImage *image);
 MonoAssembly* mono_image_get_assembly   (MonoImage *image);
 gboolean      mono_image_is_dynamic     (MonoImage *image);
 char*         mono_image_rva_map        (MonoImage *image, guint32 rva);
 
 const MonoTableInfo *mono_image_get_table_info (MonoImage *image, int table_id);
 int                  mono_image_get_table_rows (MonoImage *image, int table_id);
-int                  mono_table_info_get_rows  (MonoTableInfo *table);
+int                  mono_table_info_get_rows  (const MonoTableInfo *table);
 
 /* This actually returns a MonoPEResourceDataEntry *, but declaring it
  * causes an include file loop.
@@ -75,5 +86,8 @@ guint32       mono_image_strong_name_position (MonoImage *image, guint32 *size);
 void          mono_image_add_to_name_cache (MonoImage *image, 
                                                                                        const char *nspace, 
                                                                                        const char *name, guint32 idx);
+gboolean      mono_image_has_authenticode_entry (MonoImage *image);
+
+G_END_DECLS
 
 #endif