Package com.sun.jna

# Class Structure.FFIType

java.lang.Object
com.sun.jna.Structure
com.sun.jna.Structure.FFIType

Enclosing class:
  Structure

@FieldOrder({"size","alignment","type","elements"}) static class Structure.FFIType extends Structure
This class auto-generates an ffi_type structure appropriate for a given structure for use by libffi. The lifecycle of this structure is easier to manage on the Java side than in native code.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`Structure.FFIType.size_t`

## Nested classes/interfaces inherited from class com.sun.jna.Structure

`Structure.ByReference, Structure.ByValue, Structure.FFIType, Structure.FieldOrder, Structure.StructField, Structure.StructureSet`

## Field Summary

Fields
Modifier and Type
Field
Description
`short`
`alignment`
`Pointer`
`elements`
`Structure.FFIType.size_t`
`size`
`short`
`type`

### Fields inherited from class com.sun.jna.Structure

`ALIGN_DEFAULT, ALIGN_GNUC, ALIGN_MSVC, ALIGN_NONE, CALCULATE_SIZE, fieldOrder, layoutInfo`

## Constructor Summary

Constructors
Constructor
Description
`FFIType()`
`FFIType(Structure ref)`
`FFIType(Structure.FFIType reference)`
`FFIType(Object array, Class<?> type)`

## Method Summary

Modifier and Type
Method
Description
`(package private) static Structure.FFIType`
`get(Object obj)`
Obtain a pointer to the native FFI type descriptor for the given object.

### Methods inherited from class com.sun.jna.Structure

`allocateMemory, allocateMemory, autoAllocate, autoRead, autoRead, autoWrite, autoWrite, busy, cacheTypeInfo, calculateSize, calculateSize, clear, conditionalAutoRead, createFieldsOrder, createFieldsOrder, createFieldsOrder, createFieldsOrder, dataEquals, dataEquals, ensureAllocated, equals, fieldOffset, fields, getAutoRead, getAutoWrite, getFieldList, getFieldOrder, getFields, getFieldTypeInfo, getFieldValue, getNativeAlignment, getNativeSize, getNativeSize, getPointer, getStringEncoding, getStructAlignment, getTypeInfo, getTypeInfo, getTypeMapper, hashCode, newInstance, newInstance, read, readField, readField, reading, setAlignType, setAutoRead, setAutoSynch, setAutoWrite, setFieldValue, setStringEncoding, size, size, size, sortFields, toArray, toArray, toString, toString, updateStructureByReference, useMemory, useMemory, useMemory, validate, write, writeField, writeField, writeField`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Field Details

### size

public Structure.FFIType.size_t size

### alignment

public short alignment

### type

public short type

### elements

public Pointer elements

## Constructor Details

### FFIType

public FFIType(Structure.FFIType reference)

### FFIType

public FFIType()

### FFIType

public FFIType(Structure ref)

### FFIType

public FFIType(Object array, Class<?> type)

## Method Details

### get

static Structure.FFIType get(Object obj)
Obtain a pointer to the native FFI type descriptor for the given object.