- Start rosapps rearrange and cleanup process.
[reactos.git] / rosapps / sysutils / systeminfo / systeminfo.c
diff --git a/rosapps/sysutils/systeminfo/systeminfo.c b/rosapps/sysutils/systeminfo/systeminfo.c
deleted file mode 100644 (file)
index e7d8680..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-/*
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-/* Copyright (C) 2007, Dmitry Chapyshev <lentind@yandex.ru> */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <windows.h>
-#include <io.h>
-
-#include "resource.h"
-
-#define BUFFER_SIZE 32767
-
-/* Load from resource and convert to OEM */
-static
-BOOL
-GetOemStrings(UINT rcID, LPSTR OutMsg)
-{
-       TCHAR Msg[BUFFER_SIZE];
-       if (LoadString(GetModuleHandle(NULL), rcID, (LPTSTR)Msg, BUFFER_SIZE))
-       {
-               CharToOem(Msg, OutMsg);
-               return TRUE;
-       }
-       return FALSE;
-}
-
-/* Load data from registry */
-static
-BOOL
-GetRegistryValue(HKEY hKeyName, LPCTSTR SubKey, LPCTSTR ValueName, LPCTSTR Buf)
-{
-       DWORD CharCount = BUFFER_SIZE;
-       HKEY hKey;
-       LONG lRet;
-
-       CharCount = BUFFER_SIZE;
-       lRet = RegOpenKeyEx(hKeyName,
-                                               SubKey,
-                                               0,
-                                               KEY_QUERY_VALUE,
-                                               &hKey);
-       if (lRet != ERROR_SUCCESS) return FALSE;
-       lRet = RegQueryValueEx(hKey,
-                                                  ValueName,
-                                                  NULL,
-                                                  NULL,
-                                                  (LPBYTE)Buf,
-                                                  &CharCount);
-       if (lRet != ERROR_SUCCESS) return FALSE;
-       return TRUE;
-}
-
-/* Show usage */
-static
-VOID
-Usage(VOID)
-{
-       TCHAR Buf[BUFFER_SIZE];
-       if(GetOemStrings(IDS_USAGE,Buf)) printf("%s",Buf);
-}
-
-/* Print all system information */
-VOID
-AllSysInfo(VOID)
-{
-       DWORD CharCount = BUFFER_SIZE;
-       OSVERSIONINFO VersionInfo;
-       BOOL bOsVersionInfoEx;
-       SYSTEM_INFO SysInfo;
-       TCHAR Buf[BUFFER_SIZE],Tmp[BUFFER_SIZE], Msg[BUFFER_SIZE];
-       MEMORYSTATUS memory;
-       unsigned int DIV = 1024;
-
-       GetSystemInfo(&SysInfo);
-
-       // getting computer name
-       CharCount = BUFFER_SIZE;
-       if(!GetComputerName(Buf,&CharCount)) printf("Error getting: GetComputerName");
-               if(GetOemStrings(IDS_HOST_NAME,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting OS Name
-       GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                        TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
-                                        TEXT("ProductName"),
-                                        Buf);
-               if(GetOemStrings(IDS_OS_NAME,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting OS Version
-       ZeroMemory(&VersionInfo, sizeof(OSVERSIONINFO));
-       VersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-       if(!(bOsVersionInfoEx = GetVersionEx((OSVERSIONINFO*)&VersionInfo)))
-       {
-               VersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-               if (!GetVersionEx((OSVERSIONINFO*)&VersionInfo))
-               return;
-       }
-       if (VersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT)
-       {
-               if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                        TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
-                                                        TEXT("CSDVersion"),
-                                                        Buf))
-                        if(GetOemStrings(IDS_OS_VERSION,Msg))
-                        fprintf(stderr, Msg,
-                                       (int)VersionInfo.dwMajorVersion,
-                                       (int)VersionInfo.dwMinorVersion,
-                                       (int)VersionInfo.dwBuildNumber,
-                                       Buf);
-               if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                        TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
-                                                        TEXT("CurrentBuildNumber"),
-                                                        Buf))
-                       if(GetOemStrings(IDS_OS_BUILD,Msg)) fprintf(stderr,Msg,Buf);
-       }
-
-       //getting OS Manufacturer
-
-       //getting OS Configuration
-
-       //getting OS Build Type
-       if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
-                                                TEXT("CurrentType"),
-                                                Buf))
-               if(GetOemStrings(IDS_OS_BUILD_TYPE,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting Registered Owner
-       if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
-                                                TEXT("RegisteredOwner"),
-                                                Buf))
-               if(GetOemStrings(IDS_REG_OWNER,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting Registered Organization
-       if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
-                                                TEXT("RegisteredOrganization"),
-                                                Buf))
-               if(GetOemStrings(IDS_REG_ORG,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting Product ID
-       if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
-                                                TEXT("ProductId"),
-                                                Buf))
-               if(GetOemStrings(IDS_PRODUCT_ID,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting Install Date
-       if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                TEXT("SOFTWARE\\Microsoft\\WBEM\\CIMOM"),
-                                                TEXT("SetupDate"),
-                                                Buf))
-               if(GetOemStrings(IDS_INST_DATE,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting Install Time
-       if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                TEXT("SOFTWARE\\Microsoft\\WBEM\\CIMOM"),
-                                                TEXT("SetupTime"),
-                                                Buf))
-               if(GetOemStrings(IDS_INST_TIME,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting System Up Time
-
-       //getting System Manufacturer
-
-       //getting System Model
-
-       //getting System type
-       switch (SysInfo.wProcessorArchitecture)
-       {
-               case PROCESSOR_ARCHITECTURE_UNKNOWN:
-                       if(GetOemStrings(IDS_SYS_TYPE_UNKNOWN,Msg)) printf("%s",Msg);
-               break;
-               case PROCESSOR_ARCHITECTURE_INTEL:
-                       if(GetOemStrings(IDS_SYS_TYPE_X86,Msg)) printf("%s",Msg);
-               break;
-               case PROCESSOR_ARCHITECTURE_IA64:
-                       if(GetOemStrings(IDS_SYS_TYPE_IA64,Msg)) printf("%s",Msg);
-               break;
-               case PROCESSOR_ARCHITECTURE_AMD64:
-                       if(GetOemStrings(IDS_SYS_TYPE_AMD64,Msg)) printf("%s",Msg);
-               break;
-       }
-
-       //getting Processor(s)
-       if(GetOemStrings(IDS_PROCESSORS,Msg))
-       {
-               fprintf(stderr,Msg,(unsigned int)SysInfo.dwNumberOfProcessors);
-               unsigned int i;
-               for(i = 0; i < (unsigned int)SysInfo.dwNumberOfProcessors; i++)
-               {
-                       sprintf(Tmp,"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\%u",i);
-                       if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                               (LPCTSTR)Tmp,
-                                                               TEXT("Identifier"),
-                                                               Buf))
-                               printf("                                [0%u]: %s",i+1,Buf);
-                       if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                               (LPCTSTR)Tmp,
-                                                               TEXT("VendorIdentifier"),
-                                                               Buf))
-                               printf(" %s\n",Buf);
-               }
-       }
-
-       //getting BIOS Version
-       if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                TEXT("HARDWARE\\DESCRIPTION\\System"),
-                                                TEXT("SystemBiosVersion"),
-                                                Buf))
-               if(GetOemStrings(IDS_BIOS_VERSION,Msg)) fprintf(stderr,Msg,Buf);
-
-       //gettings BIOS date
-       if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                TEXT("HARDWARE\\DESCRIPTION\\System"),
-                                                TEXT("SystemBiosDate"),
-                                                Buf))
-               if(GetOemStrings(IDS_BIOS_DATE,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting ReactOS Directory
-       if(!GetWindowsDirectory(Buf,BUFFER_SIZE)) printf("Error getting: GetWindowsDirectory");
-               if(GetOemStrings(IDS_ROS_DIR,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting System Directory
-       if(!GetSystemDirectory(Buf,BUFFER_SIZE)) printf("Error getting: GetSystemDirectory");
-               if(GetOemStrings(IDS_SYS_DIR,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting Boot Device
-       if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                TEXT("SYSTEM\\Setup"),
-                                                TEXT("SystemPartition"),
-                                                Buf))
-               if(GetOemStrings(IDS_BOOT_DEV,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting System Locale
-       if (GetRegistryValue(HKEY_CURRENT_USER,
-                                                TEXT("Control Panel\\International"),
-                                                TEXT("Locale"),
-                                                Tmp))
-       if (GetRegistryValue(HKEY_CLASSES_ROOT,
-                                                TEXT("MIME\\Database\\Rfc1766"),
-                                                (LPTSTR)Tmp,
-                                                Buf))
-               if(GetOemStrings(IDS_SYS_LOCALE,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting Input Locale
-       if (GetRegistryValue(HKEY_CURRENT_USER,
-                                                TEXT("Keyboard Layout\\Preload"),
-                                                TEXT("1"),
-                                                Buf))
-       {
-               int i,j;
-               for(j = 0, i = 4; i <= 8; j++, i++) Tmp[j] = Buf[i];
-               if (GetRegistryValue(HKEY_CLASSES_ROOT,
-                                                        TEXT("MIME\\Database\\Rfc1766"),
-                                                        (LPTSTR)Tmp,
-                                                        Buf))
-                       if(GetOemStrings(IDS_INPUT_LOCALE,Msg)) fprintf(stderr,Msg,Buf);
-       }
-
-       //getting Time Zone
-       TIME_ZONE_INFORMATION TimeZoneInfo;
-       GetTimeZoneInformation(&TimeZoneInfo);
-       sprintf(Tmp,"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones\\%S",TimeZoneInfo.StandardName);
-       if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                (LPCTSTR)Tmp,
-                                                TEXT("Display"),
-                                                Buf))
-               if(GetOemStrings(IDS_TIME_ZONE,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting Total Physical Memory
-       GlobalMemoryStatus(&memory);
-       if(GetOemStrings(IDS_TOTAL_PHYS_MEM,Msg))
-               fprintf(stderr,
-                               Msg,
-                               memory.dwTotalPhys/(DIV*DIV),
-                               memory.dwTotalPhys/DIV);
-
-       //getting Available Physical Memory
-       if(GetOemStrings(IDS_AVAIL_PHISICAL_MEM,Msg))
-               fprintf(stderr,
-                               Msg,
-                               memory.dwAvailPhys/(DIV*DIV),
-                               memory.dwAvailPhys/DIV);
-
-       //getting Virtual Memory: Max Size
-       if(GetOemStrings(IDS_VIRT_MEM_MAX,Msg))
-               fprintf(stderr,
-                               Msg,
-                               memory.dwTotalVirtual/(DIV*DIV),
-                               memory.dwTotalVirtual/DIV);
-
-       //getting Virtual Memory: Available
-       if(GetOemStrings(IDS_VIRT_MEM_AVAIL,Msg))
-               fprintf(stderr,
-                               Msg,
-                               memory.dwAvailVirtual/(DIV*DIV),
-                               memory.dwAvailVirtual/DIV);
-
-       //getting Virtual Memory: In Use
-       if(GetOemStrings(IDS_VIRT_MEM_INUSE,Msg))
-               fprintf(stderr,
-                               Msg,
-                               (memory.dwTotalVirtual-memory.dwAvailVirtual)/(DIV*DIV),
-                               (memory.dwTotalVirtual-memory.dwAvailVirtual)/DIV);
-
-       //getting Page File Location(s)
-       if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                TEXT("SYSTEM\\ControlSet001\\Control\\Session Manager\\Memory Management"),
-                                                TEXT("PagingFiles"),
-                                                Buf))
-       {
-               int i;
-               for(i = 0; i < strlen((char*)Buf); i++)
-               {
-                       if (Buf[i] == ' ')
-                       {
-                               Buf[i] = '\0';
-                               break;
-                       }
-               }
-               if(GetOemStrings(IDS_PAGEFILE_LOC,Msg)) fprintf(stderr,Msg,Buf);
-       }
-
-       //getting Domain
-       if (GetRegistryValue(HKEY_LOCAL_MACHINE,
-                                                TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon"),
-                                                TEXT("CachePrimaryDomain"),
-                                                Buf))
-               if(GetOemStrings(IDS_DOMINE,Msg)) fprintf(stderr,Msg,Buf);
-
-       //getting Logon Server
-
-       //getting NetWork Card(s)
-       if(GetOemStrings(IDS_NETWORK_CARDS,Msg))
-       {
-
-       }
-}
-
-/* Main program */
-int
-main(int argc,char *argv[])
-{
-       if (argc > 1 && argv[1] == "/?")
-       {
-               Usage();
-               return 0;
-       }
-       AllSysInfo();
-       return 0;
-}