comparison win32/winver.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
comparison
equal deleted inserted replaced
0:586e4a649642 1:4a9dcbd9e54f
1 /***********************************************************************\
2 * winver.d *
3 * *
4 * Windows API header module *
5 * *
6 * Translated from MinGW Windows headers *
7 * by Stewart Gordon *
8 * *
9 * Placed into public domain *
10 \***********************************************************************/
11 module win32.winver;
12
13 private import win32.windef;
14
15 // FIXME: type weirdness
16 enum {
17 VS_FILE_INFO = 16,
18 VS_VERSION_INFO = 1,
19 VS_USER_DEFINED = 100
20 }
21
22 enum {
23 VS_FFI_SIGNATURE = 0xFEEF04BD,
24 VS_FFI_STRUCVERSION = 0x10000,
25 VS_FFI_FILEFLAGSMASK = 0x3F
26 }
27
28 enum {
29 VS_FF_DEBUG = 1,
30 VS_FF_PRERELEASE = 2,
31 VS_FF_PATCHED = 4,
32 VS_FF_PRIVATEBUILD = 8,
33 VS_FF_INFOINFERRED = 16,
34 VS_FF_SPECIALBUILD = 32
35 }
36
37 enum {
38 VOS_UNKNOWN = 0,
39 VOS_DOS = 0x10000,
40 VOS_OS216 = 0x20000,
41 VOS_OS232 = 0x30000,
42 VOS_NT = 0x40000,
43 VOS__BASE = 0,
44 VOS__WINDOWS16 = 1,
45 VOS__PM16 = 2,
46 VOS__PM32 = 3,
47 VOS__WINDOWS32 = 4,
48 VOS_DOS_WINDOWS16 = 0x10001,
49 VOS_DOS_WINDOWS32 = 0x10004,
50 VOS_OS216_PM16 = 0x20002,
51 VOS_OS232_PM32 = 0x30003,
52 VOS_NT_WINDOWS32 = 0x40004
53 }
54
55 enum {
56 VFT_UNKNOWN = 0,
57 VFT_APP = 1,
58 VFT_DLL = 2,
59 VFT_DRV = 3,
60 VFT_FONT = 4,
61 VFT_VXD = 5,
62 VFT_STATIC_LIB = 7
63 }
64
65 enum {
66 VFT2_UNKNOWN = 0,
67 VFT2_DRV_PRINTER = 1,
68 VFT2_DRV_KEYBOARD = 2,
69 VFT2_DRV_LANGUAGE = 3,
70 VFT2_DRV_DISPLAY = 4,
71 VFT2_DRV_MOUSE = 5,
72 VFT2_DRV_NETWORK = 6,
73 VFT2_DRV_SYSTEM = 7,
74 VFT2_DRV_INSTALLABLE = 8,
75 VFT2_DRV_SOUND = 9,
76 VFT2_DRV_COMM = 10,
77 VFT2_DRV_INPUTMETHOD = 11,
78 VFT2_FONT_RASTER = 1,
79 VFT2_FONT_VECTOR = 2,
80 VFT2_FONT_TRUETYPE = 3
81 }
82
83 enum : DWORD {
84 VFFF_ISSHAREDFILE = 1
85 }
86
87 enum : DWORD {
88 VFF_CURNEDEST = 1,
89 VFF_FILEINUSE = 2,
90 VFF_BUFFTOOSMALL = 4
91 }
92
93 enum : DWORD {
94 VIFF_FORCEINSTALL = 1,
95 VIFF_DONTDELETEOLD
96 }
97
98 enum {
99 VIF_TEMPFILE = 0x00001,
100 VIF_MISMATCH = 0x00002,
101 VIF_SRCOLD = 0x00004,
102 VIF_DIFFLANG = 0x00008,
103 VIF_DIFFCODEPG = 0x00010,
104 VIF_DIFFTYPE = 0x00020,
105 VIF_WRITEPROT = 0x00040,
106 VIF_FILEINUSE = 0x00080,
107 VIF_OUTOFSPACE = 0x00100,
108 VIF_ACCESSVIOLATION = 0x00200,
109 VIF_SHARINGVIOLATION = 0x00400,
110 VIF_CANNOTCREATE = 0x00800,
111 VIF_CANNOTDELETE = 0x01000,
112 VIF_CANNOTRENAME = 0x02000,
113 VIF_CANNOTDELETECUR = 0x04000,
114 VIF_OUTOFMEMORY = 0x08000,
115 VIF_CANNOTREADSRC = 0x10000,
116 VIF_CANNOTREADDST = 0x20000,
117 VIF_BUFFTOOSMALL = 0x40000
118 }
119
120 struct VS_FIXEDFILEINFO {
121 DWORD dwSignature;
122 DWORD dwStrucVersion;
123 DWORD dwFileVersionMS;
124 DWORD dwFileVersionLS;
125 DWORD dwProductVersionMS;
126 DWORD dwProductVersionLS;
127 DWORD dwFileFlagsMask;
128 DWORD dwFileFlags;
129 DWORD dwFileOS;
130 DWORD dwFileType;
131 DWORD dwFileSubtype;
132 DWORD dwFileDateMS;
133 DWORD dwFileDateLS;
134 }
135
136 extern (Windows) {
137 DWORD VerFindFileA(DWORD, LPSTR, LPSTR, LPSTR, LPSTR, PUINT, LPSTR,
138 PUINT);
139 DWORD VerFindFileW(DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, PUINT, LPWSTR,
140 PUINT);
141 DWORD VerInstallFileA(DWORD, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR,
142 PUINT);
143 DWORD VerInstallFileW(DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR,
144 LPWSTR, PUINT);
145 DWORD GetFileVersionInfoSizeA(LPSTR, PDWORD);
146 DWORD GetFileVersionInfoSizeW(LPWSTR, PDWORD);
147 BOOL GetFileVersionInfoA(LPSTR, DWORD, DWORD, PVOID);
148 BOOL GetFileVersionInfoW(LPWSTR, DWORD, DWORD, PVOID);
149 DWORD VerLanguageNameA(DWORD, LPSTR, DWORD);
150 DWORD VerLanguageNameW(DWORD, LPWSTR, DWORD);
151 BOOL VerQueryValueA(LPVOID, LPSTR, LPVOID*, PUINT);
152 BOOL VerQueryValueW(LPVOID, LPWSTR, LPVOID*, PUINT);
153 }
154
155 version (Unicode) {
156 alias VerFindFileW VerFindFile;
157 alias VerQueryValueW VerQueryValue;
158 alias VerInstallFileW VerInstallFile;
159 alias GetFileVersionInfoSizeW GetFileVersionInfoSize;
160 alias GetFileVersionInfoW GetFileVersionInfo;
161 alias VerLanguageNameW VerLanguageName;
162 alias VerQueryValueW VerQueryValue;
163 } else {
164 alias VerQueryValueA VerQueryValue;
165 alias VerFindFileA VerFindFile;
166 alias VerInstallFileA VerInstallFile;
167 alias GetFileVersionInfoSizeA GetFileVersionInfoSize;
168 alias GetFileVersionInfoA GetFileVersionInfo;
169 alias VerLanguageNameA VerLanguageName;
170 alias VerQueryValueA VerQueryValue;
171 }