Merge pull request #2721 from ludovic-henry/fix-mono_ms_ticks
[mono.git] / mono / utils / mach-support.h
index 8d8bb1e9037961460897556771b389e96d5fcfa7..abc135bd4eb8eb9987db2bb56f5bbf6aadf59093 100644 (file)
@@ -6,6 +6,7 @@
 #include <glib.h>
 #include <pthread.h>
 #include "mono/utils/mono-compiler.h"
+#include "mono/utils/mono-context.h"
 #include <mach/task.h>
 #include <mach/mach_port.h>
 #include <mach/mach_init.h>
@@ -23,21 +24,22 @@ typedef _STRUCT_MCONTEXT64 *mcontext_t;
 // and the pthread header guards against this
 extern pthread_t pthread_from_mach_thread_np(mach_port_t);
 
-void *mono_mach_arch_get_ip (thread_state_t state) MONO_INTERNAL;
-void *mono_mach_arch_get_sp (thread_state_t state) MONO_INTERNAL;
-void mono_mach_init (pthread_key_t key) MONO_INTERNAL;
+void *mono_mach_arch_get_ip (thread_state_t state);
+void *mono_mach_arch_get_sp (thread_state_t state);
+void mono_mach_init (pthread_key_t key);
 
-int mono_mach_arch_get_mcontext_size (void) MONO_INTERNAL;
-void mono_mach_arch_thread_state_to_mcontext (thread_state_t state, void *context) MONO_INTERNAL;
-void mono_mach_arch_mcontext_to_thread_state (void *context, thread_state_t state) MONO_INTERNAL;
+int mono_mach_arch_get_mcontext_size (void);
+void mono_mach_arch_thread_state_to_mcontext (thread_state_t state, void *context);
+void mono_mach_arch_mcontext_to_thread_state (void *context, thread_state_t state);
+void mono_mach_arch_thread_state_to_mono_context (thread_state_t state, MonoContext *context);
 
-int mono_mach_arch_get_thread_state_size (void) MONO_INTERNAL;
-kern_return_t mono_mach_get_threads (thread_act_array_t *threads, guint32 *count) MONO_INTERNAL;
-kern_return_t mono_mach_free_threads (thread_act_array_t threads, guint32 count) MONO_INTERNAL;
-kern_return_t mono_mach_arch_get_thread_state (thread_port_t thread, thread_state_t state, mach_msg_type_number_t *count) MONO_INTERNAL;
-kern_return_t mono_mach_arch_set_thread_state (thread_port_t thread, thread_state_t state, mach_msg_type_number_t count) MONO_INTERNAL;
-void *mono_mach_arch_get_tls_value_from_thread (pthread_t thread, guint32 key) MONO_INTERNAL;
-void *mono_mach_get_tls_address_from_thread (pthread_t thread, pthread_key_t key) MONO_INTERNAL;
+int mono_mach_arch_get_thread_state_size (void);
+kern_return_t mono_mach_get_threads (thread_act_array_t *threads, guint32 *count);
+kern_return_t mono_mach_free_threads (thread_act_array_t threads, guint32 count);
+kern_return_t mono_mach_arch_get_thread_state (thread_port_t thread, thread_state_t state, mach_msg_type_number_t *count);
+kern_return_t mono_mach_arch_set_thread_state (thread_port_t thread, thread_state_t state, mach_msg_type_number_t count);
+void *mono_mach_arch_get_tls_value_from_thread (pthread_t thread, guint32 key);
+void *mono_mach_get_tls_address_from_thread (pthread_t thread, pthread_key_t key);
 
 #endif
 #endif /* __MONO_MACH_SUPPORT_H__ */