#include <mono/io-layer/io-layer.h>
#include "mono/utils/mono-compiler.h"
+#include "mono/utils/mono-membar.h"
/* This is a copy of System.Threading.ThreadState */
typedef enum {
#define SPECIAL_STATIC_THREAD 1
#define SPECIAL_STATIC_CONTEXT 2
-#ifdef PLATFORM_WIN32
+#ifdef HOST_WIN32
typedef SECURITY_ATTRIBUTES WapiSecurityAttributes;
typedef LPTHREAD_START_ROUTINE WapiThreadStart;
#endif
gboolean mono_thread_internal_has_appdomain_ref (MonoInternalThread *thread, MonoDomain *domain) MONO_INTERNAL;
+void mono_thread_internal_reset_abort (MonoInternalThread *thread) MONO_INTERNAL;
+
void mono_alloc_special_static_data_free (GHashTable *special_static_fields) MONO_INTERNAL;
void mono_thread_free_local_slot_values (int slot, MonoBoolean thread_local) MONO_INTERNAL;
void mono_thread_current_check_pending_interrupt (void) MONO_INTERNAL;
void mono_runtime_set_has_tls_get (gboolean val) MONO_INTERNAL;
gboolean mono_runtime_has_tls_get (void) MONO_INTERNAL;
+int mono_thread_get_abort_signal (void) MONO_INTERNAL;
+
+void mono_thread_abort_all_other_threads (void) MONO_INTERNAL;
+void mono_thread_suspend_all_other_threads (void) MONO_INTERNAL;
+gboolean mono_threads_abort_appdomain_threads (MonoDomain *domain, int timeout) MONO_INTERNAL;
+
+void mono_thread_push_appdomain_ref (MonoDomain *domain) MONO_INTERNAL;
+void mono_thread_pop_appdomain_ref (void) MONO_INTERNAL;
+gboolean mono_thread_has_appdomain_ref (MonoThread *thread, MonoDomain *domain) MONO_INTERNAL;
+
+void mono_threads_clear_cached_culture (MonoDomain *domain) MONO_INTERNAL;
+
+MonoException* mono_thread_request_interruption (mono_bool running_managed) MONO_INTERNAL;
+gboolean mono_thread_interruption_requested (void) MONO_INTERNAL;
+void mono_thread_interruption_checkpoint (void) MONO_INTERNAL;
+void mono_thread_force_interruption_checkpoint (void) MONO_INTERNAL;
+gint32* mono_thread_interruption_request_flag (void) MONO_INTERNAL;
+
+uint32_t mono_alloc_special_static_data (uint32_t static_type, uint32_t size, uint32_t align, uintptr_t *bitmap, int max_set) MONO_INTERNAL;
+void* mono_get_special_static_data (uint32_t offset) MONO_INTERNAL;
+
+MonoException* mono_thread_resume_interruption (void) MONO_INTERNAL;
+
#endif /* _MONO_METADATA_THREADS_TYPES_H_ */