Flush (work in progress)
[mono.git] / mono / io-layer / mutex-private.h
1 /*
2  * mutex-private.h:  Private definitions for mutex handles
3  *
4  * Author:
5  *      Dick Porter (dick@ximian.com)
6  *
7  * (C) 2002 Ximian, Inc.
8  */
9
10 #ifndef _WAPI_MUTEX_PRIVATE_H_
11 #define _WAPI_MUTEX_PRIVATE_H_
12
13 #include <config.h>
14 #include <glib.h>
15 #include <pthread.h>
16 #include <sys/types.h>
17
18 extern struct _WapiHandleOps _wapi_mutex_ops;
19 extern struct _WapiHandleOps _wapi_namedmutex_ops;
20
21 extern void _wapi_mutex_details (gpointer handle_info);
22
23 struct _WapiHandle_mutex
24 {
25         pid_t pid;
26         pthread_t tid;
27         guint32 recursion;
28 };
29
30 struct _WapiHandle_namedmutex 
31 {
32         WapiSharedNamespace sharedns;
33         pid_t pid;
34         pthread_t tid;
35         guint32 recursion;
36 };
37
38 extern void _wapi_mutex_abandon (gpointer data, pid_t pid, pthread_t tid);
39
40 #endif /* _WAPI_MUTEX_PRIVATE_H_ */