CVS: winex/include ntddk.h, 1.5, 1.6 winnt.h, 1.37, 1.38 winternl.h, 1.11, 1.12

[email protected] 12 Sep 2007 12:38:05 -0000
Newsgroups gmane.comp.emulators.winex.cvs
Message-ID <[email protected]>
Subject: winex/include ntddk.h,1.5,1.6 winnt.h,1.37,1.38 winternl.h,1.11,1.12Update of /var/lib/cvsd/cvsroot/winex/include
In directory agravaine:/tmp/cvs-serv12586/include

Modified Files:
	ntddk.h winnt.h winternl.h 
Log Message:

- updated the internal representation (in 'ntddk.h' and 'winternl.h') of the SYSTEM_PROCESS_INFORMATION struct to match what is expected by the native PSDK.  This included adding the IO_COUNTERS struct to winnt.h as well.  
- added a case for SystemProcessInformation in NtQuerySystemInformation()



Index: ntddk.h
===================================================================
RCS file: /var/lib/cvsd/cvsroot/winex/include/ntddk.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- ntddk.h	25 Sep 2004 07:15:12 -0000	1.5
+++ ntddk.h	12 Sep 2007 12:38:02 -0000	1.6
@@ -655,32 +655,22 @@
 
 typedef struct {
 /* System Information Class 0x05 */
-        DWORD dwOffset;
-        DWORD dwThreadCount;
-        DWORD dwUnknown1[6];
-        FILETIME ftCreationTime;
-        DWORD dwUnknown2[5];
-        WCHAR* pszProcessName;
-        DWORD dwBasePriority;
-        DWORD dwProcessID;
-        DWORD dwParentProcessID;
-        DWORD dwHandleCount;
-        DWORD dwUnknown3;
-        DWORD dwUnknown4;
-        DWORD dwVirtualBytesPeak;
-        DWORD dwVirtualBytes;
-        DWORD dwPageFaults;
-        DWORD dwWorkingSetPeak;
-        DWORD dwWorkingSet;
-        DWORD dwUnknown5;
-        DWORD dwPagedPool;
-        DWORD dwUnknown6;
-        DWORD dwNonPagedPool;
-        DWORD dwPageFileBytesPeak;
-        DWORD dwPrivateBytes;
-        DWORD dwPageFileBytes;
-        DWORD dwUnknown7[4];
-        THREADINFO ti[0];
+    DWORD dwOffset;
+    DWORD dwThreadCount;
+    DWORD dwUnknown1[6];
+    FILETIME ftCreationTime;
+    FILETIME ftUserTime;
+    FILETIME ftKernelTime;
+    UNICODE_STRING ProcessName;
+    DWORD dwBasePriority;
+    DWORD dwProcessID;
+    DWORD dwParentProcessID;
+    DWORD dwHandleCount;
+    DWORD dwUnknown3;
+    DWORD dwUnknown4;
+    VM_COUNTERS vmCounters;
+    IO_COUNTERS ioCounters;
+    SYSTEM_THREAD_INFORMATION ti[1];
 } SYSTEM_PROCESS_INFORMATION;
 
 typedef struct {

Index: winnt.h
===================================================================
RCS file: /var/lib/cvsd/cvsroot/winex/include/winnt.h,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- winnt.h	31 Jul 2007 19:46:38 -0000	1.37
+++ winnt.h	12 Sep 2007 12:38:03 -0000	1.38
@@ -4381,4 +4381,16 @@
 WORD WINAPI RtlQueryDepthSList( PSLIST_HEADER ListHead );
 
 
+
+typedef struct _IO_COUNTERS {
+    ULONGLONG  ReadOperationCount;
+    ULONGLONG  WriteOperationCount;
+    ULONGLONG  OtherOperationCount;
+    ULONGLONG ReadTransferCount;
+    ULONGLONG WriteTransferCount;
+    ULONGLONG OtherTransferCount;
+} IO_COUNTERS;
+typedef IO_COUNTERS *PIO_COUNTERS;
+
+
 #endif  /* __WINE_WINNT_H */

Index: winternl.h
===================================================================
RCS file: /var/lib/cvsd/cvsroot/winex/include/winternl.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- winternl.h	12 Sep 2007 12:31:05 -0000	1.11
+++ winternl.h	12 Sep 2007 12:38:03 -0000	1.12
@@ -376,6 +376,24 @@
  * Types and data structures
  */
 
+/* This is used by NtQuerySystemInformation */
+typedef struct _SYSTEM_THREAD_INFORMATION{
+    FILETIME    ftKernelTime;
+    FILETIME    ftUserTime;
+    FILETIME    ftCreateTime;
+    DWORD       dwTickCount;
+    DWORD       dwStartAddress;
+    DWORD       dwOwningPID;
+    DWORD       dwThreadID;
+    DWORD       dwCurrentPriority;
+    DWORD       dwBasePriority;
+    DWORD       dwContextSwitches;
+    DWORD       dwThreadState;
+    DWORD       dwWaitReason;
+    DWORD       dwUnknown;
+} SYSTEM_THREAD_INFORMATION, *PSYSTEM_THREAD_INFORMATION;
+
+
 typedef struct _VPB* PVPB;
 #define DEVICE_TYPE DWORD
 typedef PVOID PDRIVER_CONTROL; /* XXX some function pointer */
@@ -828,6 +846,20 @@
 #endif
 } SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION, *PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION;
 
+typedef struct _VM_COUNTERS_ {
+    ULONG PeakVirtualSize;
+    ULONG VirtualSize;
+    ULONG PageFaultCount;
+    ULONG PeakWorkingSetSize;
+    ULONG WorkingSetSize;
+    ULONG QuotaPeakPagedPoolUsage;
+    ULONG QuotaPagedPoolUsage;
+    ULONG QuotaPeakNonPagedPoolUsage;
+    ULONG QuotaNonPagedPoolUsage;
+    ULONG PagefileUsage;
+    ULONG PeakPagefileUsage;
+} VM_COUNTERS, *PVM_COUNTERS;
+
 /* System Information Class 0x05 */
 typedef struct _SYSTEM_PROCESS_INFORMATION {
 #ifdef __WINE__
@@ -835,28 +867,18 @@
     DWORD dwThreadCount;
     DWORD dwUnknown1[6];
     FILETIME ftCreationTime;
-    DWORD dwUnknown2[5];
-    WCHAR *pszProcessName;
+    FILETIME ftUserTime;
+    FILETIME ftKernelTime;
+    UNICODE_STRING ProcessName;
     DWORD dwBasePriority;
     DWORD dwProcessID;
     DWORD dwParentProcessID;
     DWORD dwHandleCount;
     DWORD dwUnknown3;
     DWORD dwUnknown4;
-    DWORD dwVirtualBytesPeak;
-    DWORD dwVirtualBytes;
-    DWORD dwPageFaults;
-    DWORD dwWorkingSetPeak;
-    DWORD dwWorkingSet;
-    DWORD dwUnknown5;
-    DWORD dwPagedPool;
-    DWORD dwUnknown6;
-    DWORD dwNonPagedPool;
-    DWORD dwPageFileBytesPeak;
-    DWORD dwPrivateBytes;
-    DWORD dwPageFileBytes;
-    DWORD dwUnknown7[4];
-    THREADINFO ti[1];
+    VM_COUNTERS vmCounters;
+    IO_COUNTERS ioCounters;
+    SYSTEM_THREAD_INFORMATION ti[1];
 #else
     ULONG NextEntryOffset;
     BYTE Reserved1[52];
@@ -913,19 +935,6 @@
   BYTE Reserved3[1140];
 } WINSTATIONINFORMATIONW, *PWINSTATIONINFORMATIONW;
 
-typedef struct _VM_COUNTERS_ {
-    ULONG PeakVirtualSize;
-    ULONG VirtualSize;
-    ULONG PageFaultCount;
-    ULONG PeakWorkingSetSize;
-    ULONG WorkingSetSize;
-    ULONG QuotaPeakPagedPoolUsage;
-    ULONG QuotaPagedPoolUsage;
-    ULONG QuotaPeakNonPagedPoolUsage;
-    ULONG QuotaNonPagedPoolUsage;
-    ULONG PagefileUsage;
-    ULONG PeakPagefileUsage;
-} VM_COUNTERS, *PVM_COUNTERS;
 
 typedef BOOLEAN (WINAPI * PWINSTATIONQUERYINFORMATIONW)(HANDLE,ULONG,WINSTATIONINFOCLASS,PVOID,ULONG,PULONG);