dart:ffi library Null safety
Foreign Function Interface for interoperability with the C programming language.
For further details, please see: https://dart.cn/server/c-interop
Classes
- Allocator
- Manages memory on the native heap.
-
Array<
T extends NativeType> -
A fixed-sized array of
T
s. - Dart_CObject
- Opaque, not exposing it's members.
- DartRepresentationOf
- Double
- Represents a native 64 bit double in C. [...]
- DynamicLibrary
- A dynamically loaded native library. [...]
- Float
- Represents a native 32 bit float in C. [...]
- Handle
-
Represents
Dart_Handle
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. [...]
- NativeApi
-
Utilities for accessing the Dart VM API from Dart code or
from C code via
dart_api_dl.h
. -
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.
- Struct
- The supertype of all FFI struct types. [...]
- 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
- AllocatorAlloc
- Extension on Allocator to provide allocation with NativeType.
- ArrayArray
- Bounds checking indexing methods on Arrays of Array.
- DoubleArray
- Bounds checking indexing methods on Arrays of Double.
- DoublePointer
- Extension on Pointer specialized for the type argument Double.
- DynamicLibraryExtension
- Method which must not be invoked dynamically.
- FloatArray
- Bounds checking indexing methods on Arrays of Float.
- FloatPointer
- Extension on Pointer specialized for the type argument Float.
- Int8Array
- Bounds checking indexing methods on Arrays of Int8.
- Int8Pointer
- Extension on Pointer specialized for the type argument Int8.
- Int16Array
- Bounds checking indexing methods on Arrays of Int16.
- Int16Pointer
- Extension on Pointer specialized for the type argument Int16.
- Int32Array
- Bounds checking indexing methods on Arrays of Int32.
- Int32Pointer
- Extension on Pointer specialized for the type argument Int32.
- Int64Array
- Bounds checking indexing methods on Arrays of Int64.
- Int64Pointer
- Extension on Pointer specialized for the type argument Int64.
- IntPtrArray
- Bounds checking indexing methods on Arrays of IntPtr.
- IntPtrPointer
- Extension on Pointer specialized for the type argument IntPtr.
- NativeFunctionPointer
- Extension on Pointer specialized for the type argument NativeFunction.
- NativePort
-
Extension to retrieve the native
Dart_Port
from a SendPort. - PointerArray
- Bounds checking indexing methods on Arrays of Pointer.
- PointerPointer
- Extension on Pointer specialized for the type argument Pointer.
- StructArray
- Bounds checking indexing methods on Arrays of Struct.
- StructPointer
- Extension on Pointer specialized for the type argument Struct.
- Uint8Array
- Bounds checking indexing methods on Arrays of Uint8.
- Uint8Pointer
- Extension on Pointer specialized for the type argument Uint8.
- Uint16Array
- Bounds checking indexing methods on Arrays of Uint16.
- Uint16Pointer
- Extension on Pointer specialized for the type argument Uint16.
- Uint32Array
- Bounds checking indexing methods on Arrays of Uint32.
- Uint32Pointer
- Extension on Pointer specialized for the type argument Uint32.
- Uint64Array
- Bounds checking indexing methods on Arrays of Uint64.
- Uint64Pointer
- Extension on Pointer specialized for the type argument Uint64.
Constants
- unsized → const Unsized
-
This NativeType does not have predefined size. [...]
const Unsized()
Properties
Functions
-
sizeOf<
T extends NativeType> () → int - Number of bytes used by native type T. [...]