Merge pull request #3766 from BrzVlad/feature-default-conc
[mono.git] / mono / metadata / icall-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_ICALL_INTERNALS_H__
6 #define __MONO_METADATA_ICALL_INTERNALS_H__
7
8 #include <config.h>
9 #include <glib.h>
10 #include <mono/metadata/object-internals.h>
11
12 // On Windows platform implementation of bellow methods are hosted in separate source file
13 // icall-windows.c or icall-windows-*.c. On other platforms the implementation is still keept
14 // in icall.c still declared as static and in some places even inlined.
15 #ifdef HOST_WIN32
16 void
17 mono_icall_make_platform_path (gchar *path);
18
19 const gchar *
20 mono_icall_get_file_path_prefix (const gchar *path);
21
22 gpointer
23 mono_icall_module_get_hinstance (MonoReflectionModule *module);
24
25 MonoString *
26 mono_icall_get_machine_name (void);
27
28 int
29 mono_icall_get_platform (void);
30
31 MonoString *
32 mono_icall_get_new_line (void);
33
34 MonoBoolean
35 mono_icall_is_64bit_os (void);
36
37 MonoArray *
38 mono_icall_get_environment_variable_names (void);
39
40 void
41 mono_icall_set_environment_variable (MonoString *name, MonoString *value);
42
43 MonoString *
44 mono_icall_get_windows_folder_path (int folder);
45
46 void
47 mono_icall_broadcast_setting_change (void);
48
49 void
50 mono_icall_write_windows_debug_string (MonoString *message);
51
52 MonoBoolean
53 mono_icall_close_process (gpointer handle);
54
55 gint32
56 mono_icall_wait_for_input_idle (gpointer handle, gint32 milliseconds);
57 #endif  /* HOST_WIN32 */
58
59 // On platforms not using classic WIN API support the  implementation of bellow methods are hosted in separate source file
60 // icall-windows-*.c. On platforms using classic WIN API the implementation is still keept in icall.c and still declared
61 // static and in some places even inlined.
62 #if !G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
63 MonoArray *
64 mono_icall_get_logical_drives (void);
65
66 guint32
67 mono_icall_drive_info_get_drive_type (MonoString *root_path_name);
68
69 MonoBoolean
70 mono_icall_get_process_working_set_size (gpointer handle, gsize *min, gsize *max);
71
72 MonoBoolean
73 mono_icall_set_process_working_set_size (gpointer handle, gsize min, gsize max);
74
75 gint32
76 mono_icall_get_priority_class (gpointer handle);
77
78 MonoBoolean
79 mono_icall_set_priority_class (gpointer handle, gint32 priorityClass);
80 #endif  /* !G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT) */
81
82 #endif /* __MONO_METADATA_ICALL_INTERNALS_H__ */