#include <stdio.h>
#include <glib.h>
-#include <gmodule.h>
+
+G_BEGIN_DECLS
typedef struct _MonoImage MonoImage;
typedef struct _MonoAssembly MonoAssembly;
} 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);
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.
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