X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fimage.h;h=b158ec26834acc9962eb16361ee9cb94ba8dd243;hb=62b96ad507e6ba07bde09991a30e5447255e44ba;hp=ff09a7d3a81c501aa6678d5a64fc6026b7fe0ad9;hpb=47aeb4b234e1a2b7ac72b8c9b45dc3a74325b797;p=mono.git diff --git a/mono/metadata/image.h b/mono/metadata/image.h index ff09a7d3a81..b158ec26834 100644 --- a/mono/metadata/image.h +++ b/mono/metadata/image.h @@ -2,29 +2,16 @@ #define _MONONET_METADATA_IMAGE_H_ #include -#include +#include +#include -G_BEGIN_DECLS +MONO_BEGIN_DECLS typedef struct _MonoImage MonoImage; typedef struct _MonoAssembly MonoAssembly; +typedef struct _MonoAssemblyName MonoAssemblyName; typedef struct _MonoTableInfo MonoTableInfo; -#define MONO_PUBLIC_KEY_TOKEN_LENGTH 17 - -typedef struct { - const char *name; - const char *culture; - const char *hash_value; - const guint8* public_key; - // string of 16 hex chars + 1 NULL - guchar public_key_token [MONO_PUBLIC_KEY_TOKEN_LENGTH]; - guint32 hash_alg; - guint32 hash_len; - guint32 flags; - guint16 major, minor, build, revision; -} MonoAssemblyName; - typedef enum { MONO_IMAGE_OK, MONO_IMAGE_ERROR_ERRNO, @@ -32,67 +19,66 @@ typedef enum { MONO_IMAGE_IMAGE_INVALID } MonoImageOpenStatus; -void mono_images_init (void); -void mono_images_cleanup (void); +MONO_API void mono_images_init (void); +MONO_API void mono_images_cleanup (void); -MonoImage *mono_image_open (const char *fname, +MONO_API 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, +MONO_API MonoImage *mono_image_open_full (const char *fname, + MonoImageOpenStatus *status, mono_bool refonly); +MONO_API MonoImage *mono_pe_file_open (const char *fname, MonoImageOpenStatus *status); -MonoImage *mono_image_open_from_data (char *data, guint32 data_len, gboolean need_copy, +MONO_API MonoImage *mono_image_open_from_data (char *data, uint32_t data_len, mono_bool 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_open_from_data_with_name (char *data, guint32 data_len, gboolean need_copy, - MonoImageOpenStatus *status, gboolean refonly, const char *name); -void mono_image_fixup_vtable (MonoImage *image); -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_strerror (MonoImageOpenStatus status); - -int mono_image_ensure_section (MonoImage *image, +MONO_API MonoImage *mono_image_open_from_data_full (char *data, uint32_t data_len, mono_bool need_copy, + MonoImageOpenStatus *status, mono_bool refonly); +MONO_API MonoImage *mono_image_open_from_data_with_name (char *data, uint32_t data_len, mono_bool need_copy, + MonoImageOpenStatus *status, mono_bool refonly, const char *name); +MONO_API void mono_image_fixup_vtable (MonoImage *image); +MONO_API MonoImage *mono_image_loaded (const char *name); +MONO_API MonoImage *mono_image_loaded_full (const char *name, mono_bool refonly); +MONO_API MonoImage *mono_image_loaded_by_guid (const char *guid); +MONO_API MonoImage *mono_image_loaded_by_guid_full (const char *guid, mono_bool refonly); +MONO_API void mono_image_init (MonoImage *image); +MONO_API void mono_image_close (MonoImage *image); +MONO_API void mono_image_addref (MonoImage *image); +MONO_API const char *mono_image_strerror (MonoImageOpenStatus status); + +MONO_API int mono_image_ensure_section (MonoImage *image, const char *section); -int mono_image_ensure_section_idx (MonoImage *image, +MONO_API int mono_image_ensure_section_idx (MonoImage *image, int section); -guint32 mono_image_get_entry_point (MonoImage *image); -const char *mono_image_get_resource (MonoImage *image, guint32 offset, guint32 *size); -MonoImage* mono_image_load_file_for_image (MonoImage *image, int fileidx); +MONO_API uint32_t mono_image_get_entry_point (MonoImage *image); +MONO_API const char *mono_image_get_resource (MonoImage *image, uint32_t offset, uint32_t *size); +MONO_RT_EXTERNAL_ONLY MONO_API MonoImage* mono_image_load_file_for_image (MonoImage *image, int fileidx); -MonoImage* mono_image_load_module (MonoImage *image, int idx); +MONO_RT_EXTERNAL_ONLY MONO_API MonoImage* mono_image_load_module (MonoImage *image, int idx); -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); +MONO_API const char* mono_image_get_name (MonoImage *image); +MONO_API const char* mono_image_get_filename (MonoImage *image); +MONO_API const char * mono_image_get_guid (MonoImage *image); +MONO_API MonoAssembly* mono_image_get_assembly (MonoImage *image); +MONO_API mono_bool mono_image_is_dynamic (MonoImage *image); +MONO_API char* mono_image_rva_map (MonoImage *image, uint32_t 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 (const MonoTableInfo *table); +MONO_API const MonoTableInfo *mono_image_get_table_info (MonoImage *image, int table_id); +MONO_API int mono_image_get_table_rows (MonoImage *image, int table_id); +MONO_API int mono_table_info_get_rows (const MonoTableInfo *table); /* This actually returns a MonoPEResourceDataEntry *, but declaring it * causes an include file loop. */ -gpointer mono_image_lookup_resource (MonoImage *image, guint32 res_id, - guint32 lang_id, gunichar2 *name); +MONO_API void* mono_image_lookup_resource (MonoImage *image, uint32_t res_id, + uint32_t lang_id, mono_unichar2 *name); -const char* mono_image_get_public_key (MonoImage *image, guint32 *size); -const char* mono_image_get_strong_name (MonoImage *image, guint32 *size); -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); +MONO_API const char* mono_image_get_public_key (MonoImage *image, uint32_t *size); +MONO_API const char* mono_image_get_strong_name (MonoImage *image, uint32_t *size); +MONO_API uint32_t mono_image_strong_name_position (MonoImage *image, uint32_t *size); +MONO_API void mono_image_add_to_name_cache (MonoImage *image, + const char *nspace, const char *name, uint32_t idx); +MONO_API mono_bool mono_image_has_authenticode_entry (MonoImage *image); -G_END_DECLS +MONO_END_DECLS #endif