X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fmarshal.h;h=58caa69d814f5d57e74a6fb176aba6cff0248004;hb=c5cdfaec1e0973ced3f97ef589cd0bece56067ad;hp=66fa99a91d5cdb740739a102268e49a5f377781c;hpb=71e8d4d76f5a4f0cfbeef174e1470e54bb450df5;p=mono.git diff --git a/mono/metadata/marshal.h b/mono/metadata/marshal.h index 66fa99a91d5..58caa69d814 100644 --- a/mono/metadata/marshal.h +++ b/mono/metadata/marshal.h @@ -39,6 +39,7 @@ typedef struct { MonoMethodPInvoke *piinfo; int *orig_conv_args; /* Locals containing the original values of byref args */ int retobj_var; + int vtaddr_var; MonoClass *retobj_class; MonoMethodSignature *csig; /* Might need to be changed due to MarshalAs directives */ MonoImage *image; /* The image to use for looking up custom marshallers */ @@ -268,7 +269,10 @@ gpointer mono_string_to_ansibstr (MonoString *string_obj); gpointer -mono_string_to_bstr (MonoString *string_obj); +mono_ptr_to_bstr (gpointer ptr, int slen); + +gpointer +mono_string_to_bstr(MonoString* str); void mono_delegate_free_ftnptr (MonoDelegate *delegate); @@ -465,6 +469,9 @@ ves_icall_System_Runtime_InteropServices_Marshal_OffsetOf (MonoReflectionType *t gpointer ves_icall_System_Runtime_InteropServices_Marshal_StringToBSTR (MonoString *string); +gpointer +ves_icall_System_Runtime_InteropServices_Marshal_BufferToBSTR (MonoArray *ptr, int len); + gpointer ves_icall_System_Runtime_InteropServices_Marshal_StringToHGlobalAnsi (MonoString *string); @@ -592,7 +599,10 @@ void mono_marshal_use_aot_wrappers (gboolean use); MonoObject * -mono_marshal_xdomain_copy_value (MonoObject *val); +mono_marshal_xdomain_copy_value (MonoObject *val, MonoError *error); + +MonoObject * +ves_icall_mono_marshal_xdomain_copy_value (MonoObject *val); int mono_mb_emit_save_args (MonoMethodBuilder *mb, MonoMethodSignature *sig, gboolean save_this); @@ -609,6 +619,11 @@ mono_mb_create_and_cache_full (GHashTable *cache, gpointer key, MonoMethodBuilder *mb, MonoMethodSignature *sig, int max_stack, WrapperInfo *info, gboolean *out_found); +typedef void (*MonoFtnPtrEHCallback) (guint32 gchandle); + +MONO_API void +mono_install_ftnptr_eh_callback (MonoFtnPtrEHCallback callback); + G_END_DECLS #endif /* __MONO_MARSHAL_H__ */