Package org.lwjgl.system.libffi
Class FFIClosure
- All Implemented Interfaces:
AutoCloseable,NativeResource,Pointer
struct ffi_closure {
ffi_cif * cif;
void (*)(ffi_cif*,void*,void**,void*) fun;
void * user_data;
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionFFIClosure(ByteBuffer container) Creates aFFIClosureinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic FFIClosurecalloc()Returns a newFFIClosureinstance allocated withmemCalloc.static FFIClosure.Buffercalloc(int capacity) Returns a newFFIClosure.Bufferinstance allocated withmemCalloc.static FFIClosure.Buffercalloc(int capacity, MemoryStack stack) Returns a newFFIClosure.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static FFIClosurecalloc(MemoryStack stack) Returns a newFFIClosureinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.cif()static FFIClosurecreate()Returns a newFFIClosureinstance allocated withBufferUtils.static FFIClosure.Buffercreate(int capacity) Returns a newFFIClosure.Bufferinstance allocated withBufferUtils.static FFIClosurecreate(long address) Returns a newFFIClosureinstance for the specified memory address.static FFIClosure.Buffercreate(long address, int capacity) Create aFFIClosure.Bufferinstance at the specified memory.static @Nullable FFIClosurecreateSafe(long address) static @Nullable FFIClosure.BuffercreateSafe(long address, int capacity) longfun()static FFIClosuremalloc()Returns a newFFIClosureinstance allocated withmemAlloc.static FFIClosure.Buffermalloc(int capacity) Returns a newFFIClosure.Bufferinstance allocated withmemAlloc.static FFIClosure.Buffermalloc(int capacity, MemoryStack stack) Returns a newFFIClosure.Bufferinstance allocated on the specifiedMemoryStack.static FFIClosuremalloc(MemoryStack stack) Returns a newFFIClosureinstance allocated on the specifiedMemoryStack.static FFICIFncif(long struct) Unsafe version ofcif().static longnfun(long struct) Unsafe version offun().static longnuser_data(long struct) Unsafe version ofuser_data().intsizeof()Returnssizeof(struct).longMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
CIF
public static final int CIFThe struct member offsets. -
FUN
public static final int FUNThe struct member offsets. -
USER_DATA
public static final int USER_DATAThe struct member offsets.
-
-
Constructor Details
-
FFIClosure
Creates aFFIClosureinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()Description copied from class:StructReturnssizeof(struct).- Specified by:
sizeofin classStruct<FFIClosure>
-
cif
- Returns:
- a
FFICIFview of the struct pointed to by theciffield.
-
fun
public long fun()- Returns:
- the value of the
funfield.
-
user_data
public long user_data()- Returns:
- the value of the
user_datafield.
-
malloc
Returns a newFFIClosureinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newFFIClosureinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newFFIClosureinstance allocated withBufferUtils. -
create
Returns a newFFIClosureinstance for the specified memory address. -
createSafe
-
malloc
Returns a newFFIClosure.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newFFIClosure.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newFFIClosure.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aFFIClosure.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newFFIClosureinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newFFIClosureinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newFFIClosure.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newFFIClosure.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
ncif
Unsafe version ofcif(). -
nfun
public static long nfun(long struct) Unsafe version offun(). -
nuser_data
public static long nuser_data(long struct) Unsafe version ofuser_data().
-