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​(java.lang.Object array, java.lang.Class<?> type)` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `(package private) static Structure.FFIType` | `get​(java.lang.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 Detail

    - #### size

          public Structure.FFIType.size_t size

    - #### alignment

          public short alignment

    - #### type

          public short type

    - #### elements

          public Pointer elements

  - ### Constructor Detail

    - #### FFIType

          public FFIType​(Structure.FFIType reference)

    - #### FFIType

          public FFIType()

    - #### FFIType

          public FFIType​(Structure ref)

    - #### FFIType

          public FFIType​(java.lang.Object array,
                         java.lang.Class<?> type)

  - ### Method Detail

    - #### get

          static Structure.FFIType get​(java.lang.Object obj)

      Obtain a pointer to the native FFI type descriptor for the given object.