New tests.
[mono.git] / mono / io-layer / process-private.h
index 006a1d3536221c31a4ba8a0c62c1a2d4f6fe4207..dc952832288cf64ec73263e5246e603e52065cfd 100644 (file)
@@ -1,19 +1,50 @@
+/*
+ * process-private.h: Private definitions for process handles
+ *
+ * Author:
+ *     Dick Porter (dick@ximian.com)
+ *
+ * (C) 2002-2006 Novell, Inc.
+ */
+
 #ifndef _WAPI_PROCESS_PRIVATE_H_
 #define _WAPI_PROCESS_PRIVATE_H_
 
 #include <config.h>
 #include <glib.h>
 
+/* There doesn't seem to be a defined symbol for this */
+#define _WAPI_PROCESS_CURRENT (gpointer)0xFFFFFFFF
+
+/* This marks a system process that we don't have a handle on */
+/* FIXME: cope with pids > 16bit */
+#if defined(__HAIKU__)
+#define _WAPI_PROCESS_UNHANDLED_PID_MASK 0x7FFFFFFF
+#else
+#define _WAPI_PROCESS_UNHANDLED_PID_MASK 0x7FFF
+#endif
+#define _WAPI_PROCESS_UNHANDLED (-1 & ~_WAPI_PROCESS_UNHANDLED_PID_MASK)
+
+extern gpointer _wapi_process_duplicate (void);
+
 extern struct _WapiHandleOps _wapi_process_ops;
 
+#define _WAPI_PROC_NAME_MAX_LEN _POSIX_PATH_MAX
+
 struct _WapiHandle_process
 {
        pid_t id;
+       guint32 exitstatus;
+       gpointer main_thread;
+       WapiFileTime create_time;
+       WapiFileTime exit_time;
+       gchar proc_name[_WAPI_PROC_NAME_MAX_LEN];
+       size_t min_working_set;
+       size_t max_working_set;
+       gboolean waited;
 };
 
-struct _WapiHandlePrivate_process
-{
-       int dummy;
-};
+extern void _wapi_process_reap (void);
+extern void _wapi_process_signal_self (void);
 
 #endif /* _WAPI_PROCESS_PRIVATE_H_ */