summaryrefslogtreecommitdiffstats
path: root/lib/libnt/info.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libnt/info.c')
-rw-r--r--lib/libnt/info.c81
1 files changed, 81 insertions, 0 deletions
diff --git a/lib/libnt/info.c b/lib/libnt/info.c
new file mode 100644
index 00000000..618b95c7
--- /dev/null
+++ b/lib/libnt/info.c
@@ -0,0 +1,81 @@
+/** BEGIN COPYRIGHT BLOCK
+ * Copyright 2001 Sun Microsystems, Inc.
+ * Portions copyright 1999, 2001-2003 Netscape Communications Corporation.
+ * All rights reserved.
+ * END COPYRIGHT BLOCK **/
+#include <windows.h>
+#include "nt/ntos.h"
+
+OS_TYPE NS_WINAPI INFO_GetOperatingSystem ()
+{
+ OSVERSIONINFO versionInfo;
+ versionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx( &versionInfo );
+
+ switch ( versionInfo.dwPlatformId ) {
+ case VER_PLATFORM_WIN32s:
+ return OS_WIN32S;
+ case VER_PLATFORM_WIN32_WINDOWS:
+ return OS_WIN95;
+ case VER_PLATFORM_WIN32_NT:
+ return OS_WINNT;
+ default:
+ break;
+ }
+ return OS_UNKNOWN;
+}
+DWORD NS_WINAPI INFO_GetOSMajorVersion ()
+{
+ OSVERSIONINFO versionInfo;
+ versionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx( &versionInfo );
+
+ return versionInfo.dwMajorVersion;
+}
+DWORD NS_WINAPI INFO_GetOSMinorVersion ()
+{
+ OSVERSIONINFO versionInfo;
+ versionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx( &versionInfo );
+
+ return versionInfo.dwMinorVersion;
+}
+DWORD NS_WINAPI INFO_GetOSServicePack ()
+{
+ OSVERSIONINFO versionInfo;
+ char * servicePackString = "Service Pack ";
+ int servicePackStringLng = strlen(servicePackString);
+ int servicePackNumber = 0;
+
+ versionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx( &versionInfo );
+ if ( strncmp ( versionInfo.szCSDVersion, servicePackString, servicePackStringLng ) == 0 )
+ servicePackNumber = atoi ( &versionInfo.szCSDVersion[servicePackStringLng] );
+
+ return servicePackNumber;
+}
+void NS_WINAPI OS_GetComputerName (LPTSTR computerName, int nComputerNameLength )
+{
+ DWORD computerNameLength = nComputerNameLength;
+ GetComputerName( computerName, &computerNameLength );
+}
+
+PROCESSOR_TYPE NS_WINAPI OS_GetProcessor ()
+{
+ SYSTEM_INFO systemInfo;
+ GetSystemInfo( &systemInfo);
+
+ switch ( systemInfo.wProcessorArchitecture ) {
+ case PROCESSOR_ARCHITECTURE_INTEL:
+ return PROCESSOR_I386;
+ case PROCESSOR_ARCHITECTURE_MIPS:
+ return PROCESSOR_MIPS;
+ case PROCESSOR_ARCHITECTURE_ALPHA:
+ return PROCESSOR_ALPHA;
+ case PROCESSOR_ARCHITECTURE_PPC:
+ return PROCESSOR_PPC;
+ default:
+ break;
+ }
+ return PROCESSOR_UNKNOWN;
+}