Package org.apache.cassandra.utils
Class NativeLibraryDarwin
- java.lang.Object
-
- org.apache.cassandra.utils.NativeLibraryDarwin
-
public class NativeLibraryDarwin extends java.lang.Object
ANativeLibraryWrapper
implementation for Darwin/Mac.When JNA is initialized, all methods that have the 'native' keyword will be attmpted to be linked against. As Java doesn't have the equivalent of a #ifdef, this means if a native method like posix_fadvise is defined in the class but not available on the target operating system (e.g. posix_fadvise is not availble on Darwin/Mac) this will cause the entire initial linking and initialization of JNA to fail. This means other native calls that are supported on that target operating system will be unavailable simply because of one native defined method not supported on the runtime operating system.
- See Also:
NativeLibraryWrapper
,NativeLibrary
-
-
Constructor Summary
Constructors Constructor Description NativeLibraryDarwin()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
callClose(int fd)
int
callFcntl(int fd, int command, long flags)
int
callFsync(int fd)
long
callGetpid()
int
callMlockall(int flags)
int
callMunlockall()
int
callOpen(java.lang.String path, int flags)
int
callPosixFadvise(int fd, long offset, int len, int flag)
com.sun.jna.Pointer
callStrerror(int errnum)
boolean
isAvailable()
-
-
-
Method Detail
-
callMlockall
public int callMlockall(int flags) throws java.lang.UnsatisfiedLinkError, java.lang.RuntimeException
- Throws:
java.lang.UnsatisfiedLinkError
java.lang.RuntimeException
-
callMunlockall
public int callMunlockall() throws java.lang.UnsatisfiedLinkError, java.lang.RuntimeException
- Throws:
java.lang.UnsatisfiedLinkError
java.lang.RuntimeException
-
callFcntl
public int callFcntl(int fd, int command, long flags) throws java.lang.UnsatisfiedLinkError, java.lang.RuntimeException
- Throws:
java.lang.UnsatisfiedLinkError
java.lang.RuntimeException
-
callPosixFadvise
public int callPosixFadvise(int fd, long offset, int len, int flag) throws java.lang.UnsatisfiedLinkError, java.lang.RuntimeException
- Throws:
java.lang.UnsatisfiedLinkError
java.lang.RuntimeException
-
callOpen
public int callOpen(java.lang.String path, int flags) throws java.lang.UnsatisfiedLinkError, java.lang.RuntimeException
- Throws:
java.lang.UnsatisfiedLinkError
java.lang.RuntimeException
-
callFsync
public int callFsync(int fd) throws java.lang.UnsatisfiedLinkError, java.lang.RuntimeException
- Throws:
java.lang.UnsatisfiedLinkError
java.lang.RuntimeException
-
callClose
public int callClose(int fd) throws java.lang.UnsatisfiedLinkError, java.lang.RuntimeException
- Throws:
java.lang.UnsatisfiedLinkError
java.lang.RuntimeException
-
callStrerror
public com.sun.jna.Pointer callStrerror(int errnum) throws java.lang.UnsatisfiedLinkError, java.lang.RuntimeException
- Throws:
java.lang.UnsatisfiedLinkError
java.lang.RuntimeException
-
callGetpid
public long callGetpid() throws java.lang.UnsatisfiedLinkError, java.lang.RuntimeException
- Throws:
java.lang.UnsatisfiedLinkError
java.lang.RuntimeException
-
isAvailable
public boolean isAvailable()
-
-