[reflection] Use coop handles for MonoMethod icalls (#4272)
[mono.git] / mono / io-layer / wapi-private.h
1 /*
2  * wapi-private.h:  internal definitions of handles and shared memory layout
3  *
4  * Author:
5  *      Dick Porter (dick@ximian.com)
6  *
7  * (C) 2002-2006 Novell, Inc.
8  */
9
10 #ifndef _WAPI_PRIVATE_H_
11 #define _WAPI_PRIVATE_H_
12
13 #include <config.h>
14 #include <glib.h>
15 #include <sys/stat.h>
16
17 #include <mono/io-layer/wapi.h>
18 #include <mono/io-layer/io.h>
19
20 #include <mono/utils/mono-os-mutex.h>
21
22 /* There doesn't seem to be a defined symbol for this */
23 #define _WAPI_THREAD_CURRENT (gpointer)0xFFFFFFFE
24
25 extern gboolean _wapi_has_shut_down;
26
27 #include <mono/io-layer/io-private.h>
28 #include <mono/metadata/w32handle.h>
29
30 struct _WapiHandle_shared_ref
31 {
32         /* This will be split 16:16 with the shared file segment in
33          * the top half, when I implement space increases
34          */
35         guint32 offset;
36 };
37
38 struct _WapiFileShare
39 {
40 #ifdef WAPI_FILE_SHARE_PLATFORM_EXTRA_DATA
41         WAPI_FILE_SHARE_PLATFORM_EXTRA_DATA
42 #endif
43         guint64 device;
44         guint64 inode;
45         pid_t opened_by_pid;
46         guint32 sharemode;
47         guint32 access;
48         guint32 handle_refs;
49         guint32 timestamp;
50 };
51
52 typedef struct _WapiFileShare _WapiFileShare;
53
54 #endif /* _WAPI_PRIVATE_H_ */