Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / metadata / w32process-internals.h
1 /**
2  * \file
3  */
4
5 #ifndef _MONO_METADATA_W32PROCESS_INTERNALS_H_
6 #define _MONO_METADATA_W32PROCESS_INTERNALS_H_
7
8 #include <config.h>
9 #include <glib.h>
10
11 #ifndef HOST_WIN32
12
13 typedef struct {
14         guint32 dwSignature; /* Should contain 0xFEEF04BD on le machines */
15         guint32 dwStrucVersion;
16         guint32 dwFileVersionMS;
17         guint32 dwFileVersionLS;
18         guint32 dwProductVersionMS;
19         guint32 dwProductVersionLS;
20         guint32 dwFileFlagsMask;
21         guint32 dwFileFlags;
22         guint32 dwFileOS;
23         guint32 dwFileType;
24         guint32 dwFileSubtype;
25         guint32 dwFileDateMS;
26         guint32 dwFileDateLS;
27 } VS_FIXEDFILEINFO;
28
29 typedef struct {
30         gpointer lpBaseOfDll;
31         guint32 SizeOfImage;
32         gpointer EntryPoint;
33 } MODULEINFO;
34
35 #define VS_FF_DEBUG             0x0001
36 #define VS_FF_PRERELEASE        0x0002
37 #define VS_FF_PATCHED           0x0004
38 #define VS_FF_PRIVATEBUILD      0x0008
39 #define VS_FF_INFOINFERRED      0x0010
40 #define VS_FF_SPECIALBUILD      0x0020
41
42 guint32
43 mono_w32process_get_pid (gpointer handle);
44
45 gboolean
46 mono_w32process_try_get_modules (gpointer process, gpointer *modules, guint32 size, guint32 *needed);
47
48 guint32
49 mono_w32process_module_get_name (gpointer process, gpointer module, gunichar2 *basename, guint32 size);
50
51 guint32
52 mono_w32process_module_get_filename (gpointer process, gpointer module, gunichar2 *basename, guint32 size);
53
54 gboolean
55 mono_w32process_module_get_information (gpointer process, gpointer module, MODULEINFO *modinfo, guint32 size);
56
57 guint32
58 mono_w32process_get_fileversion_info_size (gunichar2 *filename, guint32 *handle);
59
60 gboolean
61 mono_w32process_get_fileversion_info (gunichar2 *filename, guint32 handle, guint32 len, gpointer data);
62
63 gboolean
64 mono_w32process_ver_query_value (gconstpointer datablock, const gunichar2 *subblock, gpointer *buffer, guint32 *len);
65
66 guint32
67 mono_w32process_ver_language_name (guint32 lang, gunichar2 *lang_out, guint32 lang_len);
68
69 #endif /* HOST_WIN32 */
70
71 #endif /* _MONO_METADATA_W32PROCESS_INTERNALS_H_ */