From: Emanuele Aliberti Date: Sat, 13 Jan 2001 18:17:17 +0000 (+0000) Subject: Obsolete regnav removed. X-Git-Tag: backups/FreeLoader@12428~401 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=5d04b18c157cb1af04154393616ed2ea2b28c01c Obsolete regnav removed. qsi updated (still wip). Minor changes. svn path=/trunk/; revision=1504 --- diff --git a/rosapps/sysutils/ldd.c b/rosapps/sysutils/ldd.c index bc15d5e8fd8..2233019f169 100644 --- a/rosapps/sysutils/ldd.c +++ b/rosapps/sysutils/ldd.c @@ -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 diff --git a/rosapps/sysutils/makefile b/rosapps/sysutils/makefile index 0714e727dad..24a3cb2c448 100644 --- a/rosapps/sysutils/makefile +++ b/rosapps/sysutils/makefile @@ -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 \ diff --git a/rosapps/sysutils/qsi.c b/rosapps/sysutils/qsi.c index d3ce07a2335..10b67019f45 100644 --- a/rosapps/sysutils/qsi.c +++ b/rosapps/sysutils/qsi.c @@ -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 #include @@ -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 */ { "?", diff --git a/rosapps/sysutils/regexpl/RegistryExplorer.h b/rosapps/sysutils/regexpl/RegistryExplorer.h index 7d6a1a0ce5b..e6c804c7d25 100644 --- a/rosapps/sysutils/regexpl/RegistryExplorer.h +++ b/rosapps/sysutils/regexpl/RegistryExplorer.h @@ -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 index 885fa7757be..00000000000 --- a/rosapps/sysutils/regnav.c +++ /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 -#include -#include -#include -#include -#include -#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 index ccda2ba2553..00000000000 --- a/rosapps/sysutils/regnav.rc +++ /dev/null @@ -1,38 +0,0 @@ -#include -#include - -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 -