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 of Function with default calling convention.
    Function​(long address, Type returnType, int fixedParamCount, Type[] paramTypes, CallingConvention convention, boolean saveErrno)
    Creates a new instance of Function.
    Function​(long address, Type returnType, Type... paramTypes)
    Creates a new instance of Function with default calling convention.
    Function​(long address, Type returnType, Type[] paramTypes, CallingConvention convention)
    Creates a new instance of Function.
    Function​(long address, Type returnType, Type[] paramTypes, CallingConvention convention, boolean saveErrno)
    Creates a new instance of Function.
  • Method Summary

    Modifier and Type Method Description
    void dispose()
    Deprecated.
    CallContext getCallContext()  
    long getFunctionAddress()
    Gets the address of the function.
    int getParameterCount()
    Gets the number of parameters the native function accepts.
    Type getParameterType​(int index)
    Gets the type of a parameter.
    int getRawParameterSize()
    Gets the number of bytes required to pack all the parameters this function accepts, into a region of memory.
    Type getReturnType()
    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

      public Function​(long address, Type returnType, Type... paramTypes)
      Creates a new instance of Function 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

      public Function​(long address, CallContext callContext)
      Creates a new instance of Function with default calling convention.
      Parameters:
      address - The native address of the function to invoke.
    • Function

      public Function​(long address, Type returnType, Type[] paramTypes, CallingConvention convention)
      Creates a new instance of Function. 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 of Function.
      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 of Function.
      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

      public final CallContext getCallContext()
    • getFunctionAddress

      public final long getFunctionAddress()
      Gets the address of the function.
      Returns:
      The address of the native function.
    • getReturnType

      public final Type getReturnType()
      Gets the native return type of this function.
      Returns:
      The native return type of this function.
    • getParameterType

      public final Type getParameterType​(int index)
      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 public final void dispose()
      Deprecated.