| iMatix home page | << | < | > | >> |
SFL Version 2.11 |
#include "sflsyst.h" char * sys_name (Bool full)
Returns a static buffer with the type or name of OS. If the full argument is true, tries to report the OS version information as well.
{ #if (defined (__WINDOWS__)) # if (defined (WIN32)) static char name [30]; OSVERSIONINFO version_info; if (full) { version_info.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); if (GetVersionEx (&version_info)) { if (version_info.dwPlatformId == VER_PLATFORM_WIN32_NT) snprintf (name, sizeof (name), "Windows NT %ld.%ld", version_info.dwMajorVersion, version_info.dwMinorVersion); else if (version_info.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) snprintf (name, sizeof (name), "Windows 95 %ld.%ld", version_info.dwMajorVersion, version_info.dwMinorVersion); else snprintf (name, sizeof (name), "Windows %ld.%ld with win32s", version_info.dwMajorVersion, version_info.dwMinorVersion); } } else strcpy (name, "Windows"); return (name); # else return (full? "Windows 3.x": "Windows"); # endif #elif (defined (__UNIX__)) # if (defined (__UTYPE_AUX)) return ("UNIX Type: Apple AUX"); # elif (defined (__UTYPE_DECALPHA)) return ("UNIX Type: Digital UNIX (Alpha)"); # elif (defined (__UTYPE_IBMAIX)) return ("UNIX Type: IBM RS/6000 AIX"); # elif (defined (__UTYPE_HPUX)) return ("UNIX Type: HP/UX"); # elif (defined (__UTYPE_LINUX)) return ("UNIX Type: Linux"); # elif (defined (__UTYPE_MIPS)) return ("UNIX Type: MIPS"); # elif (defined (__UTYPE_NETBSD)) return ("UNIX Type: NetBSD"); # elif (defined (__UTYPE_NEXT)) return ("UNIX Type: NeXT"); # elif (defined (__UTYPE_SCO)) return ("UNIX Type: SCO UNIX"); # elif (defined (__UTYPE_IRIX)) return ("UNIX Type: Silicon Graphics IRIX"); # elif (defined (__UTYPE_SUNOS)) return ("UNIX Type: SunOS"); # elif (defined (__UTYPE_SUNSOLARIS)) return ("UNIX Type: Sun Solaris"); # elif (defined (__UTYPE_UNIXWARE)) return ("UNIX Type: SCO UNIXWare"); # else return ("UNIX Type: Generic"); # endif #elif (defined (__VMS__)) return ("UNIX Type: Digital OpenVMS"); #elif (defined (__OS2__)) return ("UNIX Type: IBM OS/2"); #elif (defined (__MSDOS__)) return ("MS-DOS"); #else return ("Unknown"); #endif }
| << | < | > | >> | Copyright © 1996-2000 iMatix Corporation |