diff options
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/io/NativeC.java')
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/io/NativeC.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/io/NativeC.java b/vespajlib/src/main/java/com/yahoo/io/NativeC.java new file mode 100644 index 00000000000..7dbf4015bcf --- /dev/null +++ b/vespajlib/src/main/java/com/yahoo/io/NativeC.java @@ -0,0 +1,25 @@ +package com.yahoo.io; + +import com.sun.jna.LastErrorException; +import com.sun.jna.Native; +import com.sun.jna.Platform; + +class NativeC { + private final static Throwable initException = loadLibrary(); + private static Throwable loadLibrary() { + if (Platform.isLinux()) { + try { + Native.register(Platform.C_LIBRARY_NAME); + } catch (Throwable e) { + return e; + } + } else { + return new RuntimeException("Platform is unsúpported. Only supported on linux."); + } + return null; + } + static Throwable init() { + return initException; + } + static native int posix_fadvise(int fd, long offset, long len, int flag) throws LastErrorException; +} |