Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / metadata / w32process-win32-internals.h
1 /**
2  * \file
3  * Copyright 2016 Microsoft
4  * Licensed under the MIT license. See LICENSE file in the project root for full license information.
5  */
6 #ifndef __MONO_METADATA_PROCESS_INTERNALS_H__
7 #define __MONO_METADATA_PROCESS_INTERNALS_H__
8
9 #include <config.h>
10 #include <glib.h>
11
12 // On platforms not using classic WIN API support the  implementation of bellow methods are hosted in separate source file
13 // process-windows-*.c. On platforms using classic WIN API the implementation is still keept in process.c and still declared
14 // static and in some places even inlined.
15 #if !G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
16 void
17 mono_w32process_get_fileversion (MonoObject *filever, gunichar2 *filename, MonoError *error);
18
19 void
20 mono_process_init_startup_info (HANDLE stdin_handle, HANDLE stdout_handle,
21                                 HANDLE stderr_handle,STARTUPINFO *startinfo);
22
23 gboolean
24 mono_process_create_process (MonoW32ProcessInfo *mono_process_info, MonoString *cmd, guint32 creation_flags,
25         gunichar2 *env_vars, gunichar2 *dir, STARTUPINFO *start_info, 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__ */