* marshal.c marshal.h icall.c: Add GetDelegateForFunctionPointerInternal icall.
* marshal.c: Fix warnings.
svn path=/trunk/mono/; revision=34551
+2004-09-30 Zoltan Varga <vargaz@freemail.hu>
+
+ * marshal.c marshal.h icall.c: Add GetDelegateForFunctionPointerInternal icall.
+
+ * marshal.c: Fix warnings.
+
2004-09-29 Geoff Norton <gnorton@customerdna.com>
* marshal.c (mono_ftnptr_to_delegate): This method was improperly
{"FreeCoTaskMem", ves_icall_System_Runtime_InteropServices_Marshal_FreeCoTaskMem},
{"FreeHGlobal", ves_icall_System_Runtime_InteropServices_Marshal_FreeHGlobal},
{"GetFunctionPointerForDelegateInternal", mono_delegate_to_ftnptr},
+ {"GetDelegateForFunctionPointerInternal", ves_icall_System_Runtime_InteropServices_Marshal_GetDelegateForFunctionPointerInternal},
{"GetLastWin32Error", ves_icall_System_Runtime_InteropServices_Marshal_GetLastWin32Error},
{"OffsetOf", ves_icall_System_Runtime_InteropServices_Marshal_OffsetOf},
{"Prelink", ves_icall_System_Runtime_InteropServices_Marshal_Prelink},
static GHashTable *delegate_hash_table;
static GHashTable *
-delegate_hash_table_new () {
+delegate_hash_table_new (void) {
return g_hash_table_new (NULL, NULL);
}
-void
+static void
delegate_hash_table_remove (MonoDelegate *d)
{
EnterCriticalSection (&marshal_mutex);
return mono_array_addr_with_size (arrayobj, mono_array_element_size (arrayobj->obj.vtable->klass), index);
}
+MonoDelegate*
+ves_icall_System_Runtime_InteropServices_Marshal_GetDelegateForFunctionPointerInternal (MonoReflectionType *type, void *ftn)
+{
+ return mono_ftnptr_to_delegate (mono_type_get_class (type->type), ftn);
+}
+
MonoMarshalType *
mono_marshal_load_type_info (MonoClass* klass)
{
void*
ves_icall_System_Runtime_InteropServices_Marshal_UnsafeAddrOfPinnedArrayElement (MonoArray *arrayobj, int index);
+MonoDelegate*
+ves_icall_System_Runtime_InteropServices_Marshal_GetDelegateForFunctionPointerInternal (MonoReflectionType *type, void *ftn);
+
#endif /* __MONO_MARSHAL_H__ */