BOOL MOperatingSystem::IsWindows9x() { if (IsWindows98()) return TRUE; if (IsWindows95()) return TRUE; if (IsWindowsME()) return TRUE; return FALSE; }
int simple_relayTimeout(int src,int dst,int timeout) { int rcc,wcc,rcc1,wcc1,nio; rcc = wcc = 0; for( nio = 0;; nio++ ){ if( !IsWindows95() || file_ISSOCK(src) ) if( timeout != 0 ) if( PollIn(src,timeout) <= 0 ) break; if( relay1(NULL,src,dst,&rcc1,&wcc1) <= 0 ) break; rcc += rcc1; wcc += wcc1; } syslog_ERROR("simple_relay [%d -> %d] = (%d -> %d) / %d\n", src,dst,rcc,wcc,nio); return rcc; }
static BOOL Is32BitEnvironment(void) { return IsWindowsNT() || IsWindows95(); }
CString GetOS() { CString Response; OS_VERSION_INFO osvi; char sText[512]=""; char sBuf[100]=""; ZeroMemory(&osvi,sizeof(OS_VERSION_INFO)); _stprintf(sText, _T("\nOperating System\n")); if (GetOSVersion(&osvi)) { // _stprintf(sText, _T("Emulated OS: ")); switch (osvi.dwEmulatedPlatformId) { case PLATFORM_DOS: { _stprintf(sBuf, _T("Dos")); break; } case PLATFORM_WINDOWS31: { _stprintf(sBuf, _T("Windows")); break; } case PLATFORM_WINDOWSFW: { _stprintf(sBuf, _T("Windows For Workgroups")); break; } case PLATFORM_WIN32S: { _stprintf(sBuf, _T("Win32s")); break; } case PLATFORM_WINDOWS_CE: { _stprintf(sBuf, _T("Windows CE")); break; } case PLATFORM_WINDOWS: { if (IsWindows95(&osvi)) _stprintf(sBuf, _T("Windows 95")); else if (IsWindows95SP1(&osvi)) _stprintf(sBuf, _T("Windows 95 SP1")); else if (IsWindows95OSR2(&osvi)) _stprintf(sBuf, _T("Windows 95 OSR2")); else if (IsWindows98(&osvi)) _stprintf(sBuf, _T("Windows 98")); else if (IsWindows98SP1(&osvi)) _stprintf(sBuf, _T("Windows 98 SP1")); else if (IsWindows98SE(&osvi)) _stprintf(sBuf, _T("Windows 98 Second Edition")); else _stprintf(sBuf, _T("Windows ??")); break; } case PLATFORM_NT_WORKSTATION: { if (IsWindows2000(&osvi)) _stprintf(sBuf, _T("Windows 2000 Professional")); else _stprintf(sBuf, _T("Windows NT Workstation")); break; } case PLATFORM_NT_PRIMARY_DOMAIN_CONTROLLER: { if (IsWindows2000(&osvi)) _stprintf(sBuf, _T("Windows 2000 Server (Acting as Primary Domain Controller)")); else _stprintf(sBuf, _T("Windows NT Server (Acting as Primary Domain Controller)")); break; } case PLATFORM_NT_BACKUP_DOMAIN_CONTROLLER: { if (IsWindows2000(&osvi)) _stprintf(sBuf, _T("Windows 2000 Server (Acting as Backup Domain Controller)")); else _stprintf(sBuf, _T("Windows NT Server (Acting as Backup Domain Controller)")); break; } case PLATFORM_NT_STAND_ALONE_SERVER: { if (IsWindows2000(&osvi)) _stprintf(sBuf, _T("Windows 2000 Server (Acting as Standalone Sever)")); else _stprintf(sBuf, _T("Windows NT Server (Acting as Standalone Sever)")); break; } case PLATFORM_WINDOWS_TERMINAL_SERVER: { _stprintf(sBuf, _T("Windows NT Terminal Server")); break; } case PLATFORM_NT_ENTERPRISE_SERVER: { _stprintf(sBuf, _T("Windows NT Enterprise Edition")); break; } default: { _stprintf(sBuf, _T("Unknown OS")); break; } } } _tcscat(sText, sBuf); // _stprintf(sBuf, _T(" v%d."), osvi.dwEmulatedMajorVersion); // _tcscat(sText, sBuf); // _stprintf(sBuf, _T("%02d "), osvi.dwEmulatedMinorVersion); // _tcscat(sText, sBuf); if (osvi.wEmulatedServicePack) { _stprintf(sBuf, _T(" Service Pack %d"), osvi.wEmulatedServicePack); _tcscat(sText, sBuf); } if (osvi.dwEmulatedBuildNumber) { _stprintf(sBuf, _T(" (Build %d)"), osvi.dwEmulatedBuildNumber); _tcscat(sText, sBuf); } _tcscat(sText, _T(" \r\n")); ; return sText; }