3 * Copyright 2016 Microsoft
4 * Licensed under the MIT license. See LICENSE file in the project root for full license information.
6 #ifndef __MONO_METADATA_DYNAMIC_IMAGE_INTERNALS_H__
7 #define __MONO_METADATA_DYNAMIC_IMAGE_INTERNALS_H__
9 #include <mono/metadata/object.h>
10 #include <mono/metadata/metadata-internals.h>
11 #include <mono/metadata/object-internals.h>
14 guint32 import_lookup_table
;
18 guint32 import_address_table_rva
;
28 MONO_DYN_IMAGE_TOK_NEW
, /* assert if same token is registered already */
29 MONO_DYN_IMAGE_TOK_SAME_OK
, /* allow collision only with the same object */
30 MONO_DYN_IMAGE_TOK_REPLACE
, /* keep the new object, always */
31 } MonoDynamicImageTokCollision
;
34 mono_dynamic_images_init (void);
37 mono_dynamic_image_register_token (MonoDynamicImage
*assembly
, guint32 token
, MonoObjectHandle obj
, int tok_collision
);
40 mono_dynamic_image_is_valid_token (MonoDynamicImage
*image
, guint32 token
);
43 mono_dynamic_image_get_registered_token (MonoDynamicImage
*dynimage
, guint32 token
, MonoError
*error
);
46 mono_dynamic_image_create (MonoDynamicAssembly
*assembly
, char *assembly_name
, char *module_name
);
49 mono_dynamic_image_add_to_blob_cached (MonoDynamicImage
*assembly
, gconstpointer b1
, int s1
, gconstpointer b2
, int s2
);
52 mono_dynimage_alloc_table (MonoDynamicTable
*table
, guint nrows
);
54 #endif /* __MONO_METADATA_DYNAMIC_IMAGE_INTERNALS_H__ */