| Interface | Description | 
|---|---|
| AltCallingConvention | Tagging interface to indicate the library or callback uses an alternate
 calling convention. | 
| Callback | All callback definitions must derive from this interface. | 
| Callback.UncaughtExceptionHandler | |
| CallbackProxy | Placeholder proxy interface to allow an InvocationHandler to convert
 arguments/return values on callback methods. | 
| FromNativeConverter | Define conversion from a native type to the appropriate Java type. | 
| Function.PostCallRead | Any argument which implements this interface will have the
  Function.PostCallRead.read()method called immediately after function invocation. | 
| FunctionMapper | Provides mapping of Java method names to native function names. | 
| InvocationMapper | Provide a method for overriding how a given function is invoked. | 
| Library | Derive from this interface for all native library definitions. | 
| Native.ffi_callback | |
| NativeMapped | Provide conversion for a Java type to and from a native type. | 
| Structure.ByReference | Tagging interface to indicate the address of an instance of the
 Structure type is to be used within a  Structuredefinition
 rather than nesting the full Structure contents. | 
| Structure.ByValue | Tagging interface to indicate the value of an instance of the
  Structuretype is to be used in function invocations rather
 than its address. | 
| ToNativeConverter | Define conversion from a Java type to its corresponding native type. | 
| TypeConverter | Convenience interface for bidirectional conversion. | 
| TypeMapper | Provides converters for conversion to and from native types. | 
| Version | 
| Class | Description | 
|---|---|
| CallbackParameterContext | Provide argument conversion context for a callback invocation. | 
| CallbackReference | Provides a reference to an association between a native callback closure
 and a Java  Callbackclosure. | 
| CallbackReference.AttachOptions | |
| CallbackResultContext | Conversion context from a Java  Callbackresult to a native value. | 
| CallbackThreadInitializer | |
| DefaultTypeMapper | Provide custom mappings to and from native types. | 
| ELFAnalyser | Analyse an ELF file for platform specific attributes. | 
| ELFAnalyser.ArmAeabiAttributesTag | |
| ELFAnalyser.ELFSectionHeaderEntry | |
| ELFAnalyser.ELFSectionHeaders | |
| FromNativeContext | Provides context for converting a native value into a Java type. | 
| Function | An abstraction for a native function pointer. | 
| FunctionParameterContext | |
| FunctionResultContext | Provide result conversion context for a function call. | 
| IntegerType | Represents a native integer value, which may have a platform-specific size
 (e.g. | 
| JNIEnv | Marker type for the JNIEnv pointer. | 
| Klass | |
| Library.Handler | |
| Memory | A  Pointerto memory obtained from the native heap via a
 call tomalloc. | 
| MethodParameterContext | |
| MethodResultContext | Provide result conversion context for a function call that is called via
 a Library interface. | 
| Native | Provides generation of invocation plumbing for a defined native
 library interface. | 
| NativeLibrary | Provides management of native library resources. | 
| NativeLong | Represents the  longC data type, which may be 32 or 64 bits
 on *nix-based systems. | 
| NativeMappedConverter | Provides type conversion for instances of  NativeMapped. | 
| NativeString | Provides a temporary allocation of an immutable C string
 ( const char*orconst wchar_t*) for use when
 converting a Java String into a native memory function argument. | 
| Platform | Provide simplified platform information. | 
| Pointer | An abstraction for a native pointer data type. | 
| PointerType | Type representing a type-safe native pointer. | 
| StringArray | Handle native array of  char*orwchar_t*type
 by managing allocation/disposal of native strings within an array of
 pointers. | 
| Structure | Represents a native structure with a Java peer class. | 
| Structure.FFIType | This class auto-generates an ffi_type structure appropriate for a given
 structure for use by libffi. | 
| Structure.FFIType.size_t | |
| Structure.StructField | |
| Structure.StructureSet | Avoid using a hash-based implementation since the hash code
            for a Structure is not immutable. | 
| StructureReadContext | Provide native to Java type conversion context for a  Structurefield
 read. | 
| StructureWriteContext | Provide Java to native type conversion context for a  Structurefield
 write. | 
| ToNativeContext | Context for converting a Java value to a native one. | 
| Union | Represents a native union. | 
| VarArgsChecker | Class for checking if a method has vararg parameters. | 
| WeakMemoryHolder | Helper to hold a memory object based on the lifetime of another object. | 
| WString | Simple wrapper class to identify a wide string argument or return type. | 
| Enum | Description | 
|---|---|
| ELFAnalyser.ArmAeabiAttributesTag.ParameterType | 
| Exception | Description | 
|---|---|
| LastErrorException | Exception representing a non-zero error code returned in either
  errnoorGetLastError(). | 
| Annotation Type | Description | 
|---|---|
| Structure.FieldOrder | Used to declare fields order as metadata instead of method. |