2008-12-08 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mono / metadata / threadpool.h
1 #ifndef _MONO_THREADPOOL_H_
2 #define _MONO_THREADPOOL_H_
3
4 #include <mono/metadata/object-internals.h>
5 #include <mono/metadata/reflection.h>
6
7 /* No managed code here */
8 void mono_thread_pool_init (void) MONO_INTERNAL;
9
10 MonoAsyncResult *
11 mono_thread_pool_add     (MonoObject *target, MonoMethodMessage *msg, 
12                           MonoDelegate *async_callback, MonoObject *state) MONO_INTERNAL;
13
14 MonoObject *
15 mono_thread_pool_finish (MonoAsyncResult *ares, MonoArray **out_args, 
16                          MonoObject **exc) MONO_INTERNAL;
17
18 void mono_thread_pool_cleanup (void) MONO_INTERNAL;
19
20 gboolean mono_thread_pool_remove_domain_jobs (MonoDomain *domain, int timeout) MONO_INTERNAL;
21
22 void
23 ves_icall_System_Threading_ThreadPool_GetAvailableThreads (int *workerThreads,
24                                                            int *completionPortThreads) MONO_INTERNAL;
25
26 void
27 ves_icall_System_Threading_ThreadPool_GetMaxThreads (int *workerThreads,
28                                                      int *completionPortThreads) MONO_INTERNAL;
29
30 void
31 ves_icall_System_Threading_ThreadPool_GetMinThreads (gint *workerThreads, 
32                                                                 gint *completionPortThreads) MONO_INTERNAL;
33
34 MonoBoolean
35 ves_icall_System_Threading_ThreadPool_SetMinThreads (gint workerThreads, 
36                                                                 gint completionPortThreads) MONO_INTERNAL;
37
38 MonoBoolean
39 ves_icall_System_Threading_ThreadPool_SetMaxThreads (gint workerThreads, 
40                                                                 gint completionPortThreads) MONO_INTERNAL;
41
42 #endif