2009-09-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
[mono.git] / mono / metadata / threadpool.h
index ce5b20ae05f9d6e10578c41dc24ca42a57e2b373..129addd3adaa740693f322d88f00e44f03461cbb 100644 (file)
@@ -1,18 +1,42 @@
 #ifndef _MONO_THREADPOOL_H_
 #define _MONO_THREADPOOL_H_
 
-#include <mono/metadata/object.h>
+#include <mono/metadata/object-internals.h>
 #include <mono/metadata/reflection.h>
 
-extern int mono_max_worker_threads;
-extern int mono_worker_threads;
+/* No managed code here */
+void mono_thread_pool_init (void) MONO_INTERNAL;
 
 MonoAsyncResult *
 mono_thread_pool_add     (MonoObject *target, MonoMethodMessage *msg, 
-                         MonoDelegate *async_callback, MonoObject *state);
+                         MonoDelegate *async_callback, MonoObject *state) MONO_INTERNAL;
 
 MonoObject *
 mono_thread_pool_finish (MonoAsyncResult *ares, MonoArray **out_args, 
-                        MonoObject **exc);
+                        MonoObject **exc) MONO_INTERNAL;
+
+void mono_thread_pool_cleanup (void) MONO_INTERNAL;
+
+gboolean mono_thread_pool_remove_domain_jobs (MonoDomain *domain, int timeout) MONO_INTERNAL;
+
+void
+ves_icall_System_Threading_ThreadPool_GetAvailableThreads (int *workerThreads,
+                                                          int *completionPortThreads) MONO_INTERNAL;
+
+void
+ves_icall_System_Threading_ThreadPool_GetMaxThreads (int *workerThreads,
+                                                    int *completionPortThreads) MONO_INTERNAL;
+
+void
+ves_icall_System_Threading_ThreadPool_GetMinThreads (gint *workerThreads, 
+                                                               gint *completionPortThreads) MONO_INTERNAL;
+
+MonoBoolean
+ves_icall_System_Threading_ThreadPool_SetMinThreads (gint workerThreads, 
+                                                               gint completionPortThreads) MONO_INTERNAL;
+
+MonoBoolean
+ves_icall_System_Threading_ThreadPool_SetMaxThreads (gint workerThreads, 
+                                                               gint completionPortThreads) MONO_INTERNAL;
 
 #endif