2010-02-13 Jb Evain <jbevain@novell.com>
[mono-project.git] / mono / io-layer / process-private.h
bloba8b9f5414c0e3d81c2191cce78b1a27ca5e9b09f
1 /*
2 * process-private.h: Private definitions for process handles
4 * Author:
5 * Dick Porter (dick@ximian.com)
7 * (C) 2002-2006 Novell, Inc.
8 */
10 #ifndef _WAPI_PROCESS_PRIVATE_H_
11 #define _WAPI_PROCESS_PRIVATE_H_
13 #include <config.h>
14 #include <glib.h>
16 /* There doesn't seem to be a defined symbol for this */
17 #define _WAPI_PROCESS_CURRENT (gpointer)0xFFFFFFFF
19 /* This marks a system process that we don't have a handle on */
20 /* FIXME: cope with pids > 16bit */
21 #define _WAPI_PROCESS_UNHANDLED_PID_MASK 0x7FFF
22 #define _WAPI_PROCESS_UNHANDLED (-1 & ~_WAPI_PROCESS_UNHANDLED_PID_MASK)
24 extern gpointer _wapi_process_duplicate (void);
26 extern struct _WapiHandleOps _wapi_process_ops;
28 #define _WAPI_PROC_NAME_MAX_LEN _POSIX_PATH_MAX
30 struct _WapiHandle_process
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;
43 extern void _wapi_process_reap (void);
44 extern void _wapi_process_signal_self (void);
46 #endif /* _WAPI_PROCESS_PRIVATE_H_ */