1 #ifndef _PHP_WINVER_H
2 #define _PHP_WINVER_H
3
4 #ifndef SM_TABLETPC
5 #define SM_TABLETPC 86
6 #endif
7 #ifndef SM_MEDIACENTER
8 #define SM_MEDIACENTER 87
9 #endif
10 #ifndef SM_STARTER
11 #define SM_STARTER 88
12 #endif
13 #ifndef SM_SERVERR2
14 #define SM_SERVERR2 89
15 #endif
16 #ifndef VER_SUITE_WH_SERVER
17 #define VER_SUITE_WH_SERVER 0x8000
18 #endif
19
20 #ifndef PRODUCT_ULTIMATE
21 #define PRODUCT_UNDEFINED 0x00000000
22 #define PRODUCT_ULTIMATE 0x00000001
23 #define PRODUCT_HOME_BASIC 0x00000002
24 #define PRODUCT_HOME_PREMIUM 0x00000003
25 #define PRODUCT_ENTERPRISE 0x00000004
26 #define PRODUCT_HOME_BASIC_N 0x00000005
27 #define PRODUCT_BUSINESS 0x00000006
28 #define PRODUCT_STANDARD_SERVER 0x00000007
29 #define PRODUCT_DATACENTER_SERVER 0x00000008
30 #define PRODUCT_SMALLBUSINESS_SERVER 0x00000009
31 #define PRODUCT_ENTERPRISE_SERVER 0x0000000A
32 #define PRODUCT_STARTER 0x0000000B
33 #define PRODUCT_DATACENTER_SERVER_CORE 0x0000000C
34 #define PRODUCT_STANDARD_SERVER_CORE 0x0000000D
35 #define PRODUCT_ENTERPRISE_SERVER_CORE 0x0000000E
36 #define PRODUCT_ENTERPRISE_SERVER_IA64 0x0000000F
37 #define PRODUCT_BUSINESS_N 0x00000010
38 #define PRODUCT_WEB_SERVER 0x00000011
39 #define PRODUCT_CLUSTER_SERVER 0x00000012
40 #define PRODUCT_HOME_SERVER 0x00000013
41 #define PRODUCT_STORAGE_EXPRESS_SERVER 0x00000014
42 #define PRODUCT_STORAGE_STANDARD_SERVER 0x00000015
43 #define PRODUCT_STORAGE_WORKGROUP_SERVER 0x00000016
44 #define PRODUCT_STORAGE_ENTERPRISE_SERVER 0x00000017
45 #define PRODUCT_SERVER_FOR_SMALLBUSINESS 0x00000018
46 #define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM 0x00000019
47 #define PRODUCT_HOME_PREMIUM_N 0x0000001A
48 #define PRODUCT_ENTERPRISE_N 0x0000001B
49 #define PRODUCT_ULTIMATE_N 0x0000001C
50 #define PRODUCT_WEB_SERVER_CORE 0x0000001D
51 #define PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT 0x0000001E
52 #define PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY 0x0000001F
53 #define PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING 0x00000020
54 #define PRODUCT_SERVER_FOUNDATION 0x00000021
55 #define PRODUCT_HOME_PREMIUM_SERVER 0x00000022
56 #define PRODUCT_SERVER_FOR_SMALLBUSINESS_V 0x00000023
57 #define PRODUCT_STANDARD_SERVER_V 0x00000024
58 #define PRODUCT_DATACENTER_SERVER_V 0x00000025
59 #define PRODUCT_ENTERPRISE_SERVER_V 0x00000026
60 #define PRODUCT_DATACENTER_SERVER_CORE_V 0x00000027
61 #define PRODUCT_STANDARD_SERVER_CORE_V 0x00000028
62 #define PRODUCT_ENTERPRISE_SERVER_CORE_V 0x00000029
63 #define PRODUCT_HYPERV 0x0000002A
64 #define PRODUCT_STORAGE_EXPRESS_SERVER_CORE 0x0000002B
65 #define PRODUCT_STORAGE_STANDARD_SERVER_CORE 0x0000002C
66 #define PRODUCT_STORAGE_WORKGROUP_SERVER_CORE 0x0000002D
67 #define PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE 0x0000002E
68 #define PRODUCT_STARTER_N 0x0000002F
69 #define PRODUCT_PROFESSIONAL 0x00000030
70 #define PRODUCT_PROFESSIONAL_N 0x00000031
71 #define PRODUCT_SB_SOLUTION_SERVER 0x00000032
72 #define PRODUCT_SERVER_FOR_SB_SOLUTIONS 0x00000033
73 #define PRODUCT_STANDARD_SERVER_SOLUTIONS 0x00000034
74 #define PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE 0x00000035
75 #define PRODUCT_SB_SOLUTION_SERVER_EM 0x00000036
76 #define PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM 0x00000037
77 #define PRODUCT_SOLUTION_EMBEDDEDSERVER 0x00000038
78 #define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT 0x0000003B
79 #define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL 0x0000003C
80 #define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC 0x0000003D
81 #define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC 0x0000003E
82 #define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE 0x0000003F
83 #define PRODUCT_CLUSTER_SERVER_V 0x00000040
84 #define PRODUCT_ENTERPRISE_EVALUATION 0x00000048
85 #define PRODUCT_MULTIPOINT_STANDARD_SERVER 0x0000004C
86 #define PRODUCT_MULTIPOINT_PREMIUM_SERVER 0x0000004D
87 #define PRODUCT_STANDARD_EVALUATION_SERVER 0x0000004F
88 #define PRODUCT_DATACENTER_EVALUATION_SERVER 0x00000050
89 #define PRODUCT_ENTERPRISE_N_EVALUATION 0x00000054
90 #define PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER 0x0000005F
91 #define PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER 0x00000060
92 #define PRODUCT_CORE_N 0x00000062
93 #define PRODUCT_CORE_COUNTRYSPECIFIC 0x00000063
94 #define PRODUCT_CORE_SINGLELANGUAGE 0x00000064
95 #define PRODUCT_CORE 0x00000065
96 #define PRODUCT_PROFESSIONAL_WMC 0x00000067
97 #endif
98
99 #ifndef VER_NT_WORKSTATION
100 #define VER_NT_WORKSTATION 0x0000001
101 #define VER_NT_DOMAIN_CONTROLLER 0x0000002
102 #define VER_NT_SERVER 0x0000003
103 #endif
104
105 #ifndef VER_SUITE_SMALLBUSINESS
106 #define VER_SUITE_SMALLBUSINESS 0x00000001
107 #define VER_SUITE_ENTERPRISE 0x00000002
108 #define VER_SUITE_BACKOFFICE 0x00000004
109 #define VER_SUITE_COMMUNICATIONS 0x00000008
110 #define VER_SUITE_TERMINAL 0x00000010
111 #define VER_SUITE_SMALLBUSINESS_RESTRICTED 0x00000020
112 #define VER_SUITE_EMBEDDEDNT 0x00000040
113 #define VER_SUITE_DATACENTER 0x00000080
114 #define VER_SUITE_SINGLEUSERTS 0x00000100
115 #define VER_SUITE_PERSONAL 0x00000200
116 #define VER_SUITE_BLADE 0x00000400
117 #define VER_SUITE_EMBEDDED_RESTRICTED 0x00000800
118 #define VER_SUITE_SECURITY_APPLIANCE 0x00001000
119 #endif
120
121 #ifndef VER_SUITE_STORAGE_SERVER
122 # define VER_SUITE_STORAGE_SERVER 0x00002000
123 #endif
124
125 #ifndef VER_SUITE_COMPUTE_SERVER
126 # define VER_SUITE_COMPUTE_SERVER 0x00004000
127 #endif
128
129 #ifndef PROCESSOR_ARCHITECTURE_AMD64
130 #define PROCESSOR_ARCHITECTURE_AMD64 9
131 #endif
132
133 typedef struct _php_win_OSVERSIONINFOEXA {
134 DWORD dwOSVersionInfoSize;
135 DWORD dwMajorVersion;
136 DWORD dwMinorVersion;
137 DWORD dwBuildNumber;
138 DWORD dwPlatformId;
139 CHAR szCSDVersion[128];
140 WORD wServicePackMajor;
141 WORD wServicePackMinor;
142 WORD wSuiteMask;
143 BYTE wProductType;
144 BYTE wReserved;
145 } php_win_OSVERSIONINFOEX;
146