grammar updates
[mono.git] / mono / io-layer / processes.h
index 91a195c42b3d212e546da94a4c187bc493d2720b..fee1f173b5004eb153fcc8774f03acdd9cca8141 100644 (file)
@@ -1,9 +1,32 @@
+/*
+ * processes.h:  Process handles
+ *
+ * Author:
+ *     Dick Porter (dick@ximian.com)
+ *
+ * (C) 2002 Ximian, Inc.
+ */
+
 #ifndef _WAPI_PROCESSES_H_
 #define _WAPI_PROCESSES_H_
 
 #include <glib.h>
 
-#include "mono/io-layer/handles.h"
+#include <mono/io-layer/handles.h>
+#include <mono/io-layer/access.h>
+
+typedef enum {
+       STARTF_USESHOWWINDOW=0x001,
+       STARTF_USESIZE=0x002,
+       STARTF_USEPOSITION=0x004,
+       STARTF_USECOUNTCHARS=0x008,
+       STARTF_USEFILLATTRIBUTE=0x010,
+       STARTF_RUNFULLSCREEN=0x020,
+       STARTF_FORCEONFEEDBACK=0x040,
+       STARTF_FORCEOFFFEEDBACK=0x080,
+       STARTF_USESTDHANDLES=0x100,
+} WapiStartupFlags;
+
 
 typedef struct _WapiStartupInfo WapiStartupInfo;
 
@@ -20,7 +43,7 @@ struct _WapiStartupInfo
        guint32 dwXCountChars;
        guint32 dwYCountChars;
        guint32 dwFillAttribute;
-       guint32 dwFlags;
+       WapiStartupFlags dwFlags;
        guint16 wShowWindow;
        guint16 cbReserved2;
        guint8 *lpReserved2;
@@ -65,12 +88,42 @@ struct _WapiProcessInformation
 #define CREATE_PRESERVE_CODE_AUTHZ_LEVEL find out the value for this one...
 #endif
 
+#define        PROCESS_TERMINATE               0x0001
+#define        PROCESS_CREATE_THREAD           0x0002
+#define        PROCESS_SET_SESSIONID           0x0004
+#define        PROCESS_VM_OPERATION            0x0008
+#define        PROCESS_VM_READ                 0x0010
+#define        PROCESS_VM_WRITE                0x0020
+#define        PROCESS_DUP_HANDLE              0x0040
+#define        PROCESS_CREATE_PROCESS          0x0080
+#define        PROCESS_SET_QUOTA               0x0100
+#define        PROCESS_SET_INFORMATION         0x0200
+#define        PROCESS_QUERY_INFORMATION       0x0400
+#define        PROCESS_ALL_ACCESS              (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xfff)
+
 extern gboolean CreateProcess (const gunichar2 *appname, gunichar2 *cmdline,
                               WapiSecurityAttributes *process_attrs,
                               WapiSecurityAttributes *thread_attrs,
                               gboolean inherit_handles, guint32 create_flags,
-                              gpointer env, const gunichar2 *cwd,
+                              gpointer environ, const gunichar2 *cwd,
                               WapiStartupInfo *startup,
                               WapiProcessInformation *process_info);
+extern gpointer GetCurrentProcess (void);
+extern guint32 GetCurrentProcessId (void);
+extern gboolean EnumProcesses (guint32 *pids, guint32 len, guint32 *needed);
+extern gpointer OpenProcess (guint32 access, gboolean inherit, guint32 pid);
+extern gboolean GetExitCodeProcess (gpointer process, guint32 *code);
+extern gboolean GetProcessTimes (gpointer process, WapiFileTime *create_time,
+                                WapiFileTime *exit_time,
+                                WapiFileTime *kernel_time,
+                                WapiFileTime *user_time);
+extern gboolean EnumProcessModules (gpointer process, gpointer *modules,
+                                   guint32 size, guint32 *needed);
+extern guint32 GetModuleBaseName (gpointer process, gpointer module,
+                                 gunichar2 *basename, guint32 size);
+extern gboolean GetProcessWorkingSetSize (gpointer process, size_t *min,
+                                         size_t *max);
+extern gboolean SetProcessWorkingSetSize (gpointer process, size_t min,
+                                         size_t max);
 
 #endif /* _WAPI_PROCESSES_H_ */