dart:ffi library

Foreign Function Interface for interoperability with the C programming language.

NOTE: Dart:FFI is in technical preview. The overall feature is incomplete, may contain issues, and breaking API changes are still expected.

For further details, please see: https://dart.dev/server/c-interop

Classes

DartRepresentationOf
Double
Represents a native 64 bit double in C. [...]
DynamicLibrary
Represents a dynamically loaded C library.
Float
Represents a native 32 bit float in C. [...]
Int8
Represents a native signed 8 bit integer in C. [...]
Int16
Represents a native signed 16 bit integer in C. [...]
Int32
Represents a native signed 32 bit integer in C. [...]
Int64
Represents a native signed 64 bit integer in C. [...]
IntPtr
Represents a native pointer-sized integer in C. [...]
NativeFunction<T extends Function>
Represents a function type in C. [...]
NativeType
NativeType's subtypes represent a native type in C. [...]
Pointer<T extends NativeType>
Represents a pointer into the native C memory. Cannot be extended.
Struct
This class is extended to define structs. [...]
Uint8
Represents a native unsigned 8 bit integer in C. [...]
Uint16
Represents a native unsigned 16 bit integer in C. [...]
Uint32
Represents a native unsigned 32 bit integer in C. [...]
Uint64
Represents a native unsigned 64 bit integer in C. [...]
Unsized
Void
Represents a void type in C. [...]

Extensions

DoublePointer
Extension on Pointer specialized for the type argument Double.
FloatPointer
Extension on Pointer specialized for the type argument Float.
Int8Pointer
Extension on Pointer specialized for the type argument Int8.
Int16Pointer
Extension on Pointer specialized for the type argument Int16.
Int32Pointer
Extension on Pointer specialized for the type argument Int32.
Int64Pointer
Extension on Pointer specialized for the type argument Int64.
IntPtrPointer
Extension on Pointer specialized for the type argument IntPtr.
PointerPointer
Extension on Pointer specialized for the type argument Pointer.
StructPointer
Extension on Pointer specialized for the type argument Struct.
Uint8Pointer
Extension on Pointer specialized for the type argument Uint8.
Uint16Pointer
Extension on Pointer specialized for the type argument Uint16.
Uint32Pointer
Extension on Pointer specialized for the type argument Uint32.
Uint64Pointer
Extension on Pointer specialized for the type argument Uint64.

Constants

unsized → const Unsized
This NativeType does not have predefined size. [...]
const Unsized()

Properties

nullptr Pointer<Null>
Represents a pointer into the native C memory corresponding to "NULL", e.g. a pointer with address 0.
final

Functions

sizeOf<T extends NativeType>() int
Number of bytes used by native type T. [...]