2 * process.h: System.Diagnostics.Process support
5 * Dick Porter (dick@ximian.com)
7 * (C) 2002 Ximian, Inc.
10 #ifndef _MONO_METADATA_PROCESS_H_
11 #define _MONO_METADATA_PROCESS_H_
16 #include <mono/metadata/object.h>
17 #include <mono/io-layer/io-layer.h>
21 HANDLE process_handle;
23 guint32 pid; /* Contains GetLastError () on failure */
26 MonoArray *env_values;
32 MonoString *arguments;
33 gpointer error_dialog_parent_handle;
36 MonoString *working_directory;
38 MonoBoolean create_no_window;
39 MonoBoolean error_dialog;
40 MonoBoolean redirect_standard_error;
41 MonoBoolean redirect_standard_input;
42 MonoBoolean redirect_standard_output;
43 MonoBoolean use_shell_execute;
45 } MonoProcessStartInfo;
49 HANDLE ves_icall_System_Diagnostics_Process_GetProcess_internal (guint32 pid);
50 MonoArray *ves_icall_System_Diagnostics_Process_GetProcesses_internal (void);
51 guint32 ves_icall_System_Diagnostics_Process_GetPid_internal (void);
52 void ves_icall_System_Diagnostics_Process_Process_free_internal (MonoObject *this, HANDLE process);
53 MonoArray *ves_icall_System_Diagnostics_Process_GetModules_internal (MonoObject *this);
54 void ves_icall_System_Diagnostics_FileVersionInfo_GetVersionInfo_internal (MonoObject *this, MonoString *filename);
55 MonoBoolean ves_icall_System_Diagnostics_Process_ShellExecuteEx_internal (MonoProcessStartInfo *proc_start_info, MonoProcInfo *process_handle);
56 MonoBoolean ves_icall_System_Diagnostics_Process_CreateProcess_internal (MonoProcessStartInfo *proc_start_info, HANDLE stdin_handle, HANDLE stdout_handle, HANDLE stderr_handle, MonoProcInfo *process_handle);
57 MonoBoolean ves_icall_System_Diagnostics_Process_WaitForExit_internal (MonoObject *this, HANDLE process, gint32 ms);
58 gint64 ves_icall_System_Diagnostics_Process_ExitTime_internal (HANDLE process);
59 gint64 ves_icall_System_Diagnostics_Process_StartTime_internal (HANDLE process);
60 gint32 ves_icall_System_Diagnostics_Process_ExitCode_internal (HANDLE process);
61 MonoString *ves_icall_System_Diagnostics_Process_ProcessName_internal (HANDLE process);
62 MonoBoolean ves_icall_System_Diagnostics_Process_GetWorkingSet_internal (HANDLE process, guint32 *min, guint32 *max);
63 MonoBoolean ves_icall_System_Diagnostics_Process_SetWorkingSet_internal (HANDLE process, guint32 min, guint32 max, MonoBoolean use_min);
64 MonoBoolean ves_icall_System_Diagnostics_Process_Kill_internal (HANDLE process, gint32 sig);
68 #endif /* _MONO_METADATA_PROCESS_H_ */