Package com.kenai.jffi
Class Function
java.lang.Object
com.kenai.jffi.Function
Native function invocation context
This class holds all the information that JFFI needs to correctly call a
native function.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CallContext
(package private) final long
(package private) final long
The address of the function -
Constructor Summary
ConstructorsConstructorDescriptionFunction
(long address, CallContext callContext) Creates a new instance ofFunction
with default calling convention.Creates a new instance ofFunction
with 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 TypeMethodDescriptionfinal void
dispose()
Deprecated.final CallContext
(package private) final long
Gets the address of the function context.final long
Gets the address of the function.final int
Gets the number of parameters the native function accepts.final Type
getParameterType
(int index) Gets the type of a parameter.final int
Gets the number of bytes required to pack all the parameters this function accepts, into a region of memory.final Type
Gets the native return type of this function.
-
Field Details
-
callContext
-
functionAddress
final long functionAddressThe address of the function -
contextAddress
final long contextAddress
-
-
Constructor Details
-
Function
Creates a new instance ofFunction
with 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 ofFunction
with default calling convention.- Parameters:
address
- The native address of the function to invoke.
-
Function
Creates a new instance ofFunction
.Function
instances 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
-
-
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
-
getContextAddress
final long getContextAddress()Gets the address of the function context.- Returns:
- The address of the native function context struct.
-
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
Type
of the parameter.
-
dispose
Deprecated.
-