Apply changes from https://github.com/dotnet/runtime/commit/eb1756e97d23df13bc6fe798e...
[mono-project.git] / mono / metadata / w32process-internals.h
blob21de0d34261bf609dfd71f3311d0b26c8c980152
1 /**
2 * \file
3 */
5 #ifndef _MONO_METADATA_W32PROCESS_INTERNALS_H_
6 #define _MONO_METADATA_W32PROCESS_INTERNALS_H_
8 #include <config.h>
9 #include <glib.h>
10 #include <mono/utils/w32subset.h>
12 #ifdef HOST_WIN32
13 #include <windows.h>
14 #else
15 typedef struct {
16 guint32 dwSignature; /* Should contain 0xFEEF04BD on le machines */
17 guint32 dwStrucVersion;
18 guint32 dwFileVersionMS;
19 guint32 dwFileVersionLS;
20 guint32 dwProductVersionMS;
21 guint32 dwProductVersionLS;
22 guint32 dwFileFlagsMask;
23 guint32 dwFileFlags;
24 guint32 dwFileOS;
25 guint32 dwFileType;
26 guint32 dwFileSubtype;
27 guint32 dwFileDateMS;
28 guint32 dwFileDateLS;
29 } VS_FIXEDFILEINFO;
31 typedef struct {
32 gpointer lpBaseOfDll;
33 guint32 SizeOfImage;
34 gpointer EntryPoint;
35 } MODULEINFO;
37 #define VS_FF_DEBUG 0x0001
38 #define VS_FF_PRERELEASE 0x0002
39 #define VS_FF_PATCHED 0x0004
40 #define VS_FF_PRIVATEBUILD 0x0008
41 #define VS_FF_INFOINFERRED 0x0010
42 #define VS_FF_SPECIALBUILD 0x0020
43 #endif
45 guint32
46 mono_w32process_get_pid (gpointer handle);
48 gboolean
49 mono_w32process_try_get_modules (gpointer process, gpointer *modules, guint32 size, guint32 *needed);
51 gboolean
52 mono_w32process_module_get_name (gpointer process, gpointer module, gunichar2 **str, guint32 *len);
54 gboolean
55 mono_w32process_module_get_filename (gpointer process, gpointer module, gunichar2 **str, guint32 *len);
57 gboolean
58 mono_w32process_module_get_information (gpointer process, gpointer module, gpointer modinfo, guint32 size);
60 gboolean
61 mono_w32process_get_fileversion_info (const gunichar2 *filename, gpointer *data);
63 gboolean
64 mono_w32process_ver_query_value (gconstpointer datablock, const gunichar2 *subblock, gpointer *buffer, guint32 *len);
66 guint32
67 mono_w32process_ver_language_name (guint32 lang, gunichar2 *lang_out, guint32 lang_len);
69 #endif /* _MONO_METADATA_W32PROCESS_INTERNALS_H_ */