[PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard info.c winver.h
pajoye Tue Dec 9 17:54:01 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/standard info.c winver.h Log: - fix VC6 build http://cvs.php.net/viewvc.cgi/php-src/ext/standard/info.c?r1=1.249.2.10.2.14.2.14r2=1.249.2.10.2.14.2.15diff_format=u Index: php-src/ext/standard/info.c diff -u php-src/ext/standard/info.c:1.249.2.10.2.14.2.14 php-src/ext/standard/info.c:1.249.2.10.2.14.2.15 --- php-src/ext/standard/info.c:1.249.2.10.2.14.2.14Mon Dec 8 07:32:14 2008 +++ php-src/ext/standard/info.c Tue Dec 9 17:54:01 2008 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: info.c,v 1.249.2.10.2.14.2.14 2008/12/08 07:32:14 stas Exp $ */ +/* $Id: info.c,v 1.249.2.10.2.14.2.15 2008/12/09 17:54:01 pajoye Exp $ */ #include php.h #include php_ini.h @@ -38,6 +38,18 @@ #include sys/utsname.h #endif +#ifdef PHP_WIN32 +typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO); +typedef BOOL (WINAPI *PGPI)(DWORD, DWORD, DWORD, DWORD, PDWORD); + +# include winver.h + +#if _MSC_VER 1300 +# define OSVERSIONINFOEX php_win_OSVERSIONINFOEX +#endif + +#endif + #if HAVE_MBSTRING #include ext/mbstring/mbstring.h ZEND_EXTERN_MODULE_GLOBALS(mbstring) @@ -343,9 +355,9 @@ if ( osvi.dwMajorVersion == 5 osvi.dwMinorVersion == 2 ) { if (GetSystemMetrics(SM_SERVERR2)) major = Windows Server 2003 R2; - else if (osvi.wSuiteMask==VER_SUITE_STORAGE_SERVER) + else if (osvi.wSuiteMask == VER_SUITE_STORAGE_SERVER) major = Windows Storage Server 2003; - else if (osvi.wSuiteMask==VER_SUITE_WH_SERVER) + else if (osvi.wSuiteMask == VER_SUITE_WH_SERVER) major = Windows Home Server; else if (osvi.wProductType == VER_NT_WORKSTATION si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64) { http://cvs.php.net/viewvc.cgi/php-src/ext/standard/winver.h?r1=1.1.2.1r2=1.1.2.2diff_format=u Index: php-src/ext/standard/winver.h diff -u php-src/ext/standard/winver.h:1.1.2.1 php-src/ext/standard/winver.h:1.1.2.2 --- php-src/ext/standard/winver.h:1.1.2.1 Mon Dec 8 07:32:14 2008 +++ php-src/ext/standard/winver.h Tue Dec 9 17:54:01 2008 @@ -57,10 +57,20 @@ #define VER_SUITE_BLADE 0x0400 #define VER_SUITE_EMBEDDED_RESTRICTED 0x0800 #define VER_SUITE_SECURITY_APPLIANCE0x1000 -#define VER_SUITE_STORAGE_SERVER0x2000 -#define VER_SUITE_COMPUTE_SERVER0x4000 #endif +#ifndef VER_SUITE_STORAGE_SERVER +# define VER_SUITE_STORAGE_SERVER0x2000 +#endif + +#ifndef VER_SUITE_COMPUTE_SERVER +# define VER_SUITE_COMPUTE_SERVER0x4000 +#endif +/* +ext\standard\info.c(346) : error C2065: 'VER_SUITE_STORAGE_SERVER' : undeclared identifier +ext\standard\info.c(373) : error C2065: 'VER_SUITE_COMPUTE_SERVER' : undeclared identifier +*/ + #ifndef PROCESSOR_ARCHITECTURE_AMD64 #define PROCESSOR_ARCHITECTURE_AMD649 #endif -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard info.c winver.h
pajoye Tue Dec 9 17:58:00 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/standard info.c winver.h Log: - double declaration and comments cleanup http://cvs.php.net/viewvc.cgi/php-src/ext/standard/info.c?r1=1.249.2.10.2.14.2.15r2=1.249.2.10.2.14.2.16diff_format=u Index: php-src/ext/standard/info.c diff -u php-src/ext/standard/info.c:1.249.2.10.2.14.2.15 php-src/ext/standard/info.c:1.249.2.10.2.14.2.16 --- php-src/ext/standard/info.c:1.249.2.10.2.14.2.15Tue Dec 9 17:54:01 2008 +++ php-src/ext/standard/info.c Tue Dec 9 17:57:59 2008 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: info.c,v 1.249.2.10.2.14.2.15 2008/12/09 17:54:01 pajoye Exp $ */ +/* $Id: info.c,v 1.249.2.10.2.14.2.16 2008/12/09 17:57:59 pajoye Exp $ */ #include php.h #include php_ini.h @@ -252,15 +252,6 @@ #ifdef PHP_WIN32 /* {{{ */ -typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO); -typedef BOOL (WINAPI *PGPI)(DWORD, DWORD, DWORD, DWORD, PDWORD); - -#include winver.h - -#if _MSC_VER 1300 -#define OSVERSIONINFOEX php_win_OSVERSIONINFOEX -#endif - char* php_get_windows_name() { OSVERSIONINFOEX osvi; http://cvs.php.net/viewvc.cgi/php-src/ext/standard/winver.h?r1=1.1.2.2r2=1.1.2.3diff_format=u Index: php-src/ext/standard/winver.h diff -u php-src/ext/standard/winver.h:1.1.2.2 php-src/ext/standard/winver.h:1.1.2.3 --- php-src/ext/standard/winver.h:1.1.2.2 Tue Dec 9 17:54:01 2008 +++ php-src/ext/standard/winver.h Tue Dec 9 17:57:59 2008 @@ -66,10 +66,6 @@ #ifndef VER_SUITE_COMPUTE_SERVER # define VER_SUITE_COMPUTE_SERVER0x4000 #endif -/* -ext\standard\info.c(346) : error C2065: 'VER_SUITE_STORAGE_SERVER' : undeclared identifier -ext\standard\info.c(373) : error C2065: 'VER_SUITE_COMPUTE_SERVER' : undeclared identifier -*/ #ifndef PROCESSOR_ARCHITECTURE_AMD64 #define PROCESSOR_ARCHITECTURE_AMD649 -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard info.c winver.h
stasMon Dec 8 07:32:14 2008 UTC Added files: (Branch: PHP_5_3) /php-src/ext/standard winver.h Modified files: /php-src/ext/standard info.c Log: improve Windows version detection http://cvs.php.net/viewvc.cgi/php-src/ext/standard/info.c?r1=1.249.2.10.2.14.2.13r2=1.249.2.10.2.14.2.14diff_format=u Index: php-src/ext/standard/info.c diff -u php-src/ext/standard/info.c:1.249.2.10.2.14.2.13 php-src/ext/standard/info.c:1.249.2.10.2.14.2.14 --- php-src/ext/standard/info.c:1.249.2.10.2.14.2.13Tue Oct 21 22:08:37 2008 +++ php-src/ext/standard/info.c Mon Dec 8 07:32:14 2008 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: info.c,v 1.249.2.10.2.14.2.13 2008/10/21 22:08:37 lbarnaud Exp $ */ +/* $Id: info.c,v 1.249.2.10.2.14.2.14 2008/12/08 07:32:14 stas Exp $ */ #include php.h #include php_ini.h @@ -238,6 +238,220 @@ /* }}} */ +#ifdef PHP_WIN32 +/* {{{ */ +typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO); +typedef BOOL (WINAPI *PGPI)(DWORD, DWORD, DWORD, DWORD, PDWORD); + +#include winver.h + +#if _MSC_VER 1300 +#define OSVERSIONINFOEX php_win_OSVERSIONINFOEX +#endif + +char* php_get_windows_name() +{ + OSVERSIONINFOEX osvi; + SYSTEM_INFO si; + PGNSI pGNSI; + PGPI pGPI; + BOOL bOsVersionInfoEx; + DWORD dwType; + char *major = NULL, *sub = NULL, *retval; + + ZeroMemory(si, sizeof(SYSTEM_INFO)); + ZeroMemory(osvi, sizeof(OSVERSIONINFOEX)); + osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); + + if (!(bOsVersionInfoEx = GetVersionEx ((OSVERSIONINFO *) osvi))) { + return NULL; + } + + pGNSI = (PGNSI) GetProcAddress(GetModuleHandle(kernel32.dll), GetNativeSystemInfo); + if(NULL != pGNSI) { + pGNSI(si); + } else { + GetSystemInfo(si); + } + + if (VER_PLATFORM_WIN32_NT==osvi.dwPlatformId osvi.dwMajorVersion 4 ) { + if (osvi.dwMajorVersion == 6 osvi.dwMinorVersion == 0 ) { + if (osvi.wProductType == VER_NT_WORKSTATION) { + major = Windows Vista; + } else { + major = Windows Server 2008; + } + + pGPI = (PGPI) GetProcAddress(GetModuleHandle(kernel32.dll), GetProductInfo); + pGPI(6, 0, 0, 0, dwType); + + switch (dwType) { + case PRODUCT_ULTIMATE: + sub = Ultimate Edition; + break; + case PRODUCT_HOME_PREMIUM: + sub = Home Premium Edition; + break; + case PRODUCT_HOME_BASIC: + sub = Home Basic Edition; + break; + case PRODUCT_ENTERPRISE: + sub = Enterprise Edition; + break; + case PRODUCT_BUSINESS: + sub = Business Edition; + break; + case PRODUCT_STARTER: + sub = Starter Edition; + break; + case PRODUCT_CLUSTER_SERVER: + sub = Cluster Server Edition; + break; + case PRODUCT_DATACENTER_SERVER: + sub = Datacenter Edition; + break; + case PRODUCT_DATACENTER_SERVER_CORE: + sub = Datacenter Edition (core installation); + break; + case PRODUCT_ENTERPRISE_SERVER: + sub = Enterprise Edition; + break; + case PRODUCT_ENTERPRISE_SERVER_CORE: + sub = Enterprise Edition (core installation); + break; + case PRODUCT_ENTERPRISE_SERVER_IA64: + sub = Enterprise Edition for Itanium-based Systems; + break; + case PRODUCT_SMALLBUSINESS_SERVER: + sub = Small Business Server; + break; + case PRODUCT_SMALLBUSINESS_SERVER_PREMIUM: +