|
| iMatix home page | << | < | > | >> |
SFLVersion 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
}
| | << | < | > | >> |
|