dart:ffi library
Foreign Function Interface for interoperability with the C programming language.
For further details, please see: https://dart.dev/server/c-interop.
Classes
- Abi
- An application binary interface (ABI).
- AbiSpecificInteger
- The supertype of all Abi-specific integer types.
- AbiSpecificIntegerMapping
- Mapping for a subtype of AbiSpecificInteger.
- Allocator
- Manages memory on the native heap.
-
Array<
T extends NativeType> -
A fixed-sized array of
T
s. - Bool
- Represents a native bool in C.
- Char
-
The C
char
type. - Dart_CObject
- Opaque, not exposing it's members.
- DartRepresentationOf
- DefaultAsset
- Annotation specifying the default asset ID for the current library.
- Double
- Represents a native 64 bit double in C.
- DynamicLibrary
- A dynamically loaded native library.
- Finalizable
- Marker interface for objects which should not be finalized too soon.
- Float
- Represents a native 32 bit float in C.
- Handle
-
Represents
Dart_Handle
fromdart_api.h
in C. - Int
-
The C
int
type. - 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.
- Int8
- Represents a native signed 8 bit integer in C.
- IntPtr
-
The C
intptr_t
type. - Long
-
The C
long int
, aka.long
, type. - LongLong
-
The C
long long
type. -
Native<
T> - Annotation binding an external declaration to its native implementation.
- NativeApi
-
Utilities for accessing the Dart VM API from Dart code or
from C code via
dart_api_dl.h
. -
NativeCallable<
T extends Function> - A native callable which listens for calls to a native function.
- NativeFinalizer
- A native finalizer which can be attached to Dart objects.
-
NativeFunction<
T extends Function> - Represents a function type in C.
- NativeType
- NativeType's subtypes represent a native type in C.
- Opaque
- Opaque's subtypes represent opaque types in C.
- Packed
-
Annotation to specify on
Struct
subtypes to indicate that its members need to be packed. -
Pointer<
T extends NativeType> - Represents a pointer into the native C memory. Cannot be extended.
- Short
-
The C
short
type. - SignedChar
-
The C
signed char
type. - Size
-
The C
size_t
type. - SizedNativeType
- A NativeType with a known size.
- Struct
- The supertype of all FFI struct types.
- 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.
- Uint8
- Represents a native unsigned 8 bit integer in C.
- UintPtr
-
The C
uintptr_t
type. - Union
- The supertype of all FFI union types.
- UnsignedChar
-
The C
unsigned char
type. - UnsignedInt
-
The C
unsigned int
type. - UnsignedLong
-
The C
unsigned long int
, aka.unsigned long
, type. - UnsignedLongLong
-
The C
unsigned long long
type. - UnsignedShort
-
The C
unsigned short
type. -
VarArgs<
T extends Record> - The types of variadic arguments passed in C.
- Void
- Represents a void type in C.
- WChar
-
The C
wchar_t
type.
Extensions
-
AbiSpecificIntegerArray
on Array<
T> - Bounds checking indexing methods on Arrays of AbiSpecificInteger.
-
AbiSpecificIntegerPointer
on Pointer<
T> - Extension on Pointer specialized for the type argument AbiSpecificInteger.
- AllocatorAlloc on Allocator
- Extension on Allocator to provide allocation with NativeType.
-
ArrayAddress
on Array<
T> -
ArrayArray
on Array<
Array< T> > - Bounds checking indexing methods on Arrays of Array.
- BoolAddress on bool
-
BoolArray
on Array<
Bool> - Bounds checking indexing methods on Arrays of Bool.
-
BoolPointer
on Pointer<
Bool> - Extension on Pointer specialized for the type argument Bool.
- DoubleAddress on double
-
DoubleArray
on Array<
Double> - Bounds checking indexing methods on Arrays of Double.
-
DoublePointer
on Pointer<
Double> - Extension on Pointer specialized for the type argument Double.
- DynamicLibraryExtension on DynamicLibrary
- Method which must not be invoked dynamically.
- Float32ListAddress on Float32List
- Float64ListAddress on Float64List
-
FloatArray
on Array<
Float> - Bounds checking indexing methods on Arrays of Float.
-
FloatPointer
on Pointer<
Float> - Extension on Pointer specialized for the type argument Float.
-
Int16Array
on Array<
Int16> - Bounds checking indexing methods on Arrays of Int16.
- Int16ListAddress on Int16List
-
Int16Pointer
on Pointer<
Int16> - Extension on Pointer specialized for the type argument Int16.
-
Int32Array
on Array<
Int32> - Bounds checking indexing methods on Arrays of Int32.
- Int32ListAddress on Int32List
-
Int32Pointer
on Pointer<
Int32> - Extension on Pointer specialized for the type argument Int32.
-
Int64Array
on Array<
Int64> - Bounds checking indexing methods on Arrays of Int64.
- Int64ListAddress on Int64List
-
Int64Pointer
on Pointer<
Int64> - Extension on Pointer specialized for the type argument Int64.
-
Int8Array
on Array<
Int8> - Bounds checking indexing methods on Arrays of Int8.
- Int8ListAddress on Int8List
-
Int8Pointer
on Pointer<
Int8> - Extension on Pointer specialized for the type argument Int8.
- IntAddress on int
-
NativeFunctionPointer
on Pointer<
NativeFunction< NF> > - Extension on Pointer specialized for the type argument NativeFunction.
- NativePort on SendPort
-
Extension to retrieve the native
Dart_Port
from a SendPort. -
PointerArray
on Array<
Pointer< T> > - Bounds checking indexing methods on Arrays of Pointer.
-
PointerPointer
on Pointer<
Pointer< T> > - Extension on Pointer specialized for the type argument Pointer.
- StructAddress on T
-
StructArray
on Array<
T> - Bounds checking indexing methods on Arrays of Struct.
-
StructPointer
on Pointer<
T> - Extension on Pointer specialized for the type argument Struct.
-
Uint16Array
on Array<
Uint16> - Bounds checking indexing methods on Arrays of Uint16.
- Uint16ListAddress on Uint16List
-
Uint16Pointer
on Pointer<
Uint16> - Extension on Pointer specialized for the type argument Uint16.
-
Uint32Array
on Array<
Uint32> - Bounds checking indexing methods on Arrays of Uint32.
- Uint32ListAddress on Uint32List
-
Uint32Pointer
on Pointer<
Uint32> - Extension on Pointer specialized for the type argument Uint32.
-
Uint64Array
on Array<
Uint64> - Bounds checking indexing methods on Arrays of Uint64.
- Uint64ListAddress on Uint64List
-
Uint64Pointer
on Pointer<
Uint64> - Extension on Pointer specialized for the type argument Uint64.
-
Uint8Array
on Array<
Uint8> - Bounds checking indexing methods on Arrays of Uint8.
- Uint8ListAddress on Uint8List
-
Uint8Pointer
on Pointer<
Uint8> - Extension on Pointer specialized for the type argument Uint8.
- UnionAddress on T
-
UnionArray
on Array<
T> - Bounds checking indexing methods on Arrays of Union.
-
UnionPointer
on Pointer<
T> - Extension on Pointer specialized for the type argument Union.
Properties
Functions
-
sizeOf<
T extends SizedNativeType> () → int - Number of bytes used by native type T.
Typedefs
-
Dart_NativeMessageHandler
= Void Function(Int64, Pointer<
Dart_CObject> ) -
NativeFinalizerFunction
= NativeFunction<
Void Function(Pointer< Void> token)> - The native function type for NativeFinalizers.