//========= Copyright 1996-2005, Valve Corporation, All rights reserved. ============// // // Purpose: // // $Workfile: $ // $Date: $ // //----------------------------------------------------------------------------- // $Log: $ // // $NoKeywords: $ //=============================================================================// #ifndef OSVERSION_H #define OSVERSION_H #pragma once #include "vstdlib/vstdlib.h" // OS types we know about // Must be in ascending capability order, we use this for min OS requirements enum EOSType { k_eOSUnknown = -1, k_eMacOSUnknown = -102, k_eMacOS104 = -101, k_eMacOS105 = -100, k_eMacOS1058 = -99, k_eMacOS106 = -95, k_eMacOS1063 = -94, k_eMacOS107 = -90, // k_eMacOSMax = -1 k_eLinuxUnknown = -203, k_eLinux22 = -202, k_eLinux24 = -201, k_eLinux26 = -200, // k_eLinuxMax = -103 k_eWinUnknown = 0, k_eWin311 = 1, k_eWin95, k_eWin98, k_eWinME, k_eWinNT, k_eWin2000, k_eWinXP, k_eWin2003, k_eWinVista, k_eWindows7, k_eWin2008, k_eWinMAX, k_eOSTypeMax = k_eWinMAX + 11 // win types + other ifdef'd types }; VSTDLIB_INTERFACE const char *GetNameFromOSType( EOSType eOSType ); VSTDLIB_INTERFACE const char *GetOSDetailString( char *pchOutBuf, int cchOutBuf ); VSTDLIB_INTERFACE EOSType GetOSType(); VSTDLIB_INTERFACE bool OSTypesAreCompatible( EOSType eOSTypeDetected, EOSType eOSTypeRequired ); VSTDLIB_INTERFACE const char *GetPlatformName( bool *pbIs64Bit ); #endif // OSVERSION_H