Mercurial > projects > ddbg_continued
comparison win32/w32api.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 * w32api.d * | |
3 * * | |
4 * Windows API header module * | |
5 * * | |
6 * Translated from MinGW API for MS-Windows 3.12 * | |
7 * by Stewart Gordon * | |
8 * * | |
9 * Placed into public domain * | |
10 \***********************************************************************/ | |
11 module win32.w32api; | |
12 | |
13 const __W32API_VERSION = 3.12; | |
14 const __W32API_MAJOR_VERSION = 3; | |
15 const __W32API_MINOR_VERSION = 12; | |
16 | |
17 /* These version identifiers are used to specify the minimum version of | |
18 * Windows that an application will support. | |
19 * | |
20 * The programmer should set two version identifiers: one for the | |
21 * minimum Windows NT version and one for the minimum Windows 9x | |
22 * version. If no Windows NT version is specified, Windows NT 4 is | |
23 * assumed. If no Windows 9x version is specified, Windows 95 is | |
24 * assumed, unless WindowsNTonly, WindowsXP, Windows2003 or WindowsVista | |
25 * is specified, implying that the application supports only the NT line of | |
26 * versions. | |
27 */ | |
28 | |
29 /* For Windows XP and later, assume no Windows 9x support. | |
30 * API features new to Windows Vista are not yet included in this | |
31 * translation or in MinGW, but this is here ready to start adding them. | |
32 */ | |
33 version (WindowsVista) { | |
34 const uint | |
35 _WIN32_WINNT = 0x600, | |
36 _WIN32_WINDOWS = uint.max; | |
37 | |
38 } else version (Windows2003) { | |
39 const uint | |
40 _WIN32_WINNT = 0x502, | |
41 _WIN32_WINDOWS = uint.max; | |
42 | |
43 } else version (WindowsXP) { | |
44 const uint | |
45 _WIN32_WINNT = 0x501, | |
46 _WIN32_WINDOWS = uint.max; | |
47 | |
48 } else { | |
49 /* for earlier Windows versions, separate version identifiers into | |
50 * the NT and 9x lines | |
51 */ | |
52 version (Windows2000) { | |
53 const uint _WIN32_WINNT = 0x500; | |
54 } else { | |
55 const uint _WIN32_WINNT = 0x400; | |
56 } | |
57 | |
58 version (WindowsNTonly) { | |
59 const uint _WIN32_WINDOWS = uint.max; | |
60 } else version (WindowsME) { | |
61 const uint _WIN32_WINDOWS = 0x500; | |
62 } else version (Windows98) { | |
63 const uint _WIN32_WINDOWS = 0x410; | |
64 } else { | |
65 const uint _WIN32_WINDOWS = 0x400; | |
66 } | |
67 } | |
68 | |
69 // Just a bit of syntactic sugar for the static ifs | |
70 const uint WINVER = _WIN32_WINDOWS < _WIN32_WINNT ? | |
71 _WIN32_WINDOWS : _WIN32_WINNT; | |
72 const bool _WIN32_WINNT_ONLY = _WIN32_WINDOWS == uint.max; | |
73 | |
74 version (IE7) { | |
75 const uint _WIN32_IE = 0x700; | |
76 } else version (IE602) { | |
77 const uint _WIN32_IE = 0x603; | |
78 } else version (IE601) { | |
79 const uint _WIN32_IE = 0x601; | |
80 } else version (IE6) { | |
81 const uint _WIN32_IE = 0x600; | |
82 } else version (IE56) { | |
83 const uint _WIN32_IE = 0x560; | |
84 } else version (IE501) { | |
85 const uint _WIN32_IE = 0x501; | |
86 } else version (IE5) { | |
87 const uint _WIN32_IE = 0x500; | |
88 } else version (IE401) { | |
89 const uint _WIN32_IE = 0x401; | |
90 } else version (IE4) { | |
91 const uint _WIN32_IE = 0x400; | |
92 } else version (IE3) { | |
93 const uint _WIN32_IE = 0x300; | |
94 } else static if (WINVER >= 0x410) { | |
95 const uint _WIN32_IE = 0x400; | |
96 } else { | |
97 const uint _WIN32_IE = 0; | |
98 } | |
99 | |
100 debug (WindowsUnitTest) { | |
101 unittest { | |
102 printf("Windows NT version: %03x\n", _WIN32_WINNT); | |
103 printf("Windows 9x version: %03x\n", _WIN32_WINDOWS); | |
104 printf("IE version: %03x\n", _WIN32_IE); | |
105 } | |
106 } |