Class LibFFI

java.lang.Object
org.lwjgl.system.libffi.LibFFI

public class LibFFI extends Object
  • Field Details

    • FFI_VERSION_STRING

      public static final String FFI_VERSION_STRING
      See Also:
    • FFI_VERSION_NUMBER

      public static final int FFI_VERSION_NUMBER
      See Also:
    • FFI_TYPE_VOID

      public static final short FFI_TYPE_VOID
      See Also:
    • FFI_TYPE_INT

      public static final short FFI_TYPE_INT
      See Also:
    • FFI_TYPE_FLOAT

      public static final short FFI_TYPE_FLOAT
      See Also:
    • FFI_TYPE_DOUBLE

      public static final short FFI_TYPE_DOUBLE
      See Also:
    • FFI_TYPE_LONGDOUBLE

      public static final short FFI_TYPE_LONGDOUBLE
    • FFI_TYPE_UINT8

      public static final short FFI_TYPE_UINT8
      See Also:
    • FFI_TYPE_SINT8

      public static final short FFI_TYPE_SINT8
      See Also:
    • FFI_TYPE_UINT16

      public static final short FFI_TYPE_UINT16
      See Also:
    • FFI_TYPE_SINT16

      public static final short FFI_TYPE_SINT16
      See Also:
    • FFI_TYPE_UINT32

      public static final short FFI_TYPE_UINT32
      See Also:
    • FFI_TYPE_SINT32

      public static final short FFI_TYPE_SINT32
      See Also:
    • FFI_TYPE_UINT64

      public static final short FFI_TYPE_UINT64
      See Also:
    • FFI_TYPE_SINT64

      public static final short FFI_TYPE_SINT64
      See Also:
    • FFI_TYPE_STRUCT

      public static final short FFI_TYPE_STRUCT
      See Also:
    • FFI_TYPE_POINTER

      public static final short FFI_TYPE_POINTER
      See Also:
    • FFI_FIRST_ABI

      public static final int FFI_FIRST_ABI
    • FFI_WIN64

      public static final int FFI_WIN64
    • FFI_GNUW64

      public static final int FFI_GNUW64
    • FFI_UNIX64

      public static final int FFI_UNIX64
    • FFI_EFI64

      public static final int FFI_EFI64
    • FFI_SYSV

      public static final int FFI_SYSV
    • FFI_STDCALL

      public static final int FFI_STDCALL
    • FFI_THISCALL

      public static final int FFI_THISCALL
    • FFI_FASTCALL

      public static final int FFI_FASTCALL
    • FFI_MS_CDECL

      public static final int FFI_MS_CDECL
    • FFI_PASCAL

      public static final int FFI_PASCAL
    • FFI_REGISTER

      public static final int FFI_REGISTER
    • FFI_VFP

      public static final int FFI_VFP
    • FFI_LAST_ABI

      public static final int FFI_LAST_ABI
    • FFI_DEFAULT_ABI

      public static final int FFI_DEFAULT_ABI
    • FFI_OK

      public static final int FFI_OK
      See Also:
    • FFI_BAD_TYPEDEF

      public static final int FFI_BAD_TYPEDEF
      See Also:
    • FFI_BAD_ABI

      public static final int FFI_BAD_ABI
      See Also:
    • FFI_BAD_ARGTYPE

      public static final int FFI_BAD_ARGTYPE
      See Also:
    • ffi_type_void

      public static final FFIType ffi_type_void
      ffi_type * ffi_type_void(void)
    • ffi_type_uint8

      public static final FFIType ffi_type_uint8
      ffi_type * ffi_type_uint8(void)
    • ffi_type_sint8

      public static final FFIType ffi_type_sint8
      ffi_type * ffi_type_sint8(void)
    • ffi_type_uint16

      public static final FFIType ffi_type_uint16
      ffi_type * ffi_type_uint16(void)
    • ffi_type_sint16

      public static final FFIType ffi_type_sint16
      ffi_type * ffi_type_sint16(void)
    • ffi_type_uint32

      public static final FFIType ffi_type_uint32
      ffi_type * ffi_type_uint32(void)
    • ffi_type_sint32

      public static final FFIType ffi_type_sint32
      ffi_type * ffi_type_sint32(void)
    • ffi_type_uint64

      public static final FFIType ffi_type_uint64
      ffi_type * ffi_type_uint64(void)
    • ffi_type_sint64

      public static final FFIType ffi_type_sint64
      ffi_type * ffi_type_sint64(void)
    • ffi_type_uchar

      public static final FFIType ffi_type_uchar
      ffi_type * ffi_type_uchar(void)
    • ffi_type_schar

      public static final FFIType ffi_type_schar
      ffi_type * ffi_type_schar(void)
    • ffi_type_ushort

      public static final FFIType ffi_type_ushort
      ffi_type * ffi_type_ushort(void)
    • ffi_type_sshort

      public static final FFIType ffi_type_sshort
      ffi_type * ffi_type_sshort(void)
    • ffi_type_uint

      public static final FFIType ffi_type_uint
      ffi_type * ffi_type_uint(void)
    • ffi_type_sint

      public static final FFIType ffi_type_sint
      ffi_type * ffi_type_sint(void)
    • ffi_type_ulong

      public static final FFIType ffi_type_ulong
      ffi_type * ffi_type_ulong(void)
    • ffi_type_slong

      public static final FFIType ffi_type_slong
      ffi_type * ffi_type_slong(void)
    • ffi_type_float

      public static final FFIType ffi_type_float
      ffi_type * ffi_type_float(void)
    • ffi_type_double

      public static final FFIType ffi_type_double
      ffi_type * ffi_type_double(void)
    • ffi_type_longdouble

      public static final FFIType ffi_type_longdouble
      ffi_type * ffi_type_longdouble(void)
    • ffi_type_pointer

      public static final FFIType ffi_type_pointer
      ffi_type * ffi_type_pointer(void)
  • Method Details

    • nffi_get_version

      public static long nffi_get_version()
      char const * ffi_get_version(void)
    • ffi_get_version

      public static @Nullable String ffi_get_version()
      char const * ffi_get_version(void)
    • ffi_get_version_number

      public static long ffi_get_version_number()
      unsigned long ffi_get_version_number(void)
    • ffi_get_default_abi

      public static int ffi_get_default_abi()
      unsigned int ffi_get_default_abi(void)
    • nffi_prep_cif

      public static int nffi_prep_cif(long cif, int abi, int nargs, long rtype, long atypes)
      ffi_status ffi_prep_cif(ffi_cif * cif, ffi_abi abi, unsigned int nargs, ffi_type * rtype, ffi_type ** atypes)
    • ffi_prep_cif

      public static int ffi_prep_cif(FFICIF cif, int abi, FFIType rtype, @Nullable PointerBuffer atypes)
      ffi_status ffi_prep_cif(ffi_cif * cif, ffi_abi abi, unsigned int nargs, ffi_type * rtype, ffi_type ** atypes)
    • nffi_prep_cif_var

      public static int nffi_prep_cif_var(long cif, int abi, int nfixedargs, int ntotalargs, long rtype, long atypes)
      ffi_status ffi_prep_cif_var(ffi_cif * cif, ffi_abi abi, unsigned int nfixedargs, unsigned int ntotalargs, ffi_type * rtype, ffi_type ** atypes)
    • ffi_prep_cif_var

      public static int ffi_prep_cif_var(FFICIF cif, int abi, int nfixedargs, FFIType rtype, PointerBuffer atypes)
      ffi_status ffi_prep_cif_var(ffi_cif * cif, ffi_abi abi, unsigned int nfixedargs, unsigned int ntotalargs, ffi_type * rtype, ffi_type ** atypes)
    • nffi_call

      public static void nffi_call(long cif, long fn, long rvalue, long avalues)
      void ffi_call(ffi_cif * cif, FFI_FN_TYPE fn, void * rvalue, void ** avalues)
    • ffi_call

      public static void ffi_call(FFICIF cif, long fn, @Nullable ByteBuffer rvalue, @Nullable PointerBuffer avalues)
      void ffi_call(ffi_cif * cif, FFI_FN_TYPE fn, void * rvalue, void ** avalues)
    • nffi_get_struct_offsets

      public static int nffi_get_struct_offsets(int abi, long struct_type, long offsets)
      ffi_status ffi_get_struct_offsets(ffi_abi abi, ffi_type * struct_type, size_t * offsets)
    • ffi_get_struct_offsets

      public static int ffi_get_struct_offsets(int abi, FFIType struct_type, @Nullable PointerBuffer offsets)
      ffi_status ffi_get_struct_offsets(ffi_abi abi, ffi_type * struct_type, size_t * offsets)
    • ffi_get_closure_size

      public static long ffi_get_closure_size()
      size_t ffi_get_closure_size(void)
    • nffi_closure_alloc

      public static long nffi_closure_alloc(long size, long code)
      ffi_closure * ffi_closure_alloc(size_t size, void ** code)
    • ffi_closure_alloc

      public static @Nullable FFIClosure ffi_closure_alloc(long size, PointerBuffer code)
      ffi_closure * ffi_closure_alloc(size_t size, void ** code)
    • nffi_closure_free

      public static void nffi_closure_free(long writable)
      void ffi_closure_free(ffi_closure * writable)
    • ffi_closure_free

      public static void ffi_closure_free(FFIClosure writable)
      void ffi_closure_free(ffi_closure * writable)
    • nffi_prep_closure_loc

      public static int nffi_prep_closure_loc(long closure, long cif, long fun, long user_data, long codeloc)
      ffi_status ffi_prep_closure_loc(ffi_closure * closure, ffi_cif * cif, FFI_CLOSURE_FUN fun, void * user_data, void * codeloc)
    • ffi_prep_closure_loc

      public static int ffi_prep_closure_loc(FFIClosure closure, FFICIF cif, long fun, long user_data, long codeloc)
      ffi_status ffi_prep_closure_loc(ffi_closure * closure, ffi_cif * cif, FFI_CLOSURE_FUN fun, void * user_data, void * codeloc)