Package com.kenai.jffi
Class Platform
- java.lang.Object
-
- com.kenai.jffi.Platform
-
public abstract class Platform extends java.lang.ObjectConvenience class to interrogate the system about various platform-specific details.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPlatform.CPUThe common names of cpu architectures.static classPlatform.OSThe common names of operating systems.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description longaddressMask()Gets the 32/64bit mask of a C address/pointer on the native platform.intaddressSize()Gets the size of a C address/pointer on the native platform.Platform.CPUgetCPU()Gets the current processor architecture the JVM is running on.intgetJavaMajorVersion()Gets the version of the Java Virtual Machine (JVM) jffi is running on.java.lang.StringgetLibraryNamePattern()Gets the regex string used to match platform-specific librariesjava.lang.StringgetName()Gets the name of thisPlatform.Platform.OSgetOS()Gets the current Operating System.static PlatformgetPlatform()Gets the currentPlatformbooleanisSupported()Checks if the current platform is supported by JFFI.abstract intlongSize()Gets the size of a C 'long' on the native platform.java.lang.StringmapLibraryName(java.lang.String libName)Maps from a generic library name (e.g.
-
-
-
Method Detail
-
getPlatform
public static final Platform getPlatform()
Gets the currentPlatform- Returns:
- The current platform.
-
getOS
public final Platform.OS getOS()
Gets the current Operating System.- Returns:
- A
OSvalue representing the current Operating System.
-
getCPU
public final Platform.CPU getCPU()
Gets the current processor architecture the JVM is running on.- Returns:
- A
CPUvalue representing the current processor architecture.
-
getJavaMajorVersion
public final int getJavaMajorVersion()
Gets the version of the Java Virtual Machine (JVM) jffi is running on.- Returns:
- A number representing the java version. e.g. 5 for java 1.5, 6 for java 1.6
-
longSize
public abstract int longSize()
Gets the size of a C 'long' on the native platform.- Returns:
- the size of a long in bits
-
addressSize
public final int addressSize()
Gets the size of a C address/pointer on the native platform.- Returns:
- the size of a pointer in bits
-
addressMask
public final long addressMask()
Gets the 32/64bit mask of a C address/pointer on the native platform.- Returns:
- the size of a pointer in bits
-
getName
public java.lang.String getName()
Gets the name of thisPlatform.- Returns:
- The name of this platform.
-
mapLibraryName
public java.lang.String mapLibraryName(java.lang.String libName)
Maps from a generic library name (e.g. "c") to the platform specific library name.- Parameters:
libName- The library name to map- Returns:
- The mapped library name.
-
getLibraryNamePattern
public java.lang.String getLibraryNamePattern()
Gets the regex string used to match platform-specific libraries- Returns:
-
isSupported
public boolean isSupported()
Checks if the current platform is supported by JFFI.- Returns:
trueif the platform is supported, else false.
-
-