2004-05-25 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mono / metadata / marshal.h
index 7b8d757031b1a4c348c8e5d13c3281f707d6d784..08a716f21a46580c94bcce7fd8ce7d76281e853c 100644 (file)
@@ -46,9 +46,15 @@ mono_array_to_lparray (MonoArray *array);
 void
 mono_string_utf8_to_builder (MonoStringBuilder *sb, char *text);
 
+void
+mono_string_utf16_to_builder (MonoStringBuilder *sb, gunichar2 *text);
+
 gpointer
 mono_string_builder_to_utf8 (MonoStringBuilder *sb);
 
+gpointer
+mono_string_builder_to_utf16 (MonoStringBuilder *sb);
+
 gpointer
 mono_string_to_ansibstr (MonoString *string_obj);
 
@@ -64,12 +70,24 @@ mono_string_to_byvalwstr (gpointer dst, MonoString *src, int size);
 gpointer
 mono_delegate_to_ftnptr (MonoDelegate *delegate);
 
+MonoDelegate*
+mono_ftnptr_to_delegate (MonoClass *klass, gpointer ftn);
+
 void * 
 mono_marshal_string_array (MonoArray *array);
 
+void *
+mono_marshal_string_array_to_unicode (MonoArray *array);
+
 void
 mono_marshal_set_last_error (void);
 
+gpointer
+mono_marshal_asany (MonoObject *obj, MonoMarshalNative string_encoding);
+
+void
+mono_marshal_free_asany (MonoObject *o, gpointer ptr, MonoMarshalNative string_encoding);
+
 /* method builder functions */
 
 void
@@ -188,6 +206,15 @@ mono_marshal_get_ldfld_wrapper (MonoType *type);
 MonoMethod *
 mono_marshal_get_synchronized_wrapper (MonoMethod *method);
 
+MonoMethod *
+mono_marshal_get_isinst (MonoClass *klass);
+
+MonoMethod *
+mono_marshal_get_castclass (MonoClass *klass);
+
+MonoMethod *
+mono_marshal_get_proxy_cancast (MonoClass *klass);
+
 /* marshaling internal calls */
 
 void * 
@@ -282,5 +309,14 @@ ves_icall_System_Runtime_InteropServices_Marshal_StringToHGlobalUni (MonoString
 void
 ves_icall_System_Runtime_InteropServices_Marshal_DestroyStructure (gpointer src, MonoReflectionType *type);
 
+void*
+ves_icall_System_Runtime_InteropServices_Marshal_AllocCoTaskMem (int size);
+
+void
+ves_icall_System_Runtime_InteropServices_Marshal_FreeCoTaskMem (void *ptr);
+
+void*
+ves_icall_System_Runtime_InteropServices_Marshal_UnsafeAddrOfPinnedArrayElement (MonoArray *arrayobj, int index);
+
 #endif /* __MONO_MARSHAL_H__ */