summaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/nativec/MallInfo.java
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-04-26 15:17:53 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2022-04-26 15:17:53 +0200
commit077869e1bdf42433947b52d8787683ea431196ca (patch)
treea554ec3c25a49771914bbec4196b1d70836f1b12 /vespajlib/src/main/java/com/yahoo/nativec/MallInfo.java
parentbe717cbb0d681e1e9d0afaf9d6321dc51e556932 (diff)
Add MallInfo
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/nativec/MallInfo.java')
-rw-r--r--vespajlib/src/main/java/com/yahoo/nativec/MallInfo.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/nativec/MallInfo.java b/vespajlib/src/main/java/com/yahoo/nativec/MallInfo.java
new file mode 100644
index 00000000000..c9d781ddd4d
--- /dev/null
+++ b/vespajlib/src/main/java/com/yahoo/nativec/MallInfo.java
@@ -0,0 +1,29 @@
+package com.yahoo.nativec;
+
+import com.sun.jna.Structure;
+
+public class MallInfo {
+ private final static Throwable initException = NativeC.loadLibrary(MallInfo.class);
+ public static Throwable init() {
+ return initException;
+ }
+ // Equivalent JNA mapping
+ private static class MallInfoStruct extends Structure {
+ public static class ByValue extends MallInfoStruct implements Structure.ByValue { }
+ public int arena; /* Non-mmapped space allocated (bytes) */
+ public int ordblks; /* Number of free chunks */
+ public int smblks; /* Number of free fastbin blocks */
+ public int hblks; /* Number of mmapped regions */
+ public int hblkhd; /* Space allocated in mmapped regions (bytes) */
+ public int usmblks; /* See below */
+ public int fsmblks; /* Space in freed fastbin blocks (bytes) */
+ public int uordblks; /* Total allocated space (bytes) */
+ public int fordblks; /* Total free space (bytes) */
+ public int keepcost; /* Top-most, releasable space (bytes) */
+ }
+ private static native MallInfoStruct.ByValue mallinfo();
+ public MallInfo() {
+ mallinfo = mallinfo();
+ }
+ private final MallInfoStruct mallinfo;
+}