[io-layer] Remove pseudo global handle
[mono.git] / mono / io-layer / thread-private.h
1 /*
2  * thread-private.h:  Private definitions for thread handles
3  *
4  * Author:
5  *      Dick Porter (dick@ximian.com)
6  *
7  * (C) 2002 Ximian, Inc.
8  */
9
10 #ifndef _WAPI_THREAD_PRIVATE_H_
11 #define _WAPI_THREAD_PRIVATE_H_
12
13 #include <config.h>
14 #include <glib.h>
15 #include <pthread.h>
16
17 #include "wapi-private.h"
18 #include "handles-private.h"
19
20 /* There doesn't seem to be a defined symbol for this */
21 #define _WAPI_THREAD_CURRENT (gpointer)0xFFFFFFFE
22
23 struct _WapiHandle_thread
24 {
25         pthread_t id;
26         GPtrArray *owned_mutexes;
27         gint32 priority;
28 };
29
30 typedef struct _WapiHandle_thread WapiHandle_thread;
31
32 void
33 _wapi_thread_init (void);
34
35 extern gboolean _wapi_thread_cur_apc_pending (void);
36 extern void _wapi_thread_own_mutex (gpointer mutex);
37 extern void _wapi_thread_disown_mutex (gpointer mutex);
38 extern void _wapi_thread_cleanup (void);
39
40 #endif /* _WAPI_THREAD_PRIVATE_H_ */