Obsolete regnav removed.
authorEmanuele Aliberti <ea@iol.it>
Sat, 13 Jan 2001 18:17:17 +0000 (18:17 +0000)
committerEmanuele Aliberti <ea@iol.it>
Sat, 13 Jan 2001 18:17:17 +0000 (18:17 +0000)
qsi updated (still wip).
Minor changes.

svn path=/trunk/; revision=1504

rosapps/sysutils/ldd.c
rosapps/sysutils/makefile
rosapps/sysutils/qsi.c
rosapps/sysutils/regexpl/RegistryExplorer.h
rosapps/sysutils/regnav.c [deleted file]
rosapps/sysutils/regnav.rc [deleted file]

index bc15d5e..2233019 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: ldd.c,v 1.2 2000/09/11 20:17:02 ea Exp $
+/* $Id: ldd.c,v 1.3 2001/01/13 18:17:17 ea Exp $
  *
  * FILE  : ldd.c
  * AUTHOR: Emanuele ALIBERTI
@@ -92,7 +92,7 @@ main (int argc, char * argv [] )
                                                )
                                        )
                                {
-                                       printf ("  %s\n", DeviceName);
+                                       printf ("  -> \"%s\"\n", DeviceName);
                                }
                        }
                        else
index 0714e72..24a3cb2 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: makefile,v 1.7 2000/10/04 21:04:30 ea Exp $
+# $Id: makefile,v 1.8 2001/01/13 18:17:17 ea Exp $
 #
 # ReactOS System Utilities
 #
@@ -35,7 +35,6 @@ IMPORT_USER32=$(ROS_LIB)/user32/user32.a
 IMPORT_CRTDLL=$(ROS_LIB)/crtdll/crtdll.a
 
 TARGET=\
-       regnav.exe      \
        chklib.exe      \
        qsi.exe         \
        ldd.exe         \
@@ -87,18 +86,6 @@ chklib.exe: chklib.o win32err.o chklib.coff
        $(NM) --numeric-sort chklib.exe > chklib.sym
 
 
-regnav.exe: regnav.o win32err.o regnav.coff
-       $(CC) \
-               regnav.o                \
-               win32err.o              \
-               regnav.coff             \
-               $(IMPORT_KERNEL32)      \
-               $(IMPORT_ADVAPI32)      \
-               $(IMPORT_CRTDLL)        \
-               -o regnav.exe
-       $(NM) --numeric-sort regnav.exe > regnav.sym
-       
-
 shutdown.exe: shutdown.o win32err.o shutdown.coff
        $(CC) \
                shutdown.o              \
index d3ce07a..10b6701 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: qsi.c,v 1.3 2000/05/28 17:44:51 ea Exp $
+/* $Id: qsi.c,v 1.4 2001/01/13 18:17:17 ea Exp $
  *
  * PROJECT    : ReactOS Operating System (see http://www.reactos.com/)
  * DESCRIPTION: Tool to query system information
@@ -21,6 +21,8 @@
  *     2000-04-23 (ea)
  *             Added almost all structures for getting system
  *             information (from UNDOCNT.H by Dabak et alii).
+ *     2001-01-13 (ea)
+ *             New QSI classe names used by E.Kohl.
  */
 #include <windows.h>
 #include <stdio.h>
@@ -404,21 +406,17 @@ CMD_DEF(unknown)
  * NOTE
  *     Class 0.
  */
-CMD_DEF(Basic)
+CMD_DEF(0)
 {
        NTSTATUS                        Status;
        SYSTEM_BASIC_INFORMATION        Info;
 
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemBasicInformation:\n");
-       }
        RtlZeroMemory (
                (PVOID) & Info,
                sizeof Info
                );
        Status = NtQuerySystemInformation (
-                       SystemBasicInformation,
+                       0,
                        & Info,
                        sizeof Info,
                        NULL
@@ -428,17 +426,17 @@ CMD_DEF(Basic)
                PrintStatus (Status);
                return EXIT_FAILURE;
        }
-       printf ("\tAlwaysZero              = 0x%08x\n", Info.AlwaysZero);
-       printf ("\tKeMaximumIncrement      = %ld\n", Info.KeMaximumIncrement);
-       printf ("\tMmPageSize              = %ld\n", Info.MmPageSize);
-       printf ("\tMmNumberOfPhysicalPages = %ld\n", Info.MmNumberOfPhysicalPages);
-       printf ("\tMmLowestPhysicalPage    = %ld\n", Info.MmLowestPhysicalPage);
-       printf ("\tMmHighestPhysicalPage   = %ld\n", Info.MmHighestPhysicalPage);
-       printf ("\tMmLowestUserAddress     = 0x%08x\n", Info.MmLowestUserAddress);
-       printf ("\tMmLowestUserAddress1    = 0x%08x\n", Info.MmLowestUserAddress1);
-       printf ("\tMmHighestUserAddress    = 0x%08x\n", Info.MmHighestUserAddress);
-       printf ("\tKeActiveProcessors      = 0x%08x\n", Info.KeActiveProcessors);
-       printf ("\tKeNumberProcessors      = %ld\n", Info.KeNumberProcessors);
+       printf ("  Reserved                     0x%08x\n", Info.Reserved);
+       printf ("  TimerResolution              %d\n",    Info.TimerResolution);
+       printf ("  PageSize                     %d\n",    Info.PageSize);
+       printf ("  NumberOfPhysicalPages        %d\n",    Info.NumberOfPhysicalPages);
+       printf ("  LowestPhysicalPageNumber     %d\n",    Info.LowestPhysicalPageNumber);
+       printf ("  HighestPhysicalPageNumber    %d\n",    Info.HighestPhysicalPageNumber);
+       printf ("  AllocationGranularity        %d\n", Info.AllocationGranularity);
+       printf ("  MinimumUserModeAddress       0x%08x (%d)\n", Info.MinimumUserModeAddress, Info.MinimumUserModeAddress);
+       printf ("  MaximumUserModeAddress       0x%08x (%d)\n", Info.MaximumUserModeAddress, Info.MaximumUserModeAddress);
+       printf ("  ActiveProcessorsAffinityMask 0x%08x\n", Info.ActiveProcessorsAffinityMask);
+       printf ("  NumberOfProcessors           %d\n",   (int) Info.NumberOfProcessors);
 
        return EXIT_SUCCESS;
 }
@@ -451,21 +449,17 @@ CMD_DEF(Basic)
  * NOTE
  *     Class 1.
  */
-CMD_DEF(Processor)
+CMD_DEF(1)
 {
        NTSTATUS                        Status;
        SYSTEM_PROCESSOR_INFORMATION    Info;
        
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemProcessorInformation:\n");
-       }
        RtlZeroMemory (
                (PVOID) & Info,
                sizeof Info
                );
        Status = NtQuerySystemInformation (
-                       SystemProcessorInformation,
+                       1,
                        & Info,
                        sizeof Info,
                        NULL
@@ -475,14 +469,12 @@ CMD_DEF(Processor)
                PrintStatus (Status);
                return EXIT_FAILURE;
        }
-       printf ("\tKeProcessorArchitecture = %ld\n", Info.KeProcessorArchitecture);
-       printf ("\tKeProcessorLevel        = %ld\n", Info.KeProcessorLevel);
-       printf ("\tKeProcessorRevision     = %ld\n", Info.KeProcessorRevision);
-       if (Application.Flag.Verbose)
-       {
-               printf ("\tAlwaysZero              = 0x%08x\n", Info.AlwaysZero);
-       }
-       printf ("\tKeFeatureBits           = %08x\n", Info.KeFeatureBits);
+       printf ("  ProcessorArchitecture %d\n",    Info.ProcessorArchitecture);
+       printf ("  ProcessorLevel        %d\n",    Info.ProcessorLevel);
+       printf ("  ProcessorRevision     %d\n",    Info.ProcessorRevision);
+       printf ("  Reserved              0x%08x\n", Info.Reserved);
+       printf ("  FeatureBits           %08x\n",   Info.ProcessorFeatureBits);
+       /* FIXME: decode feature bits */
 
        return EXIT_SUCCESS;
 }
@@ -496,19 +488,15 @@ CMD_DEF(Processor)
  * NOTE
  *     Class 2.
  */
-CMD_DEF(Performance)
+CMD_DEF(2)
 {
        NTSTATUS                        Status = STATUS_SUCCESS;
        PSYSTEM_PERFORMANCE_INFO        Info;
        LONG                            Length = 0;
 
 
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemPerformanceInformation:\n");
-       }
        Status = NtQuerySystemInformation (
-                       SystemPerformanceInformation,
+                       2,
                        & Info,
                        sizeof Info,
                        & Length
@@ -606,17 +594,13 @@ CMD_DEF(Performance)
  * NOTE
  *     Class 3.
  */
-CMD_DEF(Time)
+CMD_DEF(3)
 {
-       NTSTATUS                Status;
-       SYSTEM_TIME_INFORMATION Info;
+       NTSTATUS                        Status;
+       SYSTEM_TIMEOFDAY_INFORMATION    Info;
 
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemTimeInformation:\n");
-       }
        Status = NtQuerySystemInformation (
-                       SystemTimeInformation,
+                       3,
                        & Info,
                        sizeof Info,
                        NULL
@@ -626,14 +610,11 @@ CMD_DEF(Time)
                PrintStatus (Status);
                return EXIT_FAILURE;
        }
-       PrintUtcDateTime ("\tKeBootTime     : %s\n", & Info.KeBootTime);
-       PrintUtcDateTime ("\tKeSystemTime   : %s\n", & Info.KeSystemTime);
-       PrintUtcDateTime ("\tExpTimeZoneBias: %s\n", & Info.ExpTimeZoneBias); /* FIXME */
-       printf ("\tExpTimeZoneId  : %ld\n", Info.ExpTimeZoneId);
-       if (Application.Flag.Verbose)
-       {
-               printf ("\tUnused         : %08x (?)\n", Info.Unused);
-       }
+       PrintUtcDateTime ("  BootTime     %s\n", (PTIME) & Info.BootTime);
+       PrintUtcDateTime ("  CurrentTime  %s\n", (PTIME) & Info.CurrentTime);
+       PrintUtcDateTime ("  TimeZoneBias %s\n", (PTIME) & Info.TimeZoneBias); /* FIXME */
+       printf           ("  TimeZoneId   %ld\n", Info.TimeZoneId);
+       printf           ("  Reserved     %08x\n", Info.Reserved);
 
        return EXIT_SUCCESS;
 }
@@ -646,7 +627,7 @@ CMD_DEF(Time)
  * NOTE
  *     Class 4.
  */
-CMD_DEF(Path)
+CMD_DEF(4)
 {
        NTSTATUS                Status;
        SYSTEM_PATH_INFORMATION Info;
@@ -655,7 +636,7 @@ CMD_DEF(Path)
 
        RtlZeroMemory (& Info, _MAX_PATH);
        Status = NtQuerySystemInformation (
-                       SystemPathInformation,
+                       4,
                        & _Info,
                        _MAX_PATH,
                        & Length
@@ -679,7 +660,7 @@ CMD_DEF(Path)
  * NOTE
  *     Class 5.
  */
-CMD_DEF(Process)
+CMD_DEF(5)
 {
        NTSTATUS                        Status = STATUS_SUCCESS;
        PSYSTEM_PROCESS_INFORMATION     pInfo = NULL;
@@ -689,15 +670,11 @@ CMD_DEF(Process)
        pInfo = GlobalAlloc (GMEM_ZEROINIT, BUFFER_SIZE_DEFAULT);
        /* FIXME: check NULL==pInfo */
        
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemProcessInformation:\n");
-       }
        /*
         *      Obtain required buffer size
         */
        Status = NtQuerySystemInformation (
-                       SystemProcessInformation,
+                       5,
                        pInfo,
                        BUFFER_SIZE_DEFAULT,
                        & Length
@@ -843,20 +820,16 @@ CMD_DEF(Process)
  * NOTE
  *     Class 6.
  */
-CMD_DEF(ServiceDescriptorTable)
+CMD_DEF(6)
 {
        NTSTATUS                Status;
        SYSTEM_SDT_INFORMATION  Info;
        ULONG                   Length = 0;
 
 /* FIXME */
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemServiceDescriptorTableInfo:\n");
-       }
        RtlZeroMemory (& Info, sizeof Info);
        Status = NtQuerySystemInformation (
-                       SystemServiceDescriptorTableInfo,
+                       6,
                        & Info,
                        sizeof Info,
                        & Length
@@ -867,10 +840,10 @@ CMD_DEF(ServiceDescriptorTable)
                DumpData (Length, & Info);
                return EXIT_FAILURE;
        }
-       printf ("\tBufferLength                = %ld\n", Info.BufferLength);
-       printf ("\tNumberOfSystemServiceTables = %ld\n", Info.NumberOfSystemServiceTables);
-       printf ("\tNumberOfServices            = %ld\n", Info.NumberOfServices [0]);
-       printf ("\tServiceCounters             = %ld\n", Info.ServiceCounters [0]);
+       printf ("  BufferLength                = %ld\n", Info.BufferLength);
+       printf ("  NumberOfSystemServiceTables = %ld\n", Info.NumberOfSystemServiceTables);
+       printf ("  NumberOfServices            = %ld\n", Info.NumberOfServices [0]);
+       printf ("  ServiceCounters             = %ld\n", Info.ServiceCounters [0]);
 
        DumpData (Length, & Info);
 
@@ -885,18 +858,14 @@ CMD_DEF(ServiceDescriptorTable)
  * NOTE
  *     Class 7.
  */
-CMD_DEF(IoConfig)
+CMD_DEF(7)
 {
        NTSTATUS                        Status = STATUS_SUCCESS;
-       SYSTEM_IOCONFIG_INFORMATION     Info;
+       SYSTEM_DEVICE_INFORMATION       Info;
        ULONG                           Length = 0;
 
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemIoConfigInformation:\n");
-       }
        Status = NtQuerySystemInformation (
-                       SystemIoConfigInformation,
+                       7,
                        & Info,
                        sizeof Info,
                        & Length
@@ -906,12 +875,12 @@ CMD_DEF(IoConfig)
                PrintStatus (Status);
                return EXIT_FAILURE;
        }
-       printf ("\tDiskCount    : %ld\n", Info.DiskCount);
-       printf ("\tFloppyCount  : %ld\n", Info.FloppyCount);
-       printf ("\tCdRomCount   : %ld\n", Info.CdRomCount);
-       printf ("\tTapeCount    : %ld\n", Info.TapeCount);
-       printf ("\tSerialCount  : %ld\n", Info.SerialCount);
-       printf ("\tParallelCount: %ld\n", Info.ParallelCount);
+       printf ("  Number Of Disks          %ld\n", Info.NumberOfDisks);
+       printf ("  Number Of Floppies       %ld\n", Info.NumberOfFloppies);
+       printf ("  Number Of CD-ROMs        %ld\n", Info.NumberOfCdRoms);
+       printf ("  Number Of Tapes          %ld\n", Info.NumberOfTapes);
+       printf ("  Number Of Serial Ports   %ld\n", Info.NumberOfSerialPorts);
+       printf ("  Number Of Parallel Ports %ld\n", Info.NumberOfParallelPorts);
 
        DumpData (Length, & Info);
 
@@ -926,18 +895,14 @@ CMD_DEF(IoConfig)
  * NOTE
  *     Class 8.
  */
-CMD_DEF(ProcessorTime)
+CMD_DEF(8)
 {
        NTSTATUS                        Status;
        SYSTEM_PROCESSORTIME_INFO       Info;
        ULONG                           Length = 0;
        
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemProcessorTimeInformation:\n");
-       }
        Status = NtQuerySystemInformation (
-                       SystemProcessorTimeInformation,
+                       8,
                        & Info,
                        sizeof Info,
                        & Length
@@ -947,16 +912,13 @@ CMD_DEF(ProcessorTime)
                PrintStatus (Status);
                return EXIT_FAILURE;
        }
-       PrintUtcDateTime ("\tTotalProcessorRunTime : %s\n", & Info.TotalProcessorRunTime);
-       PrintUtcDateTime ("\tTotalProcessorTime    : %s\n", & Info.TotalProcessorTime);
-       PrintUtcDateTime ("\tTotalProcessorUserTime: %s\n", & Info.TotalProcessorUserTime);
-       PrintUtcDateTime ("\tTotalDPCTime          : %s\n", & Info.TotalDPCTime);
-       PrintUtcDateTime ("\tTotalInterruptTime    : %s\n", & Info.TotalInterruptTime);
-       printf ("\tTotalInterrupts       : %ld\n", Info.TotalInterrupts);
-       if (Application.Flag.Verbose)
-       {
-               printf ("\tUnused                : %08x\n", Info.Unused);
-       }
+       PrintUtcDateTime ("  TotalProcessorRunTime : %s\n", & Info.TotalProcessorRunTime);
+       PrintUtcDateTime ("  TotalProcessorTime    : %s\n", & Info.TotalProcessorTime);
+       PrintUtcDateTime ("  TotalProcessorUserTime: %s\n", & Info.TotalProcessorUserTime);
+       PrintUtcDateTime ("  TotalDPCTime          : %s\n", & Info.TotalDPCTime);
+       PrintUtcDateTime ("  TotalInterruptTime    : %s\n", & Info.TotalInterruptTime);
+       printf           ("  TotalInterrupts       : %ld\n", Info.TotalInterrupts);
+       printf           ("  Unused                : %08x\n", Info.Unused);
 
        return EXIT_SUCCESS;
 }
@@ -969,18 +931,14 @@ CMD_DEF(ProcessorTime)
  * NOTE
  *     Class 9.
  */
-CMD_DEF(NtGlobalFlag)
+CMD_DEF(9)
 {
-       NTSTATUS                Status;
-       SYSTEM_GLOBAL_FLAG_INFO Info;
-       ULONG                   Length = 0;
+       NTSTATUS                        Status;
+       SYSTEM_FLAGS_INFORMATION        Info;
+       ULONG                           Length = 0;
        
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemNtGlobalFlagInformation:\n");
-       }
        Status = NtQuerySystemInformation (
-                       SystemNtGlobalFlagInformation,
+                       9,
                        & Info,
                        sizeof Info,
                        & Length
@@ -990,7 +948,7 @@ CMD_DEF(NtGlobalFlag)
                PrintStatus (Status);
                return EXIT_FAILURE;
        }
-       printf ("\tNtGlobalFlag: %08x\n", Info.NtGlobalFlag);
+       printf ("  NtGlobalFlag: %08x\n", Info.Flags);
        /* FIXME: decode each flag */
 
        return EXIT_SUCCESS;
@@ -1020,7 +978,7 @@ CMD_NOT_IMPLEMENTED
  *     at http://www.internals.com/, adapted to ReactOS
  *     structures layout.
  */
-CMD_DEF(Module)
+CMD_DEF(11)
 {
        NTSTATUS                        Status = STATUS_SUCCESS;
        PSYSTEM_MODULE_INFORMATION      pInfo = NULL;
@@ -1030,15 +988,11 @@ CMD_DEF(Module)
                "-------- -------- -------- ---------------------------------------\n";
 
 
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemModuleInformation:\n");
-       }
        /*
         *      Obtain required buffer size
         */
        Status = NtQuerySystemInformation (
-                       SystemModuleInformation,
+                       11,
                        & pInfo,
                        0, /* query size */
                        & Length
@@ -1064,7 +1018,7 @@ CMD_DEF(Module)
         *      Get module list from ntoskrnl.exe
         */
        Status = NtQuerySystemInformation (
-                       SystemModuleInformation,
+                       11,
                        pInfo,
                        Length,
                        & Length
@@ -1105,7 +1059,7 @@ CMD_DEF(Module)
  * NOTE
  *     Class 12.
  */
-CMD_DEF(ResourceLock)
+CMD_DEF(12)
 {
        NTSTATUS                        Status = STATUS_SUCCESS;
        PSYSTEM_RESOURCE_LOCK_INFO      pInfo = NULL;
@@ -1117,15 +1071,11 @@ CMD_DEF(ResourceLock)
        pInfo = GlobalAlloc (GMEM_ZEROINIT, BUFFER_SIZE_DEFAULT);
        /* FIXME: check NULL==pInfo */
 
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemResourceLockInformation:\n");
-       }
        /*
         *      Obtain required buffer size
         */
        Status = NtQuerySystemInformation (
-                       SystemResourceLockInformation,
+                       12,
                        pInfo,
                        BUFFER_SIZE_DEFAULT, /* query size */
                        & Length
@@ -1155,7 +1105,7 @@ CMD_DEF(ResourceLock)
         *      Get locked resource list from ntoskrnl.exe
         */
        Status = NtQuerySystemInformation (
-                       SystemResourceLockInformation,
+                       12,
                        pInfo,
                        Length,
                        & Length
@@ -1233,7 +1183,7 @@ CMD_NOT_IMPLEMENTED
  *     Class 16. You can not pass 0 as the initial output buffer's
  *     size to get back the needed buffer size.
  */
-CMD_DEF(Handle)
+CMD_DEF(16)
 {
        NTSTATUS                        Status = STATUS_SUCCESS;
        PSYSTEM_HANDLE_INFORMATION      pInfo = NULL;
@@ -1245,15 +1195,11 @@ CMD_DEF(Handle)
 
        pInfo = GlobalAlloc (GMEM_ZEROINIT, BUFFER_SIZE_DEFAULT);
 
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemHandleInformation:\n");
-       }
        /*
         *      Obtain required buffer size
         */
        Status = NtQuerySystemInformation (
-                       SystemHandleInformation,
+                       16,
                        pInfo,
                        BUFFER_SIZE_DEFAULT,
                        & Length
@@ -1283,7 +1229,7 @@ CMD_DEF(Handle)
         *      Get handle table from ntoskrnl.exe
         */
        Status = NtQuerySystemInformation (
-                       SystemHandleInformation,
+                       16,
                        pInfo,
                        Length,
                        & Length
@@ -1332,7 +1278,7 @@ CMD_DEF(Handle)
  * NOTE
  *     Class 17.
  */
-CMD_DEF(Object)
+CMD_DEF(17)
 CMD_NOT_IMPLEMENTED
 
 
@@ -1343,7 +1289,7 @@ CMD_NOT_IMPLEMENTED
  * NOTE
  *     Class 18.
  */
-CMD_DEF(PageFile)
+CMD_DEF(18)
 {
        NTSTATUS                        Status;
        PSYSTEM_PAGEFILE_INFORMATION    pInfo = NULL;
@@ -1352,12 +1298,8 @@ CMD_DEF(PageFile)
        pInfo = GlobalAlloc (GMEM_ZEROINIT, BUFFER_SIZE_DEFAULT);
        /* FIXME: check pInfo */
        
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemPageFileInformation:\n");
-       }
        Status = NtQuerySystemInformation(
-                       SystemPageFileInformation,
+                       18,
                        pInfo,
                        BUFFER_SIZE_DEFAULT,
                        & Length
@@ -1384,7 +1326,7 @@ CMD_DEF(PageFile)
                }
        }
        Status = NtQuerySystemInformation (
-                       SystemPageFileInformation,
+                       18,
                        pInfo,
                        Length,
                        & Length
@@ -1398,14 +1340,11 @@ CMD_DEF(PageFile)
 
        while (1)
        {
-               wprintf (L"\t\"%s\":\n", pInfo->PagefileFileName.Buffer);
-               if (Application.Flag.Verbose)
-               {
-                       wprintf (L"\t\tRelativeOffset   = %08x\n", pInfo->RelativeOffset);
-               }
-               wprintf (L"\t\tCurrentSizePages = %ld\n", pInfo->CurrentSizePages);
-               wprintf (L"\t\tTotalUsedPages   = %ld\n", pInfo->TotalUsedPages);
-               wprintf (L"\t\tPeakUsedPages    = %ld\n", pInfo->PeakUsedPages);
+               wprintf (L"  \"%s\":\n", pInfo->PagefileFileName.Buffer);
+               wprintf (L"\tRelativeOffset   %08x\n", pInfo->RelativeOffset);
+               wprintf (L"\tCurrentSizePages %ld\n", pInfo->CurrentSizePages);
+               wprintf (L"\tTotalUsedPages   %ld\n", pInfo->TotalUsedPages);
+               wprintf (L"\tPeakUsedPages    %ld\n", pInfo->PeakUsedPages);
 
                if (0 == pInfo->RelativeOffset)
                {
@@ -1430,18 +1369,14 @@ CMD_DEF(PageFile)
  * NOTE
  *     Class 19.
  */
-CMD_DEF(InstructionEmulation)
+CMD_DEF(19)
 {
        NTSTATUS                Status;
        SYSTEM_VDM_INFORMATION  Info;
 
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemInstructionEmulationInfo:\n");
-       }
        RtlZeroMemory (& Info, sizeof Info);
        Status = NtQuerySystemInformation (
-                       SystemInstructionEmulationInfo,
+                       19,
                        & Info,
                        sizeof Info,
                        NULL
@@ -1451,40 +1386,40 @@ CMD_DEF(InstructionEmulation)
                PrintStatus (Status);
                return EXIT_FAILURE;
        }
-       printf ("\tVdmSegmentNotPresentCount = %ld\n", Info.VdmSegmentNotPresentCount);
-       printf ("\tVdmINSWCount              = %ld\n", Info.VdmINSWCount);
-       printf ("\tVdmESPREFIXCount          = %ld\n", Info.VdmESPREFIXCount);
-       printf ("\tVdmCSPREFIXCount          = %ld\n", Info.VdmCSPREFIXCount);
-       printf ("\tVdmSSPREFIXCount          = %ld\n", Info.VdmSSPREFIXCount);
-       printf ("\tVdmDSPREFIXCount          = %ld\n", Info.VdmDSPREFIXCount);
-       printf ("\tVdmFSPREFIXCount          = %ld\n", Info.VdmFSPREFIXCount);
-       printf ("\tVdmGSPREFIXCount          = %ld\n", Info.VdmGSPREFIXCount);
-       printf ("\tVdmOPER32PREFIXCount      = %ld\n", Info.VdmOPER32PREFIXCount);
-       printf ("\tVdmADDR32PREFIXCount      = %ld\n", Info.VdmADDR32PREFIXCount);
-       printf ("\tVdmINSBCount              = %ld\n", Info.VdmINSBCount);
-       printf ("\tVdmINSWV86Count           = %ld\n", Info.VdmINSWV86Count);
-       printf ("\tVdmOUTSBCount             = %ld\n", Info.VdmOUTSBCount);
-       printf ("\tVdmOUTSWCount             = %ld\n", Info.VdmOUTSWCount);
-       printf ("\tVdmPUSHFCount             = %ld\n", Info.VdmPUSHFCount);
-       printf ("\tVdmPOPFCount              = %ld\n", Info.VdmPOPFCount);
-       printf ("\tVdmINTNNCount             = %ld\n", Info.VdmINTNNCount);
-       printf ("\tVdmINTOCount              = %ld\n", Info.VdmINTOCount);
-       printf ("\tVdmIRETCount              = %ld\n", Info.VdmIRETCount);
-       printf ("\tVdmINBIMMCount            = %ld\n", Info.VdmINBIMMCount);
-       printf ("\tVdmINWIMMCount            = %ld\n", Info.VdmINWIMMCount);
-       printf ("\tVdmOUTBIMMCount           = %ld\n", Info.VdmOUTBIMMCount);
-       printf ("\tVdmOUTWIMMCount           = %ld\n", Info.VdmOUTWIMMCount);
-       printf ("\tVdmINBCount               = %ld\n", Info.VdmINBCount);
-       printf ("\tVdmINWCount               = %ld\n", Info.VdmINWCount);
-       printf ("\tVdmOUTBCount              = %ld\n", Info.VdmOUTBCount);
-       printf ("\tVdmOUTWCount              = %ld\n", Info.VdmOUTWCount);
-       printf ("\tVdmLOCKPREFIXCount        = %ld\n", Info.VdmLOCKPREFIXCount);
-       printf ("\tVdmREPNEPREFIXCount       = %ld\n", Info.VdmREPNEPREFIXCount);
-       printf ("\tVdmREPPREFIXCount         = %ld\n", Info.VdmREPPREFIXCount);
-       printf ("\tVdmHLTCount               = %ld\n", Info.VdmHLTCount);
-       printf ("\tVdmCLICount               = %ld\n", Info.VdmCLICount);
-       printf ("\tVdmSTICount               = %ld\n", Info.VdmSTICount);
-       printf ("\tVdmBopCount               = %ld\n", Info.VdmBopCount);
+       printf ("  VdmSegmentNotPresentCount = %ld\n", Info.VdmSegmentNotPresentCount);
+       printf ("  VdmINSWCount              = %ld\n", Info.VdmINSWCount);
+       printf ("  VdmESPREFIXCount          = %ld\n", Info.VdmESPREFIXCount);
+       printf ("  VdmCSPREFIXCount          = %ld\n", Info.VdmCSPREFIXCount);
+       printf ("  VdmSSPREFIXCount          = %ld\n", Info.VdmSSPREFIXCount);
+       printf ("  VdmDSPREFIXCount          = %ld\n", Info.VdmDSPREFIXCount);
+       printf ("  VdmFSPREFIXCount          = %ld\n", Info.VdmFSPREFIXCount);
+       printf ("  VdmGSPREFIXCount          = %ld\n", Info.VdmGSPREFIXCount);
+       printf ("  VdmOPER32PREFIXCount      = %ld\n", Info.VdmOPER32PREFIXCount);
+       printf ("  VdmADDR32PREFIXCount      = %ld\n", Info.VdmADDR32PREFIXCount);
+       printf ("  VdmINSBCount              = %ld\n", Info.VdmINSBCount);
+       printf ("  VdmINSWV86Count           = %ld\n", Info.VdmINSWV86Count);
+       printf ("  VdmOUTSBCount             = %ld\n", Info.VdmOUTSBCount);
+       printf ("  VdmOUTSWCount             = %ld\n", Info.VdmOUTSWCount);
+       printf ("  VdmPUSHFCount             = %ld\n", Info.VdmPUSHFCount);
+       printf ("  VdmPOPFCount              = %ld\n", Info.VdmPOPFCount);
+       printf ("  VdmINTNNCount             = %ld\n", Info.VdmINTNNCount);
+       printf ("  VdmINTOCount              = %ld\n", Info.VdmINTOCount);
+       printf ("  VdmIRETCount              = %ld\n", Info.VdmIRETCount);
+       printf ("  VdmINBIMMCount            = %ld\n", Info.VdmINBIMMCount);
+       printf ("  VdmINWIMMCount            = %ld\n", Info.VdmINWIMMCount);
+       printf ("  VdmOUTBIMMCount           = %ld\n", Info.VdmOUTBIMMCount);
+       printf ("  VdmOUTWIMMCount           = %ld\n", Info.VdmOUTWIMMCount);
+       printf ("  VdmINBCount               = %ld\n", Info.VdmINBCount);
+       printf ("  VdmINWCount               = %ld\n", Info.VdmINWCount);
+       printf ("  VdmOUTBCount              = %ld\n", Info.VdmOUTBCount);
+       printf ("  VdmOUTWCount              = %ld\n", Info.VdmOUTWCount);
+       printf ("  VdmLOCKPREFIXCount        = %ld\n", Info.VdmLOCKPREFIXCount);
+       printf ("  VdmREPNEPREFIXCount       = %ld\n", Info.VdmREPNEPREFIXCount);
+       printf ("  VdmREPPREFIXCount         = %ld\n", Info.VdmREPPREFIXCount);
+       printf ("  VdmHLTCount               = %ld\n", Info.VdmHLTCount);
+       printf ("  VdmCLICount               = %ld\n", Info.VdmCLICount);
+       printf ("  VdmSTICount               = %ld\n", Info.VdmSTICount);
+       printf ("  VdmBopCount               = %ld\n", Info.VdmBopCount);
 
        return EXIT_SUCCESS;
 }
@@ -1508,21 +1443,17 @@ CMD_NOT_IMPLEMENTED
  * NOTE
  *     Class 21.
  */
-CMD_DEF(Cache)
+CMD_DEF(21)
 {
        NTSTATUS                        Status;
        SYSTEM_CACHE_INFORMATION        Si;
        
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemCacheInformation:\n");
-       }
        RtlZeroMemory (
                (PVOID) & Si,
                sizeof Si
                );
        Status = NtQuerySystemInformation (
-                       SystemCacheInformation,
+                       21,
                        & Si,
                        sizeof Si,
                        0
@@ -1553,7 +1484,7 @@ CMD_DEF(Cache)
  * NOTE
  *     Class 22.
  */
-CMD_DEF(PoolTag)
+CMD_DEF(22)
 {
        NTSTATUS                Status;
        PSYSTEM_POOL_TAG_INFO   pInfo = NULL;
@@ -1563,12 +1494,8 @@ CMD_DEF(PoolTag)
        pInfo = GlobalAlloc (GMEM_ZEROINIT, BUFFER_SIZE_DEFAULT);
        /* FIXME: check pInfo */
        
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemPoolTagInformation:\n");
-       }
        Status = NtQuerySystemInformation(
-                       SystemPoolTagInformation,
+                       22,
                        pInfo,
                        BUFFER_SIZE_DEFAULT,
                        & Length
@@ -1595,7 +1522,7 @@ CMD_DEF(PoolTag)
                }
        }
        Status = NtQuerySystemInformation (
-                       SystemPoolTagInformation,
+                       22,
                        pInfo,
                        Length,
                        & Length
@@ -1646,21 +1573,17 @@ CMD_DEF(PoolTag)
  * NOTE
  *     Class 23.
  */
-CMD_DEF(ProcessorSchedule)
+CMD_DEF(23)
 {
        NTSTATUS                        Status;
        SYSTEM_PROCESSOR_SCHEDULE_INFO  Info;
 
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemProcessorScheduleInfo:\n");
-       }
        RtlZeroMemory (
                & Info,
                sizeof Info
                );
        Status = NtQuerySystemInformation (
-                       SystemProcessorScheduleInfo,
+                       23,
                        & Info,
                        sizeof Info,
                        NULL
@@ -1692,21 +1615,17 @@ CMD_DEF(ProcessorSchedule)
  * NOTE
  *     Class 24.
  */
-CMD_DEF(Dpc)
+CMD_DEF(24)
 {
        NTSTATUS                Status;
        SYSTEM_DPC_INFORMATION  Info;
 
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemDpcInformation:\n");
-       }
        RtlZeroMemory (
                & Info,
                sizeof Info
                );
        Status = NtQuerySystemInformation (
-                       SystemDpcInformation,
+                       24,
                        & Info,
                        sizeof Info,
                        NULL
@@ -1750,7 +1669,7 @@ CMD_NOT_IMPLEMENTED
  * NOTE
  *     Class 26.
  */
-INT CMD_LoadImage (INT argc, LPCSTR argv [])
+CMD_DEF(26)
 CMD_NOT_IMPLEMENTED
 
 /**********************************************************************
@@ -1760,7 +1679,7 @@ CMD_NOT_IMPLEMENTED
  * NOTE
  *     Class 27.
  */
-CMD_DEF(UnloadImage)
+CMD_DEF(27)
 CMD_NOT_IMPLEMENTED
 
 
@@ -1771,18 +1690,14 @@ CMD_NOT_IMPLEMENTED
  * NOTE
  *     Class 28.
  */
-CMD_DEF(TimeAdjustment)
+CMD_DEF(28)
 {
        NTSTATUS                        Status = STATUS_SUCCESS;
        SYSTEM_TIME_ADJUSTMENT_INFO     Info;
 
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemTimeAdjustmentInformation:\n");
-       }
        RtlZeroMemory (& Info, sizeof Info);
        Status = NtQuerySystemInformation (
-                       SystemTimeAdjustmentInformation,
+                       28,
                        & Info,
                        sizeof Info,
                        0
@@ -1840,7 +1755,7 @@ CMD_NOT_IMPLEMENTED
  * NOTE
  *     Class 32.
  */
-CMD_DEF(CrashDumpSection)
+CMD_DEF(32)
 CMD_NOT_IMPLEMENTED
 
 
@@ -1851,7 +1766,7 @@ CMD_NOT_IMPLEMENTED
  * NOTE
  *     Class 33.
  */
-CMD_DEF(ProcessorFaultCount)
+CMD_DEF(33)
 CMD_NOT_IMPLEMENTED
 
 
@@ -1862,7 +1777,7 @@ CMD_NOT_IMPLEMENTED
  * NOTE
  *     Class 34.
  */
-CMD_DEF(CrashDumpState)
+CMD_DEF(34)
 CMD_NOT_IMPLEMENTED
 
 
@@ -1873,14 +1788,14 @@ CMD_NOT_IMPLEMENTED
  * NOTE
  *     Class 35.
  */
-CMD_DEF(Debugger)
+CMD_DEF(35)
 {
        NTSTATUS                Status;
        SYSTEM_DEBUGGER_INFO    Info;
 
        RtlZeroMemory (& Info, sizeof Info);
        Status = NtQuerySystemInformation (
-                       SystemDebuggerInformation,
+                       35,
                        & Info,
                        sizeof Info,
                        NULL
@@ -1906,7 +1821,7 @@ CMD_DEF(Debugger)
  * NOTE
  *     Class 36.
  */
-CMD_DEF(ThreadSwitchCounters)
+CMD_DEF(36)
 CMD_NOT_IMPLEMENTED
 
 
@@ -1917,18 +1832,14 @@ CMD_NOT_IMPLEMENTED
  * NOTE
  *     Class 37.
  */
-CMD_DEF(Quota)
+CMD_DEF(37)
 {
        NTSTATUS                        Status = STATUS_SUCCESS;
        SYSTEM_QUOTA_INFORMATION        Info;
 
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemQuotaInformation:\n");
-       }
        RtlZeroMemory (& Info, sizeof Info);
        Status = NtQuerySystemInformation (
-                       SystemQuotaInformation,
+                       37,
                        & Info,
                        sizeof Info,
                        0
@@ -1953,7 +1864,7 @@ CMD_DEF(Quota)
  * NOTE
  *     Class 38.
  */
-CMD_DEF(LoadDriver)
+CMD_DEF(38)
 CMD_NOT_IMPLEMENTED
 
 
@@ -1964,7 +1875,7 @@ CMD_NOT_IMPLEMENTED
  * NOTE
  *     Class 39.
  */
-CMD_DEF(PrioritySeparation)
+CMD_DEF(39)
 CMD_NOT_IMPLEMENTED
 
 
@@ -2020,17 +1931,13 @@ CMD_NOT_IMPLEMENTED
  * NOTE
  *     Class 44.
  */
-CMD_DEF(TimeZone)
+CMD_DEF(44)
 {
 #if 0
        NTSTATUS                        Status;
        TIME_ZONE_INFORMATION           Tzi;
        WCHAR                           Name [33];
 
-       if (Application.Flag.Verbose)
-       {
-               printf ("SystemTimeZoneInformation:\n");
-       }
        RtlZeroMemory (& Tzi, sizeof Tzi);
        Status = NtQuerySystemInformation(
                        SystemTimeZoneInformation,
@@ -2100,7 +2007,6 @@ CMD_DEF(TimeZone)
                "\tBias: %d'\n",
                Tzi.DaylightBias /* LONG */ 
                );
-
 #endif
        return EXIT_SUCCESS;
 }
@@ -2113,7 +2019,95 @@ CMD_DEF(TimeZone)
  * NOTE
  *     Class 45.
  */
-CMD_DEF(Lookaside)
+CMD_DEF(45)
+CMD_NOT_IMPLEMENTED
+
+
+/**********************************************************************
+ * 
+ * DESCRIPTION
+ *
+ * NOTE
+ *     Class 46.
+ */
+CMD_DEF(46)
+CMD_NOT_IMPLEMENTED
+
+
+/**********************************************************************
+ * 
+ * DESCRIPTION
+ *
+ * NOTE
+ *     Class 47.
+ */
+CMD_DEF(47)
+CMD_NOT_IMPLEMENTED
+
+
+/**********************************************************************
+ * 
+ * DESCRIPTION
+ *
+ * NOTE
+ *     Class 48.
+ */
+CMD_DEF(48)
+CMD_NOT_IMPLEMENTED
+
+
+/**********************************************************************
+ * 
+ * DESCRIPTION
+ *
+ * NOTE
+ *     Class 49.
+ */
+CMD_DEF(49)
+CMD_NOT_IMPLEMENTED
+
+
+/**********************************************************************
+ * 
+ * DESCRIPTION
+ *
+ * NOTE
+ *     Class 50.
+ */
+CMD_DEF(50)
+CMD_NOT_IMPLEMENTED
+
+
+/**********************************************************************
+ * 
+ * DESCRIPTION
+ *
+ * NOTE
+ *     Class 51.
+ */
+CMD_DEF(51)
+CMD_NOT_IMPLEMENTED
+
+
+/**********************************************************************
+ * 
+ * DESCRIPTION
+ *
+ * NOTE
+ *     Class 52.
+ */
+CMD_DEF(52)
+CMD_NOT_IMPLEMENTED
+
+
+/**********************************************************************
+ * 
+ * DESCRIPTION
+ *
+ * NOTE
+ *     Class 53.
+ */
+CMD_DEF(53)
 CMD_NOT_IMPLEMENTED
 
 
@@ -2129,7 +2123,8 @@ CMD_DEF(ver)
        printf (
        "ReactOS Operating System - http://www.reactos.com/\n"
        "QSI - Query System Information (compiled on %s, %s)\n"
-       "Copyright (c) 1999, 2000 Emanuele Aliberti et alii\n\n",
+       "Copyright (c) 1999-2001 Emanuele Aliberti et alii\n\n"
+       "Run the command in verbose mode, for full license information.\n\n",
        __DATE__, __TIME__
        );
 
@@ -2251,234 +2246,275 @@ Commands [] =
        
        {                                               /* 0  Q  */
                "basic",
-               CMD_REF(Basic),
+               CMD_REF(0),
                "Basic system information"
        },
        {                                               /* 1  Q  */
                "processor",    
-               CMD_REF(Processor),
+               CMD_REF(1),
                "Processor characteristics"
        },
        {                                               /* 2  Q  */
                "perf", 
-               CMD_REF(Performance),
+               CMD_REF(2),
                "System performance data"
        },
        {                                               /* 3  Q  */
                "time",
-               CMD_REF(Time),
+               CMD_REF(3),
                "System times"
        },
-       {                                               /* 4  Q  */
+       {                                               /* 4  Q  (checked build only) */
                "path",
-               CMD_REF(Path),
-               "unknown"
+               CMD_REF(4),
+               "Path (checked build only)"
        },
        {                                               /* 5  Q  */
                "process",
-               CMD_REF(Process),
+               CMD_REF(5),
                "Process & thread tables"
        },
        {                                               /* 6  Q  */
-               "sdt",
-               CMD_REF(ServiceDescriptorTable),
-               "Service descriptor table (SDT)"
+               "callcount",
+               CMD_REF(6),
+               "Call count information"
        },
        {                                               /* 7  Q  */
-               "ioconfig",
-               CMD_REF(IoConfig),
+               "device",
+               CMD_REF(7),
                "I/O devices in the system, by class"
        },
        {                                               /* 8  Q  */
-               "proctime",
-               CMD_REF(ProcessorTime),
-               "Print processor times"
+               "performance",
+               CMD_REF(8),
+               "Processor performance"
        },
        {                                               /* 9  QS */
-               "flag",
-               CMD_REF(NtGlobalFlag),
-               "Print the system wide flags"
+               "flags",
+               CMD_REF(9),
+               "System wide flags"
        },
        {                                               /* 10    */
-               "#10",
+               "call",
                CMD_REF(10),
-               "UNKNOWN"
+               "Call time"
        },
        {                                               /* 11 Q  */
                "module",
-               CMD_REF(Module),
+               CMD_REF(11),
                "Table of kernel modules"
        },
        {                                               /* 12 Q  */
-               "reslock",
-               CMD_REF(ResourceLock),
+               "locks",
+               CMD_REF(12),
                "Table of locks on resources"
        },
        {                                               /* 13    */
-               "#13",
+               "stack",
                CMD_REF(13),
-               "UNKNOWN"
+               "Stack trace"
        },
        {                                               /* 14    */
-               "#14",
+               "ppool",
                CMD_REF(14),
-               "UNKNOWN"
+               "Paged pool"
        },
        {                                               /* 15    */
-               "#15",
+               "nppool",
                CMD_REF(15),
-               "UNKNOWN"
+               "Non paged pool"
        },
        {                                               /* 16 Q  */
                "handle",
-               CMD_REF(Handle),
-               "Table of handles (Ps Manager)"
+               CMD_REF(16),
+               "Table of handles"
        },
        {                                               /* 17 Q  */
                "object",
-               CMD_REF(Object),
-               "Table of objects (Ob Manager)"
+               CMD_REF(17),
+               "Table of executive objects"
        },
        {                                               /* 18 Q  */
                "pagefile",
-               CMD_REF(PageFile),
-               "Virtual memory paging files (Cc Subsystem)"
+               CMD_REF(18),
+               "Virtual memory paging files"
        },
        {                                               /* 19 Q  */
-               "emulation",
-               CMD_REF(InstructionEmulation),
+               "vdmie",
+               CMD_REF(19),
                "Virtual DOS Machine instruction emulation (VDM)"
        },
        {                                               /* 20    */
-               "#20",
+               "vdmbop",
                CMD_REF(20),
-               "UNKNOWN"
+               "Bop (VDM)"
        },
        {                                               /* 21 QS */
                "cache",        
-               CMD_REF(Cache),
-               "Cache Manager Status"
+               CMD_REF(21),
+               "File cache"
        },
        {                                               /* 22 Q  */
                "pooltag",
-               CMD_REF(PoolTag),
+               CMD_REF(22),
                "Tagged pools statistics (checked build only)"
        },
        {                                               /* 23 Q  */
-               "procsched",
-               CMD_REF(ProcessorSchedule),
-               "Processor schedule information"
+               "int",
+               CMD_REF(23),
+               "Processor schedule information (interrupt)"
        },
        {                                               /* 24 QS */
                "dpc",
-               CMD_REF(Dpc),
-               "Deferred procedure call (DPC)"
+               CMD_REF(24),
+               "Deferred procedure call behaviour (DPC)"
        },
        {                                               /* 25    */
-               "#25",
+               "fullmem",
                CMD_REF(25),
-               "UNKNOWN"
+               "Full memory"
        },
        {                                               /* 26 S (callable) */
                "loadpe",
-               CMD_REF(LoadImage),
-               "Load a kernel mode DLL (in PE format)"
+               CMD_REF(26),
+               "Load a kernel mode DLL (module in PE format)"
        },
        {                                               /* 27 S (callable) */
                "unloadpe",
-               CMD_REF(UnloadImage),
-               "Unload a kernel mode DLL (module)"
+               CMD_REF(27),
+               "Unload a kernel mode DLL (module in Pe format)"
        },
        {                                               /* 28 QS */
                "timeadj",
-               CMD_REF(TimeAdjustment),
+               CMD_REF(28),
                "Time adjustment"
        },
        {                                               /* 29    */
-               "#29",
+               "smem",
                CMD_REF(29),
-               "UNKNOWN"
+               "Summary memory"
        },
        {                                               /* 30    */
-               "#30",
+               "event",
                CMD_REF(30),
-               "UNKNOWN"
+               "Next event ID"
        },
        {                                               /* 31    */
-               "#31",
+               "events",
                CMD_REF(31),
-               "UNKNOWN"
+               "Event IDs"
        },
        {                                               /* 32 Q  */
-               "crashsect",
-               CMD_REF(CrashDumpSection),
+               "crash",
+               CMD_REF(32),
                "Crash Dump Section"
        },
        {                                               /* 33 Q  */
-               "procfault",
-               CMD_REF(ProcessorFaultCount),
-               "Processor fault count"
+               "exceptions",
+               CMD_REF(33),
+               "Exceptions"
        },
        {                                               /* 34 Q  */
                "crashstate",
-               CMD_REF(CrashDumpState),
+               CMD_REF(34),
                "Crash Dump State"
        },
        {                                               /* 35 Q  */
                "debugger",
-               CMD_REF(Debugger),
-               "System debugger"
+               CMD_REF(35),
+               "Kernel debugger"
        },
        {                                               /* 36 Q  */
-               "threadsw",
-               CMD_REF(ThreadSwitchCounters),
-               "Thread switch counters"
+               "cswitch",
+               CMD_REF(36),
+               "Thread context switch counters"
        },
        {                                               /* 37 QS */
-               "quota",
-               CMD_REF(Quota),
-               "System quota values"
+               "regquota",
+               CMD_REF(37),
+               "Registry quota values"
        },
        {                                               /* 38 S  */
-               "loaddrv",
-               CMD_REF(LoadDriver),
-               "Load kernel driver (SYS)"
+               "est",
+               CMD_REF(38),
+               "Extended service table"
        },
        {                                               /* 39 S  */
                "prisep",
-               CMD_REF(PrioritySeparation),
+               CMD_REF(39),
                "Priority Separation"
        },
        {                                               /* 40    */
-               "#40",
+               "ppbus",
                CMD_REF(40),
-               "UNKNOWN"
+               "Plug & play bus"
        },
        {                                               /* 41    */
-               "#41",
+               "dock",
                CMD_REF(41),
-               "UNKNOWN"
+               "Dock"
        },
        {                                               /* 42    */
-               "#42",
+               "power",
                CMD_REF(42),
-               "UNKNOWN"
+               "Power"
        },
        {                                               /* 43    */
-               "#43",
+               "procspeed",
                CMD_REF(43),
-               "UNKNOWN"
+               "Processor speed"
        },
        {                                               /* 44 QS */
                "tz",
-               CMD_REF(TimeZone),
-               "Time zone (TZ) information"
+               CMD_REF(44),
+               "Current time zone (TZ)"
        },
        {                                               /* 45 Q  */
                "lookaside",
-               CMD_REF(Lookaside),
+               CMD_REF(45),
                "Lookaside"
        },
+       /* NT5 */
+       {                                               /* 46 Q  */
+               "tslip",
+               CMD_REF(46),
+               "Set time slip (5.0)"
+       },
+       {                                               /* 47 Q  */
+               "csession",
+               CMD_REF(47),
+               "Create session (5.0)"
+       },
+       {                                               /* 48 Q  */
+               "dsession",
+               CMD_REF(48),
+               "Delete session (5.0)"
+       },
+       {                                               /* 49 Q  */
+               "#49",
+               CMD_REF(49),
+               "UNKNOWN (5.0)"
+       },
+       {                                               /* 50 Q  */
+               "range",
+               CMD_REF(50),
+               "Range start (5.0)"
+       },
+       {                                               /* 51 Q  */
+               "verifier",
+               CMD_REF(51),
+               "Verifier (5.0)"
+       },
+       {                                               /* 52 Q  */
+               "addverif",
+               CMD_REF(52),
+               "Add verifier (5.0)"
+       },
+       {                                               /* 53 Q  */
+               "sesproc",
+               CMD_REF(53),
+               "Session processes (5.0)"
+       },
 /* User commands */
        {
                "?",
index 7d6a1a0..e6c804c 100644 (file)
@@ -22,7 +22,7 @@
                                                        _T("This is free software, and you are welcome to redistribute it\n")\
                                                        _T("under certain conditions; type `help gpl' for details.\n")
 
-#define COPYRIGHT_MSG          _T("Copyright (C) 2000 Nedko Arnaoudov\n")
+#define COPYRIGHT_MSG          _T("Copyright (C) 2000-2001 Nedko Arnaoudov\n")
 
 #define CREDITS_MSG                    _T("Registry Explorer is written by Nedko Arnaoudov\n")\
                                                        _T("Special thanks to Emanuele Aliberti\n")
diff --git a/rosapps/sysutils/regnav.c b/rosapps/sysutils/regnav.c
deleted file mode 100644 (file)
index 885fa77..0000000
+++ /dev/null
@@ -1,635 +0,0 @@
-/* $Id: regnav.c,v 1.4 2000/09/11 20:17:02 ea Exp $
- * 
- * regnav.c
- * 
- * Copyright (c) 1998-2000 Emanuele Aliberti
- * 
- * --------------------------------------------------------------------
- *
- * This software is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This software 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this software; see the file COPYING.LIB. If
- * not, write to the Free Software Foundation, Inc., 675 Mass Ave,
- * Cambridge, MA 02139, USA.  
- *
- * --------------------------------------------------------------------
- * ReactOS system registry console navigation tool.
- */
-//#define UNICODE
-#include <windows.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <tchar.h>
-#include <assert.h>
-#include "win32err.h"
-
-#define INPUT_BUFFER_SIZE      512
-#define COMMAND_NOT_FOUND      NULL
-#define CURRENT_PATH_SIZE      1024
-
-LPCTSTR STR_HKEY_CLASSES_ROOT          = _TEXT("HKEY_CLASSES_ROOT");
-LPCTSTR STR_HKEY_CURRENT_USER          = _TEXT("HKEY_CURRENT_USER");
-LPCTSTR STR_HKEY_LOCAL_MACHINE         = _TEXT("HKEY_LOCAL_MACHINE");
-LPCTSTR STR_HKEY_USERS                 = _TEXT("HKEY_USERS");
-LPCTSTR STR_HKEY_CURRENT_CONFIG                = _TEXT("HKEY_CURRENT_CONFIG");
-LPCTSTR STR_HKEY_PERFORMANCE_DATA      = _TEXT("HKEY_PERFORMANCE_DATA");
-
-
-LPTSTR app_name = _TEXT("regnav");
-LPCTSTR        app_ver = _TEXT("1.0.5");
-HANDLE CurrentWorkingKey = INVALID_HANDLE_VALUE;       /* \ */
-TCHAR  CurrentPath [CURRENT_PATH_SIZE] = _TEXT("\\");
-BOOL   Done = FALSE;
-INT    LastExitCode = 0;
-
-
-/* ===  COMMANDS  === */
-
-#define CMDPROTOIF (int argc,LPTSTR argv[])
-typedef int (*CommandFunction) CMDPROTOIF;
-#define CMDPROTO(n) int n CMDPROTOIF
-
-
-typedef
-struct _COMMAND_DESCRIPTOR
-{
-       LPCTSTR         Name;
-       LPCTSTR         ShortDescription;
-       LPCTSTR         Usage;
-       CommandFunction Command;
-       int             MinArgc;
-       int             MaxArgc;
-       
-} COMMAND_DESCRIPTOR, * PCOMMAND_DESCRIPTOR;
-
-
-CMDPROTO(cmd_ck);
-CMDPROTO(cmd_exit);
-CMDPROTO(cmd_help);
-CMDPROTO(cmd_ls);
-CMDPROTO(cmd_pwk);
-CMDPROTO(cmd_ver);
-
-
-COMMAND_DESCRIPTOR
-CommandsTable [] =
-{
- {
-       _TEXT("ck"),
-       _TEXT("Change the working key."),
-       _TEXT("CK key\n\nChange the working key."),
-       cmd_ck,
-       1,
-       2
- },
- {
-       _TEXT("exit"),
-       _TEXT("Terminate the application."),
-       _TEXT("EXIT\n\nTerminate the application."),
-       cmd_exit,
-       1,
-       1
- },
- {
-       _TEXT("help"),
-       _TEXT("Print this commands summary, or a command's synopsis."),
-       _TEXT("HELP [command]\n\nPrint commands summary, or a command's synopsis."),
-       cmd_help,
-       1,
-       2
- },
- {
-       _TEXT("ls"),
-       _TEXT("List a key's values and subkeys."),
-       _TEXT("LS [key]\n\nList a key's values and subkeys."),
-       cmd_ls,
-       1,
-       2
- },
- {
-       _TEXT("pwk"),
-       _TEXT("Print the current working key."),
-       _TEXT("PWK\n\nPrint the current working key."),
-       cmd_pwk,
-       1,
-       1
- },
- {
-       _TEXT("ver"),
-       _TEXT("Print version information."),
-       _TEXT("VER\n\nPrint version information."),
-       cmd_ver,
-       1,
-       1
- },
- /* End of array marker */
- { NULL }
-};
-
-
-/* ===  CMD MANAGER  === */
-
-
-PCOMMAND_DESCRIPTOR
-DecodeVerb( LPCTSTR Name )
-{
-       register int i;
-
-       for (   i = 0;
-               CommandsTable[i].Name;
-               ++i
-               )
-       {
-               if (0 == lstrcmpi(CommandsTable[i].Name,Name))
-               {
-                       return & CommandsTable[i];
-               }
-       }
-       return COMMAND_NOT_FOUND;
-}
-
-/* === Visual key name manager */
-
-typedef
-struct _SPLIT_KEY_NAME
-{
-       TCHAR   Host [32];
-       HANDLE  Hive;
-       TCHAR   SubKey [_MAX_PATH];
-       
-} SPLIT_KEY_NAME, * PSPLIT_KEY_NAME;
-
-
-PSPLIT_KEY_NAME
-ParseKeyName(
-       LPTSTR          KeyName,
-       PSPLIT_KEY_NAME k
-       )
-{
-       TCHAR *r = KeyName;
-       TCHAR *w = NULL;
-       TCHAR SystemKey [64];
-
-       assert(r && k);
-       ZeroMemory( k, sizeof (SPLIT_KEY_NAME) );
-       k->Hive = INVALID_HANDLE_VALUE;
-       /* HOST */
-       if (r[0] == _TEXT('\\') && r[1] == _TEXT('\\'))
-       {
-               for (   r += 2, w = k->Host;
-                       (*r && (*r != _TEXT('\\')));
-                       ++r
-               ) {
-                       *w++ = *r;
-               }
-               if (w) *w = _TEXT('\0');
-       }
-       /* SYSTEM KEY */
-       if (*r == _TEXT('\\')) ++r;
-       for (   w = SystemKey;
-               (*r && (*r != _TEXT('\\')));
-               ++r
-       ) {
-               *w++ = *r;
-       }
-       if (w) *w = _TEXT('\0');
-       if (0 == lstrcmpi(STR_HKEY_CLASSES_ROOT, SystemKey))
-       {
-               k->Hive = HKEY_CLASSES_ROOT;
-       }
-       else if (0 == lstrcmpi(STR_HKEY_CURRENT_USER, SystemKey))
-       {
-               k->Hive = HKEY_CURRENT_USER;
-       }
-       else if (0 == lstrcmpi(STR_HKEY_LOCAL_MACHINE, SystemKey))
-       {
-               k->Hive = HKEY_LOCAL_MACHINE;
-       }
-       else if (0 == lstrcmpi(STR_HKEY_USERS, SystemKey))
-       {
-               k->Hive = HKEY_USERS;
-       }
-       else if (0 == lstrcmpi(STR_HKEY_CURRENT_CONFIG, SystemKey))
-       {
-               k->Hive = HKEY_CURRENT_CONFIG;
-       }
-       else if (0 == lstrcmpi(STR_HKEY_PERFORMANCE_DATA, SystemKey))
-       {
-               k->Hive = HKEY_PERFORMANCE_DATA;
-       }
-       /* SUBKEY */
-       if (*r == _TEXT('\\')) ++r;
-       for (   w = k->SubKey;
-               (*r);
-               ++r
-       ) {
-               *w++ = *r;
-       }
-       if (w) *w = _TEXT('\0');
-       /* OK */
-       return k;
-}
-
-/* === COMMANDS === */
-
-
-/**********************************************************************
- *     ck
- *
- * DESCRIPTION
- *     Change the current working key.
- */
-CMDPROTO(cmd_ck)
-{
-       LONG            rv;
-       SPLIT_KEY_NAME  k;
-
-       if (0 == lstrcmp(argv[1], _TEXT("..")))
-       {
-               _tprintf( _TEXT("Change to parent not implemented yet.\n") );
-               return EXIT_FAILURE;
-       }
-       if (INVALID_HANDLE_VALUE != CurrentWorkingKey)
-       {
-               RegCloseKey(CurrentWorkingKey);
-               CurrentWorkingKey = INVALID_HANDLE_VALUE;
-       }
-       if (NULL == ParseKeyName(argv[1], &k))
-       {
-               return EXIT_FAILURE;
-       }
-       rv = RegOpenKeyEx(
-                       k.Hive,                         /* handle of open key */
-                       k.SubKey,                       /* address of name of subkey to open */
-                       0,                              /* reserved */
-                       (REGSAM) KEY_ENUMERATE_SUB_KEYS,/* security access mask */
-                       & CurrentWorkingKey             /* address of handle of open key */
-                       );
-       if (ERROR_SUCCESS != rv)
-       {
-               PrintWin32Error(L"RegOpenKeyEx",GetLastError());
-               return EXIT_FAILURE;
-       }
-       return EXIT_SUCCESS;
-}
-
-
-/**********************************************************************
- *     exit
- *
- * DESCRIPTION
- *     Terminate.
- */
-CMDPROTO(cmd_exit)
-{
-       Done = TRUE;
-       _tprintf( _TEXT("Quitting...\n") );
-       return EXIT_SUCCESS;
-}
-
-
-/**********************************************************************
- *     help
- *
- * DESCRIPTION
- *     Print help.
- */
-CMDPROTO(cmd_help)
-{
-       PCOMMAND_DESCRIPTOR cd = NULL;
-
-       if (1 == argc)
-       {
-               int CommandIndex;
-
-               for (   CommandIndex = 0;
-                       (CommandsTable[CommandIndex].Name);
-                       CommandIndex++
-                       )
-               {
-                       _tprintf(
-                               _TEXT("%s\t%s\n"),
-                               CommandsTable[CommandIndex].Name,
-                               CommandsTable[CommandIndex].ShortDescription
-                               );                      
-               }
-               return EXIT_SUCCESS;
-       }
-       if ((cd = DecodeVerb(argv[1])))
-       {
-               _tprintf(
-                       _TEXT("%s\n"),
-                       cd->Usage
-                       );
-               return EXIT_SUCCESS;
-       }
-       _tprintf(
-               _TEXT("Unknown help item \"%s\".\n"),
-               argv[1]
-               );
-       return EXIT_FAILURE;
-}
-
-
-/**********************************************************************
- *     ls
- *
- * DESCRIPTION
- *     List a key.
- */
-CMDPROTO(cmd_ls)
-{
-       LONG            rv;
-       DWORD           dwIndexK = 0;
-       DWORD           dwIndexV = 0;
-       UCHAR           Name [256];
-       DWORD           cbName;
-       UCHAR           Class [256];
-       DWORD           cbClass;
-       UCHAR           Data [1024];
-       DWORD           cbData;
-       DWORD           Type;
-       FILETIME        ft;
-       SYSTEMTIME      st;
-
-       /* _self is always present */
-       _tprintf( _TEXT(".\\\n") );
-       /* _root directory? */
-       if (INVALID_HANDLE_VALUE == CurrentWorkingKey)
-       {
-               _tprintf(
-                       _TEXT("%s\\\n"),
-                       STR_HKEY_CLASSES_ROOT
-                       );
-               _tprintf(
-                       _TEXT("%s\\\n"),
-                       STR_HKEY_CURRENT_USER
-                       );
-               _tprintf(
-                       _TEXT("%s\\\n"),
-                       STR_HKEY_LOCAL_MACHINE
-                       );
-               _tprintf(
-                       _TEXT("%s\\\n"),
-                       STR_HKEY_USERS
-                       );
-               _tprintf(
-                       _TEXT("%s\\\n"),
-                       STR_HKEY_CURRENT_CONFIG
-                       );
-               _tprintf(
-                       _TEXT("%s\\\n"),
-                       STR_HKEY_PERFORMANCE_DATA
-                       );
-               return EXIT_SUCCESS;
-       }
-       /* _parent is present only if _self != _root 
-        * (FIXME: change it when RegConnect... available)
-        */
-       _tprintf( _TEXT("..\\\n") );
-       /* Enumerate subkeys of the current key. */
-       do {
-               cbName = sizeof(Name);
-               cbClass = sizeof(Class);
-               rv = RegEnumKeyEx(
-                       CurrentWorkingKey,      /* handle of key to enumerate */
-                       dwIndexK,               /* index of subkey to enumerate */
-                       Name,                   /* address of buffer for subkey name */
-                       & cbName,               /* address for size of subkey buffer */
-                       NULL,                   /* reserved */
-                       Class,                  /* address of buffer for class string */
-                       & cbClass,              /* address for size of class buffer */
-                       & ft                    /* address for time key last written to */
-                       );
-               if (ERROR_SUCCESS == rv)
-               {
-                       FileTimeToSystemTime( & ft, & st );
-                       if (cbClass)
-                               _tprintf(
-                                       _TEXT("%-32s\\ %4d-%02d-%02d %02d:%02d [%s]\n"),
-                                       Name,
-                                       st.wYear, st.wMonth, st.wDay,
-                                       st.wHour, st.wMinute,
-                                       Class
-                                       );
-                       else
-                               _tprintf(
-                                       _TEXT("%-32s\\ %4d-%02d-%02d %02d:%02d\n"),
-                                       Name,
-                                       st.wYear, st.wMonth, st.wDay,
-                                       st.wHour, st.wMinute
-                                       );
-                       ++dwIndexK;
-               }
-       } while (ERROR_SUCCESS == rv);
-       /* Enumerate key's values */
-       do {
-               cbName = sizeof(Name);
-               cbData = sizeof(Data);
-               rv = RegEnumValue(
-                       CurrentWorkingKey,      /* handle of key to query */
-                       dwIndexV,               /* index of value to query */
-                       Name,                   /* address of buffer for value string */
-                       & cbName,               /* address for size of value buffer */
-                       NULL,                   /* reserved */
-                       & Type,                 /* address of buffer for type code */
-                       Data,                   /* address of buffer for value data */
-                       & cbData                /* address for size of data buffer */
-                       );
-               if (ERROR_SUCCESS == rv)
-               {
-                       switch (Type)
-                       {
-                       case REG_DWORD:
-                               _tprintf( 
-                                       _TEXT("%s = *REG_DWORD*\n"),
-                                       Name
-                                       );
-                               break;
-                       case REG_EXPAND_SZ:
-                               /* expand env vars */
-                               break;
-                       case REG_LINK:
-                               /* reparse! */
-                               break;
-                       case REG_SZ:
-                               _tprintf(
-                                       _TEXT("%s = \"%s\"\n"),
-                                       Name,
-                                       Data
-                                       );
-                               break;
-                       }
-                       ++dwIndexV;
-               }
-       } while (ERROR_SUCCESS == rv);
-       return (UINT) dwIndexK + (UINT) dwIndexV;
-}
-
-
-/**********************************************************************
- *     pwk
- *
- * DESCRIPTION
- *     Print the current working key.
- */
-CMDPROTO(cmd_pwk)
-{
-       if (INVALID_HANDLE_VALUE == CurrentWorkingKey)
-       {
-               _tprintf( _TEXT("[\\]\n") );
-               return EXIT_SUCCESS;
-       }
-       _tprintf(
-               _TEXT("[%s]\n"),
-               CurrentPath
-               );
-       return EXIT_SUCCESS;
-}
-
-
-/**********************************************************************
- *     ver
- *
- * DESCRIPTION
- *     Print version information.
- */
-CMDPROTO(cmd_ver)
-{
-       _tprintf(
-               _TEXT("\
-%s version %s (compiled on %s, at %s)\n\
-ReactOS Console Registry Navigator\n\
-Copyright (c) 1998-2000 Emanuele Aliberti\n\n"),
-               app_name,
-               app_ver,
-               _TEXT(__DATE__),
-               _TEXT(__TIME__)
-               );
-       return EXIT_SUCCESS;
-}
-
-
-/* === UTILITIES === */
-
-
-#define ARGV_SIZE 32
-
-INT
-ParseCommandLine(
-       LPTSTR  InputBuffer,
-       LPTSTR  argv[]
-       )
-{
-       register INT    n = 0;
-       register TCHAR  *c = InputBuffer;
-       
-       assert(InputBuffer);
-       do
-       {
-               for (   ;
-                       (       *c
-                               && (    (*c == _TEXT(' '))
-                                       || (*c == _TEXT('\t'))
-                                       || (*c == _TEXT('\n'))
-                                       )
-                               );
-                       ++c
-                       );
-               argv[n++] = c;
-               if (*c)
-               {
-                       for (   ;
-                               (       *c
-                                       && (*c != _TEXT(' '))
-                                       && (*c != _TEXT('\t'))
-                                       && (*c != _TEXT('\n'))
-                                       );
-                               ++c
-                               );
-                       *c++ = _TEXT('\0');
-               }
-       } while ( *c );
-       return n;
-}
-
-
-VOID
-DisplayPrompt(VOID)
-{
-       _tprintf(
-               _TEXT("[%s] "),
-               CurrentPath
-               );
-}
-
-
-/* ===  MAIN  === */
-
-
-int
-main(
-       int     argc,
-       char *  argv []
-       )
-{
-       TCHAR                   InputBuffer [INPUT_BUFFER_SIZE];
-       PCOMMAND_DESCRIPTOR     cd;
-       INT                     LocalArgc;
-       LPTSTR                  LocalArgv [ARGV_SIZE];
-
-       
-       while (!Done)
-       {
-               DisplayPrompt();
-               _fgetts(
-                       InputBuffer,
-                       (sizeof InputBuffer / sizeof (TCHAR)),
-                       stdin
-                       );
-               if (0 == lstrlen(InputBuffer)) continue;
-               LocalArgc = ParseCommandLine(InputBuffer, LocalArgv);
-               if (LocalArgc && (cd = DecodeVerb(LocalArgv[0])))
-               {
-                       if (LocalArgc < cd->MinArgc)
-                       {
-                               _tprintf(
-                                       _TEXT("Too few arguments. Type \"HELP %s\".\n"),
-                                       LocalArgv[0]
-                                       );
-                               continue;
-                       }
-                       if (LocalArgc > cd->MaxArgc)
-                       {
-                               _tprintf(
-                                       _TEXT("Too many arguments. Type \"HELP %s\".\n"),
-                                       LocalArgv[0]
-                                       );
-                               continue;
-                       }
-                       LastExitCode = cd->Command(
-                                               LocalArgc,
-                                               LocalArgv
-                                               );
-                       continue;
-               }
-               _tprintf(
-                       _TEXT("Unknown command (\"%s\").\n"),
-                       LocalArgv[0]
-                       );
-       }
-       return EXIT_SUCCESS;
-}
-
-
-/* EOF */
diff --git a/rosapps/sysutils/regnav.rc b/rosapps/sysutils/regnav.rc
deleted file mode 100644 (file)
index ccda2ba..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <defines.h>
-#include <reactos/resource.h>
-
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-
-VS_VERSION_INFO VERSIONINFO
-       FILEVERSION     RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
-       PRODUCTVERSION  RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD      
-       FILEFLAGSMASK   0x3fL
-#ifdef _DEBUG
-       FILEFLAGS       0x1L
-#else
-       FILEFLAGS       0x0L
-#endif
-       FILEOS          0x40004L
-       FILETYPE        0x2L
-       FILESUBTYPE     0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904b0"
-        BEGIN
-            VALUE "CompanyName",       RES_STR_COMPANY_NAME
-            VALUE "FileDescription",   "ReactOS Registry Navigation Console Tool\0"
-            VALUE "FileVersion",       RES_STR_FILE_VERSION
-            VALUE "InternalName",      "regnav\0"
-            VALUE "LegalCopyright",    RES_STR_LEGAL_COPYRIGHT
-            VALUE "OriginalFilename",  "regnav.exe\0"
-            VALUE "ProductName",       RES_STR_PRODUCT_NAME
-            VALUE "ProductVersion",    RES_STR_PRODUCT_VERSION
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-