-package org.simantics.nativemem.internal;\r
-\r
-import java.util.Arrays;\r
-import java.util.List;\r
-\r
-import org.simantics.nativemem.ProcessMemoryCounters;\r
-\r
-import com.sun.jna.Native;\r
-import com.sun.jna.Structure;\r
-import com.sun.jna.platform.win32.WinNT.HANDLE;\r
-import com.sun.jna.win32.StdCallLibrary;\r
-\r
-public interface Psapi32 extends StdCallLibrary {\r
-\r
- Psapi32 INSTANCE = (Psapi32) Native.loadLibrary("Psapi", Psapi32.class);\r
-\r
- /*\r
- * https://msdn.microsoft.com/en-us/library/windows/desktop/ms684874%28v=vs.85%29.aspx\r
- */\r
- public static class PROCESS_MEMORY_COUNTERS_EX extends Structure {\r
- public int cb;\r
- public int PageFaultCount;\r
- public int PeakWorkingSetSize;\r
- public int WorkingSetSize;\r
- public int QuotaPeakPagedPoolUsage;\r
- public int QuotaPagedPoolUsage;\r
- public int QuotaPeakNonPagedPoolUsage;\r
- public int QuotaNonPagedPoolUsage;\r
- public int PagefileUsage;\r
- public int PeakPagefileUsage;\r
- public int PrivateUsage;\r
-\r
- @SuppressWarnings("rawtypes")\r
- @Override\r
- protected List getFieldOrder() {\r
- return PROCESS_MEMORY_COUNTERS_EX_FIELDS;\r
- }\r
-\r
- static final List<String> PROCESS_MEMORY_COUNTERS_EX_FIELDS = Arrays.asList(new String[] { \r
- "cb", "PageFaultCount",\r
- "PeakWorkingSetSize", "WorkingSetSize",\r
- "QuotaPeakPagedPoolUsage", "QuotaPagedPoolUsage",\r
- "QuotaPeakNonPagedPoolUsage", "QuotaNonPagedPoolUsage",\r
- "PagefileUsage", "PeakPagefileUsage", "PrivateUsage"\r
- });\r
-\r
- public void writeTo(ProcessMemoryCounters to) {\r
- to.PageFaultCount = PageFaultCount;\r
- to.PeakWorkingSetSize = PeakWorkingSetSize;\r
- to.WorkingSetSize = WorkingSetSize;\r
- to.QuotaPeakPagedPoolUsage = QuotaPeakPagedPoolUsage;\r
- to.QuotaPagedPoolUsage = QuotaPagedPoolUsage;\r
- to.QuotaPeakNonPagedPoolUsage = QuotaPeakNonPagedPoolUsage;\r
- to.QuotaNonPagedPoolUsage = QuotaNonPagedPoolUsage;\r
- to.PagefileUsage = PagefileUsage;\r
- to.PeakPagefileUsage = PeakPagefileUsage;\r
- to.PrivateUsage = PrivateUsage;\r
- }\r
- }\r
-\r
- /*\r
- * https://msdn.microsoft.com/en-us/library/windows/desktop/ms683219%28v=vs.85%29.aspx\r
- */\r
- boolean GetProcessMemoryInfo(HANDLE Process, PROCESS_MEMORY_COUNTERS_EX ppsmemCounters, int cb);\r
-\r
-\r
+package org.simantics.nativemem.internal;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.simantics.nativemem.ProcessMemoryCounters;
+
+import com.sun.jna.Native;
+import com.sun.jna.Structure;
+import com.sun.jna.platform.win32.WinNT.HANDLE;
+import com.sun.jna.win32.StdCallLibrary;
+
+public interface Psapi32 extends StdCallLibrary {
+
+ Psapi32 INSTANCE = (Psapi32) Native.loadLibrary("Psapi", Psapi32.class);
+
+ /*
+ * https://msdn.microsoft.com/en-us/library/windows/desktop/ms684874%28v=vs.85%29.aspx
+ */
+ public static class PROCESS_MEMORY_COUNTERS_EX extends Structure {
+ public int cb;
+ public int PageFaultCount;
+ public int PeakWorkingSetSize;
+ public int WorkingSetSize;
+ public int QuotaPeakPagedPoolUsage;
+ public int QuotaPagedPoolUsage;
+ public int QuotaPeakNonPagedPoolUsage;
+ public int QuotaNonPagedPoolUsage;
+ public int PagefileUsage;
+ public int PeakPagefileUsage;
+ public int PrivateUsage;
+
+ @SuppressWarnings("rawtypes")
+ @Override
+ protected List getFieldOrder() {
+ return PROCESS_MEMORY_COUNTERS_EX_FIELDS;
+ }
+
+ static final List<String> PROCESS_MEMORY_COUNTERS_EX_FIELDS = Arrays.asList(new String[] {
+ "cb", "PageFaultCount",
+ "PeakWorkingSetSize", "WorkingSetSize",
+ "QuotaPeakPagedPoolUsage", "QuotaPagedPoolUsage",
+ "QuotaPeakNonPagedPoolUsage", "QuotaNonPagedPoolUsage",
+ "PagefileUsage", "PeakPagefileUsage", "PrivateUsage"
+ });
+
+ public void writeTo(ProcessMemoryCounters to) {
+ to.PageFaultCount = PageFaultCount;
+ to.PeakWorkingSetSize = PeakWorkingSetSize;
+ to.WorkingSetSize = WorkingSetSize;
+ to.QuotaPeakPagedPoolUsage = QuotaPeakPagedPoolUsage;
+ to.QuotaPagedPoolUsage = QuotaPagedPoolUsage;
+ to.QuotaPeakNonPagedPoolUsage = QuotaPeakNonPagedPoolUsage;
+ to.QuotaNonPagedPoolUsage = QuotaNonPagedPoolUsage;
+ to.PagefileUsage = PagefileUsage;
+ to.PeakPagefileUsage = PeakPagefileUsage;
+ to.PrivateUsage = PrivateUsage;
+ }
+ }
+
+ /*
+ * https://msdn.microsoft.com/en-us/library/windows/desktop/ms683219%28v=vs.85%29.aspx
+ */
+ boolean GetProcessMemoryInfo(HANDLE Process, PROCESS_MEMORY_COUNTERS_EX ppsmemCounters, int cb);
+
+
}
\ No newline at end of file