Package com.kenai.jffi
Class Function
java.lang.Object
com.kenai.jffi.Function
public final class Function
extends java.lang.Object
Native function invocation context
This class holds all the information that JFFI needs to correctly call a
native function.
-
Constructor Summary
Constructors Constructor Description Function(long address, CallContext callContext)Creates a new instance ofFunctionwith default calling convention.Function(long address, Type returnType, int fixedParamCount, Type[] paramTypes, CallingConvention convention, boolean saveErrno)Creates a new instance ofFunction.Function(long address, Type returnType, Type... paramTypes)Creates a new instance ofFunctionwith default calling convention.Function(long address, Type returnType, Type[] paramTypes, CallingConvention convention)Creates a new instance ofFunction.Function(long address, Type returnType, Type[] paramTypes, CallingConvention convention, boolean saveErrno)Creates a new instance ofFunction. -
Method Summary
Modifier and Type Method Description voiddispose()Deprecated.CallContextgetCallContext()longgetFunctionAddress()Gets the address of the function.intgetParameterCount()Gets the number of parameters the native function accepts.TypegetParameterType(int index)Gets the type of a parameter.intgetRawParameterSize()Gets the number of bytes required to pack all the parameters this function accepts, into a region of memory.TypegetReturnType()Gets the native return type of this function.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
Function
Creates a new instance ofFunctionwith default calling convention.- Parameters:
address- The native address of the function to invoke.returnType- The return type of the native function.paramTypes- The parameter types the function accepts.
-
Function
Creates a new instance ofFunctionwith default calling convention.- Parameters:
address- The native address of the function to invoke.
-
Function
Creates a new instance ofFunction.Functioninstances created with this constructor will save the C errno contents after each call.- Parameters:
address- The native address of the function to invoke.returnType- The return type of the native function.paramTypes- The parameter types the function accepts.convention- The calling convention of the function.
-
Function
public Function(long address, Type returnType, Type[] paramTypes, CallingConvention convention, boolean saveErrno)Creates a new instance ofFunction.- Parameters:
address- The native address of the function to invoke.returnType- The return type of the native function.paramTypes- The parameter types the function accepts.convention- The calling convention of the function.saveErrno- Whether the errno should be saved or not
-
Function
public Function(long address, Type returnType, int fixedParamCount, Type[] paramTypes, CallingConvention convention, boolean saveErrno)Creates a new instance ofFunction.- Parameters:
address- The native address of the function to invoke.returnType- The return type of the native function.fixedParamCount- The number of fixed params for a variadic call.paramTypes- The parameter types the function accepts.convention- The calling convention of the function.saveErrno- Whether the errno should be saved or not
-
-
Method Details
-
getParameterCount
public final int getParameterCount()Gets the number of parameters the native function accepts.- Returns:
- The number of parameters the native function accepts.
-
getRawParameterSize
public final int getRawParameterSize()Gets the number of bytes required to pack all the parameters this function accepts, into a region of memory.- Returns:
- The number of bytes required to store all paraameters of this function.
-
getCallContext
-
getFunctionAddress
public final long getFunctionAddress()Gets the address of the function.- Returns:
- The address of the native function.
-
getReturnType
Gets the native return type of this function.- Returns:
- The native return type of this function.
-
getParameterType
Gets the type of a parameter.- Parameters:
index- The index of the parameter in the function signature- Returns:
- The
Typeof the parameter.
-
dispose
@Deprecated public final void dispose()Deprecated.
-