summaryrefslogtreecommitdiff
path: root/hammer/osver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'hammer/osver.cpp')
-rw-r--r--hammer/osver.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/hammer/osver.cpp b/hammer/osver.cpp
new file mode 100644
index 0000000..3b414ab
--- /dev/null
+++ b/hammer/osver.cpp
@@ -0,0 +1,47 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//
+//=============================================================================//
+#include "stdafx.h"
+#include "osver.h"
+
+static eOSVersion s_OS = eUninitialized;
+
+void initOSVersion()
+{
+ OSVERSIONINFO versioninfo;
+ versioninfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ if (GetVersionEx(&versioninfo))
+ {
+ switch(versioninfo.dwPlatformId)
+ {
+ case VER_PLATFORM_WIN32_WINDOWS:
+ {
+ s_OS = eWin9x;
+ break;
+ }
+ case VER_PLATFORM_WIN32_NT:
+ {
+ s_OS = eWinNT;
+ break;
+ }
+ default:
+ {
+ s_OS = eUnknown;
+ break;
+ }
+ }
+ }
+}
+
+eOSVersion getOSVersion()
+{
+ if (s_OS == eUninitialized)
+ {
+ initOSVersion();
+ }
+ return s_OS;
+} \ No newline at end of file