Merge pull request #1949 from lewurm/fixtype
[mono.git] / mono / io-layer / threads.h
1 /*
2  * threads.h:  Thread handles
3  *
4  * Author:
5  *      Dick Porter (dick@ximian.com)
6  *
7  * (C) 2002 Ximian, Inc.
8  */
9
10 #ifndef _WAPI_THREADS_H_
11 #define _WAPI_THREADS_H_
12
13 #include <glib.h>
14
15 #include <mono/io-layer/handles.h>
16 #include <mono/io-layer/io.h>
17 #include <mono/io-layer/status.h>
18 #include <mono/io-layer/processes.h>
19 #include <mono/io-layer/access.h>
20
21 G_BEGIN_DECLS
22
23 #define STILL_ACTIVE STATUS_PENDING
24
25 #define THREAD_ALL_ACCESS               (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3ff)
26
27 typedef guint32 (*WapiThreadStart)(gpointer);
28
29 extern gsize GetCurrentThreadId(void); /* NB return is 32bit in MS API */
30 extern void Sleep(guint32 ms);
31 extern guint32 SleepEx(guint32 ms, gboolean alertable);
32
33 gpointer wapi_create_thread_handle (void);
34 void wapi_thread_handle_set_exited (gpointer handle, guint32 exitstatus);
35 void wapi_ref_thread_handle (gpointer handle);
36 gpointer wapi_get_current_thread_handle (void);
37
38 char* wapi_current_thread_desc (void);
39
40 G_END_DECLS
41 #endif /* _WAPI_THREADS_H_ */