source-engine/public/vstdlib/osversion.h

61 lines
1.4 KiB
C
Raw Permalink Normal View History

2020-04-22 16:56:21 +00:00
//========= Copyright 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