Merge pull request #3936 from kumpera/monoclass_reorg2
[mono.git] / mono / metadata / w32process-win32-internals.h
1 /*
2  * Copyright 2016 Microsoft
3  * Licensed under the MIT license. See LICENSE file in the project root for full license information.
4  */
5 #ifndef __MONO_METADATA_PROCESS_INTERNALS_H__
6 #define __MONO_METADATA_PROCESS_INTERNALS_H__
7
8 #include <config.h>
9 #include <glib.h>
10
11 // On platforms not using classic WIN API support the  implementation of bellow methods are hosted in separate source file
12 // process-windows-*.c. On platforms using classic WIN API the implementation is still keept in process.c and still declared
13 // static and in some places even inlined.
14 #if !G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
15 void
16 mono_w32process_get_fileversion (MonoObject *filever, gunichar2 *filename, MonoError *error);
17
18 void
19 mono_process_init_startup_info (HANDLE stdin_handle, HANDLE stdout_handle,
20                                 HANDLE stderr_handle,STARTUPINFO *startinfo);
21
22 gboolean
23 mono_process_create_process (MonoW32ProcessInfo *mono_process_info, gunichar2 *shell_path, MonoString *cmd,
24                              guint32 creation_flags, gchar *env_vars, gunichar2 *dir, STARTUPINFO *start_info,
25                              PROCESS_INFORMATION *process_info);
26
27 MonoBoolean
28 mono_icall_get_process_working_set_size (gpointer handle, gsize *min, gsize *max);
29
30 MonoBoolean
31 mono_icall_set_process_working_set_size (gpointer handle, gsize min, gsize max);
32
33 gint32
34 mono_icall_get_priority_class (gpointer handle);
35
36 MonoBoolean
37 mono_icall_set_priority_class (gpointer handle, gint32 priorityClass);
38
39 gboolean
40 mono_process_win_enum_processes (DWORD *pids, DWORD count, DWORD *needed);
41 #endif  /* !G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT) */
42
43 #endif /* __MONO_METADATA_PROCESS_INTERNALS_H__ */