[xbuild] Make Engine.DefaultToolsVersion 2.0 .
[mono.git] / mono / io-layer / process-private.h
1 /*
2  * process-private.h: Private definitions for process handles
3  *
4  * Author:
5  *      Dick Porter (dick@ximian.com)
6  *
7  * (C) 2002-2006 Novell, Inc.
8  */
9
10 #ifndef _WAPI_PROCESS_PRIVATE_H_
11 #define _WAPI_PROCESS_PRIVATE_H_
12
13 #include <config.h>
14 #include <glib.h>
15
16 /* There doesn't seem to be a defined symbol for this */
17 #define _WAPI_PROCESS_CURRENT (gpointer)0xFFFFFFFF
18
19 /* This marks a system process that we don't have a handle on */
20 /* FIXME: Cope with PIDs > sizeof guint */
21 #define _WAPI_PROCESS_UNHANDLED (1 << (8*sizeof(pid_t)-1))
22 #define _WAPI_PROCESS_UNHANDLED_PID_MASK (-1 & ~_WAPI_PROCESS_UNHANDLED)
23
24 extern gpointer _wapi_process_duplicate (void);
25
26 extern struct _WapiHandleOps _wapi_process_ops;
27
28 #define _WAPI_PROC_NAME_MAX_LEN _POSIX_PATH_MAX
29
30 struct _WapiHandle_process
31 {
32         pid_t id;
33         guint32 exitstatus;
34         gpointer main_thread;
35         WapiFileTime create_time;
36         WapiFileTime exit_time;
37         gchar proc_name[_WAPI_PROC_NAME_MAX_LEN];
38         size_t min_working_set;
39         size_t max_working_set;
40         gboolean waited;
41 };
42
43 extern void _wapi_process_reap (void);
44 extern void _wapi_process_signal_self (void);
45
46 #endif /* _WAPI_PROCESS_PRIVATE_H_ */