/* Safely access System.AppDomain from native code */
TYPED_HANDLE_DECL (MonoAppDomain);
+/* Safely access System.AppDomainSetup from native code. (struct is in domain-internals.h) */
+TYPED_HANDLE_DECL (MonoAppDomainSetup);
+
typedef struct _MonoStringBuilder MonoStringBuilder;
struct _MonoStringBuilder {
volatile int lock_thread_id; /* to be used as the pre-shifted thread id in thin locks. Used for appdomain_ref push/pop */
MonoThreadHandle *handle;
gpointer native_handle;
- MonoArray *cached_culture_info;
+ gpointer unused3;
gunichar2 *name;
guint32 name_len;
guint32 state;
MonoException *abort_exc;
int abort_state_handle;
guint64 tid; /* This is accessed as a gsize in the code (so it can hold a 64bit pointer on systems that need it), but needs to reserve 64 bits of space on all machines as it corresponds to a field in managed code */
- gpointer stack_ptr;
+ gsize debugger_thread; // FIXME switch to bool as soon as CI testing with corlib version bump works
gpointer *static_data;
void *thread_info; /*This is MonoThreadInfo*, but to simplify dependencies, let's make it a void* here. */
MonoAppContext *current_appcontext;
gint32 managed_id;
guint32 small_id;
MonoThreadManageCallback manage_callback;
- gpointer interrupt_on_stop;
+ gpointer unused4;
gsize flags;
gpointer thread_pinning_ref;
gsize __abort_protected_block_count;
void
mono_release_type_locks (MonoInternalThread *thread);
+int
+mono_string_handle_length (MonoStringHandle s);
+
char *
mono_string_handle_to_utf8 (MonoStringHandle s, MonoError *error);
mono_string_to_utf8_image (MonoImage *image, MonoStringHandle s, MonoError *error);
-MonoArray*
-mono_array_clone_in_domain (MonoDomain *domain, MonoArray *array, MonoError *error);
+MonoArrayHandle
+mono_array_clone_in_domain (MonoDomain *domain, MonoArrayHandle array, MonoError *error);
MonoArray*
mono_array_clone_checked (MonoArray *array, MonoError *error);
MonoString *
mono_string_new_utf16_checked (MonoDomain *domain, const guint16 *text, gint32 len, MonoError *error);
+MonoStringHandle
+mono_string_new_utf16_handle (MonoDomain *domain, const guint16 *text, gint32 len, MonoError *error);
+
MonoString *
mono_string_from_utf16_checked (mono_unichar2 *data, MonoError *error);