7#ifndef RUNTIME_INCLUDE_DART_API_H_
8#define RUNTIME_INCLUDE_DART_API_H_
20#ifndef __STDC_FORMAT_MACROS
21#define __STDC_FORMAT_MACROS
28#if defined(__Fuchsia__)
29#include <zircon/types.h>
33#define DART_EXTERN_C extern "C"
35#define DART_EXTERN_C extern
38#if defined(__CYGWIN__)
39#error Tool chain and platform not supported.
41#if defined(DART_SHARED_LIB)
42#define DART_EXPORT DART_EXTERN_C __declspec(dllexport)
44#define DART_EXPORT DART_EXTERN_C
48#if defined(DART_SHARED_LIB)
50 DART_EXTERN_C __attribute__((visibility("default"))) __attribute((used))
52#define DART_EXPORT DART_EXTERN_C
55#error Tool chain not supported.
60#define DART_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
61#define DART_DEPRECATED(msg) __attribute__((deprecated(msg)))
63#define DART_WARN_UNUSED_RESULT _Check_return_
64#define DART_DEPRECATED(msg) __declspec(deprecated(msg))
66#define DART_WARN_UNUSED_RESULT
67#define DART_DEPRECATED(msg)
497 intptr_t external_allocation_size,
545 intptr_t external_allocation_size,
582#define DART_FLAGS_CURRENT_VERSION (0x0000000d)
655 const char* script_uri,
657 const char* package_root,
658 const char* package_config,
776typedef void* (*Dart_FileOpenCallback)(
const char*
name,
bool write);
793 intptr_t* file_length,
840#define DART_INITIALIZE_PARAMS_CURRENT_VERSION (0x00000008)
882typedef const char* (*Dart_RegisterKernelBlobCallback)(
883 const uint8_t* kernel_buffer,
884 intptr_t kernel_buffer_size);
984#if defined(__Fuchsia__)
990 zx_handle_t vmex_resource;
1089 void* isolate_group_data,
1120 void* child_isolate_data,
1158 const uint8_t* kernel_buffer,
1159 intptr_t kernel_buffer_size,
1161 void* isolate_group_data,
1283typedef void* (*Dart_HeapSamplingCreateCallback)(
1286 const char* cls_name,
1287 intptr_t allocation_size);
1485 intptr_t* vm_snapshot_data_size,
1486 uint8_t** isolate_snapshot_data_buffer,
1487 intptr_t* isolate_snapshot_data_size,
1535#define ILLEGAL_PORT ((Dart_Port)0)
1744 bool errors_are_fatal,
2163 const char**
value);
2352 uint8_t** utf8_array,
2370 uint8_t* utf8_array,
2387 uint8_t* latin1_array,
2402 uint16_t* utf16_array,
2431 intptr_t* char_size,
2552 uint8_t* native_array,
2560 const uint8_t* native_array,
2696 intptr_t external_allocation_size,
2703 intptr_t external_allocation_size,
2791 int number_of_arguments,
2817 intptr_t num_native_fields,
2818 const intptr_t* native_fields);
2846 int number_of_arguments,
2861 int number_of_arguments,
2887 int number_of_arguments,
3068#define BITMASK(size) ((1 << size) - 1)
3069#define DART_NATIVE_ARG_DESCRIPTOR(type, position) \
3070 (((type & BITMASK(kNativeArgTypeSize)) << kNativeArgTypePos) | \
3071 (position & BITMASK(kNativeArgNumberSize)))
3128 intptr_t* field_values);
3235 int num_of_arguments,
3236 bool* auto_setup_scope);
3262typedef void* (*Dart_FfiNativeResolver)(
const char*
name, uintptr_t args_n);
3364typedef void* (*Dart_NativeAssetsDlopenCallback)(
const char*
path,
3366typedef void* (*Dart_NativeAssetsDlopenCallbackNoPath)(
char**
error);
3387typedef void* (*Dart_NativeAssetsDlsymCallback)(
void* handle,
3510 const uint8_t* snapshot_data,
3511 const uint8_t* snapshot_instructions);
3527 const char* error_message,
3578 intptr_t number_of_type_arguments,
3597 intptr_t number_of_type_arguments,
3617 intptr_t number_of_type_arguments,
3711 intptr_t kernel_buffer_size);
3841 const uint8_t* platform_kernel,
3842 const intptr_t platform_kernel_size,
3843 bool incremental_compile,
3844 bool snapshot_compile,
3846 const char* package_config,
3866 const uint8_t* platform_kernel,
3867 const intptr_t platform_kernel_size);
3873 const char* package_config,
3874 const char* original_working_directory,
3875 const uint8_t* snapshot_data,
3876 const uint8_t* snapshot_instructions,
3877 const uint8_t* kernel_buffer,
3878 intptr_t kernel_buffer_size);
3880#define DART_KERNEL_ISOLATE_NAME "kernel-service"
3888#define DART_VM_SERVICE_ISOLATE_NAME "vm-service"
3931 void* callback_data,
3932 intptr_t loading_unit_id,
3933 void** write_callback_data,
3934 void** write_debug_callback_data);
3945#if defined(__APPLE__)
3946#define kSnapshotBuildIdCSymbol "kDartSnapshotBuildId"
3947#define kVmSnapshotDataCSymbol "kDartVmSnapshotData"
3948#define kVmSnapshotInstructionsCSymbol "kDartVmSnapshotInstructions"
3949#define kVmSnapshotBssCSymbol "kDartVmSnapshotBss"
3950#define kIsolateSnapshotDataCSymbol "kDartIsolateSnapshotData"
3951#define kIsolateSnapshotInstructionsCSymbol "kDartIsolateSnapshotInstructions"
3952#define kIsolateSnapshotBssCSymbol "kDartIsolateSnapshotBss"
3954#define kSnapshotBuildIdCSymbol "_kDartSnapshotBuildId"
3955#define kVmSnapshotDataCSymbol "_kDartVmSnapshotData"
3956#define kVmSnapshotInstructionsCSymbol "_kDartVmSnapshotInstructions"
3957#define kVmSnapshotBssCSymbol "_kDartVmSnapshotBss"
3958#define kIsolateSnapshotDataCSymbol "_kDartIsolateSnapshotData"
3959#define kIsolateSnapshotInstructionsCSymbol "_kDartIsolateSnapshotInstructions"
3960#define kIsolateSnapshotBssCSymbol "_kDartIsolateSnapshotBss"
3963#define kSnapshotBuildIdAsmSymbol "_kDartSnapshotBuildId"
3964#define kVmSnapshotDataAsmSymbol "_kDartVmSnapshotData"
3965#define kVmSnapshotInstructionsAsmSymbol "_kDartVmSnapshotInstructions"
3966#define kVmSnapshotBssAsmSymbol "_kDartVmSnapshotBss"
3967#define kIsolateSnapshotDataAsmSymbol "_kDartIsolateSnapshotData"
3968#define kIsolateSnapshotInstructionsAsmSymbol \
3969 "_kDartIsolateSnapshotInstructions"
3970#define kIsolateSnapshotBssAsmSymbol "_kDartIsolateSnapshotBss"
3999 void* callback_data,
4001 void* debug_callback_data);
4005 void* next_callback_data,
4039 void* callback_data,
4041 void* debug_callback_data);
4044 void* next_callback_data,
4057 void* callback_data);
4091 intptr_t* isolate_snapshot_data_size,
4092 uint8_t** isolate_snapshot_instructions_buffer,
4093 intptr_t* isolate_snapshot_instructions_size);
4145typedef char* (*Dart_DwarfStackTraceFootnoteCallback)(
void* addresses[],
static uint32_t buffer_size(uint32_t offset, uint32_t maxAlignment)
static bool equal(const SkBitmap &a, const SkBitmap &b)
int main(int argc, char **argv)
DART_EXPORT void Dart_SetPausedOnExit(bool paused)
DART_EXPORT Dart_Handle Dart_ListSetAsBytes(Dart_Handle list, intptr_t offset, const uint8_t *native_array, intptr_t length)
DART_EXPORT Dart_Isolate Dart_CreateIsolateGroup(const char *script_uri, const char *name, const uint8_t *isolate_snapshot_data, const uint8_t *isolate_snapshot_instructions, Dart_IsolateFlags *flags, void *isolate_group_data, void *isolate_data, char **error)
DART_EXPORT Dart_Handle Dart_HandleFromPersistent(Dart_PersistentHandle object)
DART_EXPORT Dart_Handle Dart_StringToUTF16(Dart_Handle str, uint16_t *utf16_array, intptr_t *length)
DART_EXPORT Dart_Handle Dart_StringLength(Dart_Handle str, intptr_t *length)
DART_EXPORT void Dart_IsolateFlagsInitialize(Dart_IsolateFlags *flags)
DART_EXPORT bool Dart_IsInteger(Dart_Handle object)
DART_EXPORT Dart_Handle Dart_TypeNever(void)
DART_EXPORT void * Dart_CurrentIsolateData(void)
DART_EXPORT Dart_Handle Dart_FunctionIsStatic(Dart_Handle function, bool *is_static)
DART_EXPORT Dart_TypedData_Type Dart_GetTypeOfExternalTypedData(Dart_Handle object)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_CreateAppAOTSnapshotAsElf(Dart_StreamingWriteCallback callback, void *callback_data, bool stripped, void *debug_callback_data)
void(* Dart_UnregisterKernelBlobCallback)(const char *kernel_blob_uri)
DART_EXPORT Dart_Handle Dart_NewDouble(double value)
DART_EXPORT void Dart_SetIntegerReturnValue(Dart_NativeArguments args, int64_t retval)
DART_EXPORT Dart_Handle Dart_GetNonNullableType(Dart_Handle library, Dart_Handle class_name, intptr_t number_of_type_arguments, Dart_Handle *type_arguments)
DART_EXPORT Dart_Handle Dart_GetType(Dart_Handle library, Dart_Handle class_name, intptr_t number_of_type_arguments, Dart_Handle *type_arguments)
DART_EXPORT Dart_Port Dart_KernelPort(void)
DART_EXPORT void Dart_DisableHeapSampling(void)
DART_EXPORT void Dart_SetPausedOnStart(bool paused)
Dart_Handle(* Dart_EnvironmentCallback)(Dart_Handle name)
DART_EXPORT Dart_Handle Dart_SetFfiNativeResolver(Dart_Handle library, Dart_FfiNativeResolver resolver)
void(* Dart_StreamingWriteCallback)(void *callback_data, const uint8_t *buffer, intptr_t size)
DART_EXPORT void Dart_StartProfiling(void)
DART_EXPORT Dart_FinalizableHandle Dart_NewFinalizableHandle(Dart_Handle object, void *peer, intptr_t external_allocation_size, Dart_HandleFinalizer callback)
DART_EXPORT DART_WARN_UNUSED_RESULT char * Dart_IsolateMakeRunnable(Dart_Isolate isolate)
DART_EXPORT void Dart_PrepareToAbort(void)
void(* Dart_FileWriteCallback)(const void *data, intptr_t length, void *stream)
Dart_Isolate(* Dart_IsolateGroupCreateCallback)(const char *script_uri, const char *main, const char *package_root, const char *package_config, Dart_IsolateFlags *flags, void *isolate_data, char **error)
DART_EXPORT Dart_Handle Dart_SetNativeResolver(Dart_Handle library, Dart_NativeEntryResolver resolver, Dart_NativeEntrySymbol symbol)
DART_EXPORT Dart_Handle Dart_IsNullableType(Dart_Handle type, bool *result)
Dart_KernelCompilationStatus
@ Dart_KernelCompilationStatus_MsgFailed
@ Dart_KernelCompilationStatus_Error
@ Dart_KernelCompilationStatus_Crash
@ Dart_KernelCompilationStatus_Unknown
@ Dart_KernelCompilationStatus_Ok
DART_EXPORT Dart_Handle Dart_ListGetRange(Dart_Handle list, intptr_t offset, intptr_t length, Dart_Handle *result)
DART_EXPORT Dart_Handle Dart_GetNativeResolver(Dart_Handle library, Dart_NativeEntryResolver *resolver)
DART_EXPORT Dart_Handle Dart_NewStringFromUTF8(const uint8_t *utf8_array, intptr_t length)
DART_EXPORT void Dart_ThreadDisableProfiling(void)
DART_EXPORT void Dart_StopProfiling(void)
DART_EXPORT bool Dart_IsBoolean(Dart_Handle object)
void(* Dart_IsolateCleanupCallback)(void *isolate_group_data, void *isolate_data)
DART_EXPORT Dart_Handle Dart_FunctionOwner(Dart_Handle function)
DART_EXPORT bool Dart_WriteProfileToTimeline(Dart_Port main_port, char **error)
DART_EXPORT bool Dart_HandleServiceMessages(void)
DART_EXPORT void Dart_EnterScope(void)
void(* Dart_FileCloseCallback)(void *stream)
DART_EXPORT void Dart_ExitScope(void)
DART_EXPORT Dart_Handle Dart_NewSendPort(Dart_Port port_id)
DART_EXPORT Dart_Handle Dart_TypeVoid(void)
DART_EXPORT bool Dart_IsInstance(Dart_Handle object)
DART_EXPORT Dart_Handle Dart_IntegerToInt64(Dart_Handle integer, int64_t *value)
DART_EXPORT bool Dart_IsStringLatin1(Dart_Handle object)
DART_EXPORT bool Dart_IsNumber(Dart_Handle object)
DART_EXPORT Dart_KernelCompilationResult Dart_KernelListDependencies(void)
DART_EXPORT Dart_Handle Dart_NewExternalTypedData(Dart_TypedData_Type type, void *data, intptr_t length)
@ Dart_PerformanceMode_Default
@ Dart_PerformanceMode_Latency
@ Dart_PerformanceMode_Memory
@ Dart_PerformanceMode_Throughput
DART_EXPORT void Dart_DumpNativeStackTrace(void *context)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_Allocate(Dart_Handle type)
DART_EXPORT const char * Dart_VersionString(void)
DART_EXPORT bool Dart_HasServiceMessages(void)
DART_EXPORT Dart_Handle Dart_SetDeferredLoadHandler(Dart_DeferredLoadHandler handler)
DART_EXPORT const char * Dart_DebugNameToCString(void)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_CreateAppAOTSnapshotAsAssemblies(Dart_CreateLoadingUnitCallback next_callback, void *next_callback_data, bool stripped, Dart_StreamingWriteCallback write_callback, Dart_StreamingCloseCallback close_callback)
DART_EXPORT Dart_Handle Dart_GetStaticMethodClosure(Dart_Handle library, Dart_Handle cls_type, Dart_Handle function_name)
DART_EXPORT Dart_Handle Dart_ErrorGetStackTrace(Dart_Handle handle)
void(* Dart_MessageNotifyCallback)(Dart_Isolate destination_isolate)
DART_EXPORT Dart_Handle Dart_MapKeys(Dart_Handle map)
DART_EXPORT void Dart_ShutdownIsolate(void)
DART_EXPORT Dart_Handle Dart_NewListOfTypeFilled(Dart_Handle element_type, Dart_Handle fill_object, intptr_t length)
void(* Dart_FileReadCallback)(uint8_t **data, intptr_t *file_length, void *stream)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_CreateAppAOTSnapshotAsElfs(Dart_CreateLoadingUnitCallback next_callback, void *next_callback_data, bool stripped, Dart_StreamingWriteCallback write_callback, Dart_StreamingCloseCallback close_callback)
DART_EXPORT void Dart_KillIsolate(Dart_Isolate isolate)
DART_EXPORT Dart_Handle Dart_StringStorageSize(Dart_Handle str, intptr_t *size)
DART_EXPORT bool Dart_ShouldPauseOnExit(void)
DART_EXPORT bool Dart_IsApiError(Dart_Handle handle)
struct _Dart_Handle * Dart_Handle
DART_EXPORT bool Dart_IsPausedOnExit(void)
DART_EXPORT Dart_Handle Dart_TypeToNonNullableType(Dart_Handle type)
DART_EXPORT Dart_Handle Dart_TypedDataReleaseData(Dart_Handle object)
const char *(* Dart_RegisterKernelBlobCallback)(const uint8_t *kernel_buffer, intptr_t kernel_buffer_size)
DART_EXPORT Dart_Handle Dart_ClassName(Dart_Handle cls_type)
bool(* Dart_EntropySource)(uint8_t *buffer, intptr_t length)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_CreateVMAOTSnapshotAsAssembly(Dart_StreamingWriteCallback callback, void *callback_data)
DART_EXPORT void Dart_ThreadEnableProfiling(void)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_CreateAppAOTSnapshotAsAssembly(Dart_StreamingWriteCallback callback, void *callback_data, bool stripped, void *debug_callback_data)
#define DART_WARN_UNUSED_RESULT
DART_EXPORT bool Dart_IsFunction(Dart_Handle handle)
DART_EXPORT bool Dart_IsTypeVariable(Dart_Handle handle)
DART_EXPORT void Dart_PropagateError(Dart_Handle handle)
DART_EXPORT bool Dart_IsByteBuffer(Dart_Handle object)
DART_EXPORT Dart_Handle Dart_True(void)
DART_EXPORT Dart_Handle Dart_NewStringFromUTF32(const int32_t *utf32_array, intptr_t length)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_Invoke(Dart_Handle target, Dart_Handle name, int number_of_arguments, Dart_Handle *arguments)
DART_EXPORT bool Dart_IsPausedOnStart(void)
DART_EXPORT Dart_PersistentHandle Dart_NewPersistentHandle(Dart_Handle object)
DART_EXPORT void Dart_SetHeapSamplingPeriod(intptr_t bytes)
DART_EXPORT bool Dart_IsVMFlagSet(const char *flag_name)
DART_EXPORT Dart_Isolate Dart_CreateIsolateInGroup(Dart_Isolate group_member, const char *name, Dart_IsolateShutdownCallback shutdown_callback, Dart_IsolateCleanupCallback cleanup_callback, void *child_isolate_data, char **error)
DART_EXPORT Dart_Handle Dart_GetDataFromByteBuffer(Dart_Handle byte_buffer)
struct _Dart_Isolate * Dart_Isolate
DART_EXPORT Dart_Handle Dart_FunctionName(Dart_Handle function)
Dart_NativeFunction(* Dart_NativeEntryResolver)(Dart_Handle name, int num_of_arguments, bool *auto_setup_scope)
DART_EXPORT Dart_Handle Dart_DebugName(void)
DART_EXPORT Dart_Handle Dart_ReThrowException(Dart_Handle exception, Dart_Handle stacktrace)
DART_EXPORT void Dart_SetDoubleReturnValue(Dart_NativeArguments args, double retval)
DART_EXPORT bool Dart_IsPrecompiledRuntime(void)
void(* Dart_StreamingCloseCallback)(void *callback_data)
void(* Dart_HandleFinalizer)(void *isolate_callback_data, void *peer)
void(* Dart_ThreadStartCallback)(void)
DART_EXPORT Dart_Handle Dart_GetNativeArgument(Dart_NativeArguments args, int index)
DART_EXPORT bool Dart_IsFatalError(Dart_Handle handle)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_InvokeClosure(Dart_Handle closure, int number_of_arguments, Dart_Handle *arguments)
DART_EXPORT Dart_Handle Dart_EmptyString(void)
DART_EXPORT Dart_Handle Dart_NewSendPortEx(Dart_PortEx portex_id)
DART_EXPORT Dart_Handle Dart_ListGetAsBytes(Dart_Handle list, intptr_t offset, uint8_t *native_array, intptr_t length)
struct _Dart_IsolateGroup * Dart_IsolateGroup
DART_EXPORT bool Dart_DetectNullSafety(const char *script_uri, const char *package_config, const char *original_working_directory, const uint8_t *snapshot_data, const uint8_t *snapshot_instructions, const uint8_t *kernel_buffer, intptr_t kernel_buffer_size)
const uint8_t *(* Dart_NativeEntrySymbol)(Dart_NativeFunction nf)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_LoadLibraryFromKernel(const uint8_t *kernel_buffer, intptr_t kernel_buffer_size)
DART_EXPORT Dart_Handle Dart_AllocateWithNativeFields(Dart_Handle type, intptr_t num_native_fields, const intptr_t *native_fields)
DART_EXPORT bool Dart_HasStickyError(void)
void *(* Dart_NativeAssetsDlopenCallback)(const char *path, char **error)
DART_EXPORT DART_WARN_UNUSED_RESULT bool Dart_RunLoopAsync(bool errors_are_fatal, Dart_Port on_error_port, Dart_Port on_exit_port, char **error)
DART_EXPORT Dart_Handle Dart_NewIntegerFromUint64(uint64_t value)
DART_EXPORT Dart_Handle Dart_LookupLibrary(Dart_Handle url)
DART_EXPORT Dart_Handle Dart_GetNativeInstanceField(Dart_Handle obj, int index, intptr_t *value)
void *(* Dart_FfiNativeResolver)(const char *name, uintptr_t args_n)
DART_EXPORT Dart_Handle Dart_TypedDataAcquireData(Dart_Handle object, Dart_TypedData_Type *type, void **data, intptr_t *len)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_SortClasses(void)
DART_EXPORT Dart_Handle Dart_ThrowException(Dart_Handle exception)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_FinalizeLoading(bool complete_futures)
DART_EXPORT Dart_Handle Dart_IntegerToHexCString(Dart_Handle integer, const char **value)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_InvokeConstructor(Dart_Handle object, Dart_Handle name, int number_of_arguments, Dart_Handle *arguments)
DART_EXPORT Dart_Handle Dart_GetNativeInstanceFieldCount(Dart_Handle obj, int *count)
DART_EXPORT Dart_Handle Dart_NewExternalTypedDataWithFinalizer(Dart_TypedData_Type type, void *data, intptr_t length, void *peer, intptr_t external_allocation_size, Dart_HandleFinalizer callback)
DART_EXPORT DART_WARN_UNUSED_RESULT char * Dart_Initialize(Dart_InitializeParams *params)
struct _Dart_NativeArguments * Dart_NativeArguments
bool(* Dart_InitializeIsolateCallback)(void **child_isolate_data, char **error)
DART_EXPORT void Dart_NotifyIdle(int64_t deadline)
DART_EXPORT Dart_Handle Dart_ClosureFunction(Dart_Handle closure)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_New(Dart_Handle type, Dart_Handle constructor_name, int number_of_arguments, Dart_Handle *arguments)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_SetField(Dart_Handle container, Dart_Handle name, Dart_Handle value)
@ Dart_TypedData_kFloat32x4
@ Dart_TypedData_kInt32x4
@ Dart_TypedData_kFloat64x2
@ Dart_TypedData_kFloat32
@ Dart_TypedData_kFloat64
@ Dart_TypedData_kUint8Clamped
@ Dart_TypedData_kByteData
@ Dart_TypedData_kInvalid
DART_EXPORT Dart_Handle Dart_SetNativeInstanceField(Dart_Handle obj, int index, intptr_t value)
DART_EXPORT Dart_Handle Dart_GetNativeIntegerArgument(Dart_NativeArguments args, int index, int64_t *value)
DART_EXPORT int Dart_GetNativeArgumentCount(Dart_NativeArguments args)
DART_EXPORT Dart_Isolate Dart_CurrentIsolate(void)
DART_EXPORT Dart_Handle Dart_NewTypedData(Dart_TypedData_Type type, intptr_t length)
DART_EXPORT bool Dart_IsKernel(const uint8_t *buffer, intptr_t buffer_size)
Dart_Handle Dart_PersistentHandle
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_GetObfuscationMap(uint8_t **buffer, intptr_t *buffer_length)
DART_EXPORT Dart_Handle Dart_False(void)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_CreateSnapshot(uint8_t **vm_snapshot_data_buffer, intptr_t *vm_snapshot_data_size, uint8_t **isolate_snapshot_data_buffer, intptr_t *isolate_snapshot_data_size, bool is_core)
void(* Dart_IsolateGroupCleanupCallback)(void *isolate_group_data)
DART_EXPORT Dart_Handle Dart_TypeToNullableType(Dart_Handle type)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_LoadLibrary(Dart_Handle kernel_buffer)
DART_EXPORT Dart_Handle Dart_SetEnvironmentCallback(Dart_EnvironmentCallback callback)
DART_EXPORT bool Dart_IsUnhandledExceptionError(Dart_Handle handle)
DART_EXPORT Dart_Handle Dart_NewApiError(const char *error)
DART_EXPORT void Dart_DeleteWeakPersistentHandle(Dart_WeakPersistentHandle object)
DART_EXPORT Dart_Handle Dart_TypeDynamic(void)
DART_EXPORT Dart_Handle Dart_Null(void)
struct _Dart_FinalizableHandle * Dart_FinalizableHandle
void(* Dart_OnNewCodeCallback)(struct Dart_CodeObserver *observer, const char *name, uintptr_t base, uintptr_t size)
DART_EXPORT Dart_KernelCompilationResult Dart_CompileToKernel(const char *script_uri, const uint8_t *platform_kernel, const intptr_t platform_kernel_size, bool incremental_compile, bool snapshot_compile, bool embed_sources, const char *package_config, Dart_KernelCompilationVerbosityLevel verbosity)
DART_EXPORT Dart_Handle Dart_Precompile(void)
void(* Dart_CreateLoadingUnitCallback)(void *callback_data, intptr_t loading_unit_id, void **write_callback_data, void **write_debug_callback_data)
void *(* Dart_FileOpenCallback)(const char *name, bool write)
DART_EXPORT Dart_Handle Dart_GetNativeSymbol(Dart_Handle library, Dart_NativeEntrySymbol *resolver)
void(* Dart_IsolateShutdownCallback)(void *isolate_group_data, void *isolate_data)
DART_EXPORT DART_WARN_UNUSED_RESULT char * Dart_Cleanup(void)
DART_EXPORT Dart_WeakPersistentHandle Dart_NewWeakPersistentHandle(Dart_Handle object, void *peer, intptr_t external_allocation_size, Dart_HandleFinalizer callback)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_DeferredLoadComplete(intptr_t loading_unit_id, const uint8_t *snapshot_data, const uint8_t *snapshot_instructions)
DART_EXPORT Dart_Handle Dart_GetNativeReceiver(Dart_NativeArguments args, intptr_t *value)
DART_EXPORT const char * Dart_IsolateServiceId(Dart_Isolate isolate)
DART_EXPORT Dart_Handle Dart_SendPortGetIdEx(Dart_Handle port, Dart_PortEx *portex_id)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_CreateAppJITSnapshotAsBlobs(uint8_t **isolate_snapshot_data_buffer, intptr_t *isolate_snapshot_data_size, uint8_t **isolate_snapshot_instructions_buffer, intptr_t *isolate_snapshot_instructions_size)
DART_EXPORT Dart_Handle Dart_GetPeer(Dart_Handle object, void **peer)
union _Dart_NativeArgument_Value Dart_NativeArgument_Value
void *(* Dart_NativeAssetsDlopenCallbackNoPath)(char **error)
DART_EXPORT Dart_Handle Dart_StringToLatin1(Dart_Handle str, uint8_t *latin1_array, intptr_t *length)
DART_EXPORT bool Dart_KernelIsolateIsRunning(void)
DART_EXPORT Dart_Handle Dart_ErrorGetException(Dart_Handle handle)
DART_EXPORT void Dart_SetDartLibrarySourcesKernel(const uint8_t *platform_kernel, const intptr_t platform_kernel_size)
DART_EXPORT void Dart_SetReturnValue(Dart_NativeArguments args, Dart_Handle retval)
DART_EXPORT void Dart_SetWeakHandleReturnValue(Dart_NativeArguments args, Dart_WeakPersistentHandle rval)
void(* Dart_ThreadExitCallback)(void)
DART_EXPORT Dart_Handle Dart_StringToUTF8(Dart_Handle str, uint8_t **utf8_array, intptr_t *length)
DART_EXPORT Dart_Handle Dart_MapContainsKey(Dart_Handle map, Dart_Handle key)
DART_EXPORT Dart_Handle Dart_LibraryResolvedUrl(Dart_Handle library)
DART_EXPORT Dart_Handle Dart_GetClass(Dart_Handle library, Dart_Handle class_name)
DART_EXPORT Dart_Handle Dart_ListLength(Dart_Handle list, intptr_t *length)
DART_EXPORT Dart_Handle Dart_NewByteBuffer(Dart_Handle typed_data)
DART_EXPORT bool Dart_IsNull(Dart_Handle object)
DART_EXPORT void Dart_SetShouldPauseOnExit(bool should_pause)
DART_EXPORT void Dart_NotifyDestroyed(void)
DART_EXPORT Dart_Port Dart_GetMainPortId(void)
DART_EXPORT void Dart_SetDwarfStackTraceFootnoteCallback(Dart_DwarfStackTraceFootnoteCallback callback)
DART_EXPORT Dart_Handle Dart_IntegerFitsIntoInt64(Dart_Handle integer, bool *fits)
DART_EXPORT uint8_t * Dart_ScopeAllocate(intptr_t size)
DART_EXPORT Dart_Isolate Dart_CreateIsolateGroupFromKernel(const char *script_uri, const char *name, const uint8_t *kernel_buffer, intptr_t kernel_buffer_size, Dart_IsolateFlags *flags, void *isolate_group_data, void *isolate_data, char **error)
DART_EXPORT void * Dart_IsolateData(Dart_Isolate isolate)
DART_EXPORT void Dart_SetStickyError(Dart_Handle error)
DART_EXPORT void Dart_AddSymbols(const char *dso_name, void *buffer, intptr_t buffer_size)
DART_EXPORT bool Dart_ErrorHasException(Dart_Handle handle)
DART_EXPORT Dart_Handle Dart_StringToCString(Dart_Handle str, const char **cstr)
void *(* Dart_HeapSamplingCreateCallback)(Dart_Isolate isolate, Dart_IsolateGroup isolate_group, const char *cls_name, intptr_t allocation_size)
DART_EXPORT Dart_Handle Dart_ObjectIsType(Dart_Handle object, Dart_Handle type, bool *instanceof)
DART_EXPORT Dart_Handle Dart_NewStringFromCString(const char *str)
DART_EXPORT Dart_Handle Dart_SendPortGetId(Dart_Handle port, Dart_Port *port_id)
void(* Dart_NativeFunction)(Dart_NativeArguments arguments)
Dart_Handle(* Dart_GetVMServiceAssetsArchive)(void)
DART_EXPORT bool Dart_IdentityEquals(Dart_Handle obj1, Dart_Handle obj2)
DART_EXPORT void * Dart_IsolateGroupData(Dart_Isolate isolate)
DART_EXPORT Dart_Handle Dart_GetStickyError(void)
DART_EXPORT Dart_Handle Dart_NewUnmodifiableExternalTypedDataWithFinalizer(Dart_TypedData_Type type, const void *data, intptr_t length, void *peer, intptr_t external_allocation_size, Dart_HandleFinalizer callback)
DART_EXPORT Dart_IsolateGroup Dart_CurrentIsolateGroup(void)
DART_EXPORT Dart_Handle Dart_NewInteger(int64_t value)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_GetField(Dart_Handle container, Dart_Handle name)
DART_EXPORT void Dart_RegisterHeapSamplingCallback(Dart_HeapSamplingCreateCallback create_callback, Dart_HeapSamplingDeleteCallback delete_callback)
DART_EXPORT bool Dart_IsType(Dart_Handle handle)
DART_EXPORT Dart_Handle Dart_DoubleValue(Dart_Handle double_obj, double *value)
DART_EXPORT Dart_Handle Dart_GetNativeArguments(Dart_NativeArguments args, int num_arguments, const Dart_NativeArgument_Descriptor *arg_descriptors, Dart_NativeArgument_Value *arg_values)
Dart_Handle(* Dart_LibraryTagHandler)(Dart_LibraryTag tag, Dart_Handle library_or_package_map_url, Dart_Handle url)
DART_EXPORT Dart_Handle Dart_NewBoolean(bool value)
DART_EXPORT void Dart_EnterIsolate(Dart_Isolate isolate)
DART_EXPORT void Dart_NotifyLowMemory(void)
@ Dart_NativeArgument_kString
@ Dart_NativeArgument_kInt64
@ Dart_NativeArgument_kNativeFields
@ Dart_NativeArgument_kInstance
@ Dart_NativeArgument_kInt32
@ Dart_NativeArgument_kUint64
@ Dart_NativeArgument_kUint32
@ Dart_NativeArgument_kDouble
@ Dart_NativeArgument_kBool
DART_EXPORT void Dart_SetBooleanReturnValue(Dart_NativeArguments args, bool retval)
DART_EXPORT Dart_Handle Dart_InstanceGetType(Dart_Handle instance)
DART_EXPORT bool Dart_IsVariable(Dart_Handle handle)
DART_EXPORT void Dart_SetShouldPauseOnStart(bool should_pause)
struct Dart_CodeObserver Dart_CodeObserver
DART_EXPORT Dart_Handle Dart_GetNativeFieldsOfArgument(Dart_NativeArguments args, int arg_index, int num_fields, intptr_t *field_values)
DART_EXPORT Dart_MessageNotifyCallback Dart_GetMessageNotifyCallback(void)
int64_t Dart_IsolateGroupId
DART_EXPORT Dart_Handle Dart_LibraryUrl(Dart_Handle library)
DART_EXPORT void Dart_SetPersistentHandle(Dart_PersistentHandle obj1, Dart_Handle obj2)
char *(* Dart_DwarfStackTraceFootnoteCallback)(void *addresses[], intptr_t count)
DART_EXPORT Dart_Handle Dart_LibraryHandleError(Dart_Handle library, Dart_Handle error)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_LoadScriptFromKernel(const uint8_t *kernel_buffer, intptr_t kernel_size)
DART_EXPORT Dart_PerformanceMode Dart_SetPerformanceMode(Dart_PerformanceMode mode)
DART_EXPORT Dart_Handle Dart_ObjectEquals(Dart_Handle obj1, Dart_Handle obj2, bool *equal)
DART_EXPORT DART_WARN_UNUSED_RESULT char * Dart_SetVMFlags(int argc, const char **argv)
DART_EXPORT void * Dart_GetNativeIsolateGroupData(Dart_NativeArguments args)
DART_EXPORT bool Dart_IsError(Dart_Handle handle)
DART_EXPORT Dart_Handle Dart_NewList(intptr_t length)
DART_EXPORT Dart_Handle Dart_NewStringFromUTF16(const uint16_t *utf16_array, intptr_t length)
DART_EXPORT Dart_Handle Dart_StringGetProperties(Dart_Handle str, intptr_t *char_size, intptr_t *str_len, void **peer)
struct _Dart_WeakPersistentHandle * Dart_WeakPersistentHandle
Dart_KernelCompilationVerbosityLevel
@ Dart_KernelCompilationVerbosityLevel_Error
@ Dart_KernelCompilationVerbosityLevel_Warning
@ Dart_KernelCompilationVerbosityLevel_All
@ Dart_KernelCompilationVerbosityLevel_Info
DART_EXPORT bool Dart_Post(Dart_Port port_id, Dart_Handle object)
DART_EXPORT Dart_Handle Dart_GetNullableType(Dart_Handle library, Dart_Handle class_name, intptr_t number_of_type_arguments, Dart_Handle *type_arguments)
DART_EXPORT void Dart_DeleteFinalizableHandle(Dart_FinalizableHandle object, Dart_Handle strong_ref_to_object)
DART_EXPORT Dart_Handle Dart_StringUTF8Length(Dart_Handle str, intptr_t *length)
DART_EXPORT void Dart_EnableHeapSampling(void)
DART_EXPORT bool Dart_ShouldPauseOnStart(void)
DART_EXPORT bool Dart_IsDouble(Dart_Handle object)
DART_EXPORT void Dart_ExitIsolate(void)
DART_EXPORT bool Dart_IsServiceIsolate(Dart_Isolate isolate)
Dart_Handle(* Dart_DeferredLoadHandler)(intptr_t loading_unit_id)
DART_EXPORT void * Dart_CurrentIsolateGroupData(void)
void *(* Dart_NativeAssetsDlsymCallback)(void *handle, const char *symbol, char **error)
DART_EXPORT void Dart_ReportSurvivingAllocations(Dart_HeapSamplingReportCallback callback, void *context, bool force_gc)
DART_EXPORT Dart_Handle Dart_HandleFromWeakPersistent(Dart_WeakPersistentHandle object)
DART_EXPORT Dart_Handle Dart_ListGetAt(Dart_Handle list, intptr_t index)
DART_EXPORT void Dart_DeletePersistentHandle(Dart_PersistentHandle object)
DART_EXPORT Dart_Handle Dart_CopyUTF8EncodingOfString(Dart_Handle str, uint8_t *utf8_array, intptr_t length)
DART_EXPORT void Dart_SetMessageNotifyCallback(Dart_MessageNotifyCallback message_notify_callback)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_DeferredLoadCompleteError(intptr_t loading_unit_id, const char *error_message, bool transient)
DART_EXPORT Dart_Handle Dart_MapGetAt(Dart_Handle map, Dart_Handle key)
DART_EXPORT Dart_Handle Dart_IsNonNullableType(Dart_Handle type, bool *result)
DART_EXPORT Dart_IsolateGroupId Dart_CurrentIsolateGroupId(void)
DART_EXPORT bool Dart_IsString(Dart_Handle object)
DART_EXPORT const char * Dart_GetError(Dart_Handle handle)
DART_EXPORT bool Dart_IsKernelIsolate(Dart_Isolate isolate)
DART_EXPORT Dart_Handle Dart_NewListOfType(Dart_Handle element_type, intptr_t length)
DART_EXPORT Dart_Handle Dart_NewIntegerFromHexCString(const char *value)
DART_EXPORT Dart_Handle Dart_NewUnhandledExceptionError(Dart_Handle exception)
DART_EXPORT Dart_Handle Dart_ToString(Dart_Handle object)
DART_EXPORT Dart_Handle Dart_SetPeer(Dart_Handle object, void *peer)
DART_EXPORT Dart_Handle Dart_BooleanValue(Dart_Handle boolean_obj, bool *value)
DART_EXPORT Dart_Handle Dart_ClassLibrary(Dart_Handle cls_type)
void(* Dart_HeapSamplingDeleteCallback)(void *data)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_RunLoop(void)
DART_EXPORT bool Dart_IsClosure(Dart_Handle object)
DART_EXPORT Dart_Handle Dart_IntegerFitsIntoUint64(Dart_Handle integer, bool *fits)
DART_EXPORT Dart_Handle Dart_GetLoadedLibraries(void)
DART_EXPORT bool Dart_IsLibrary(Dart_Handle object)
DART_EXPORT Dart_Handle Dart_SetLibraryTagHandler(Dart_LibraryTagHandler handler)
DART_EXPORT bool Dart_IsTearOff(Dart_Handle object)
DART_EXPORT Dart_Handle Dart_RootLibrary(void)
DART_EXPORT bool Dart_IsFuture(Dart_Handle object)
DART_EXPORT bool Dart_HasLivePorts(void)
DART_EXPORT bool Dart_IsList(Dart_Handle object)
DART_EXPORT Dart_Handle Dart_GetNativeDoubleArgument(Dart_NativeArguments args, int index, double *value)
struct _Dart_NativeArgument_Descriptor Dart_NativeArgument_Descriptor
DART_EXPORT Dart_Handle Dart_ListSetAt(Dart_Handle list, intptr_t index, Dart_Handle value)
DART_EXPORT Dart_Handle Dart_IntegerToUint64(Dart_Handle integer, uint64_t *value)
DART_EXPORT bool Dart_IsCompilationError(Dart_Handle handle)
DART_EXPORT bool Dart_IsMap(Dart_Handle object)
void(* Dart_HeapSamplingReportCallback)(void *context, void *data)
DART_EXPORT Dart_Handle Dart_NewCompilationError(const char *error)
DART_EXPORT bool Dart_IsTypedData(Dart_Handle object)
DART_EXPORT Dart_Handle Dart_GetNativeStringArgument(Dart_NativeArguments args, int arg_index, void **peer)
DART_EXPORT Dart_Handle Dart_LoadingUnitLibraryUris(intptr_t loading_unit_id)
DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_HandleMessage(void)
DART_EXPORT void Dart_InitializeNativeAssetsResolver(NativeAssetsApi *native_assets_api)
DART_EXPORT Dart_Handle Dart_GetNativeBooleanArgument(Dart_NativeArguments args, int index, bool *value)
DART_EXPORT Dart_Handle Dart_SetRootLibrary(Dart_Handle library)
DART_EXPORT Dart_TypedData_Type Dart_GetTypeOfTypedData(Dart_Handle object)
const EmbeddedViewParams * params
FlutterSemanticsFlag flags
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
const uint8_t uint32_t uint32_t GError ** error
Dart_NativeFunction function
const uint8_t * isolate_snapshot_data
const uint8_t * isolate_snapshot_instructions
const char *const class_name
const char *const function_name
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir Path to the cache directory This is different from the persistent_cache_path in embedder which is used for Skia shader cache icu native lib Path to the library file that exports the ICU data vm service The hostname IP address on which the Dart VM Service should be served If not defaults to or::depending on whether ipv6 is specified vm service port
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path
DEF_SWITCHES_START aot vmservice shared library name
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir Path to the cache directory This is different from the persistent_cache_path in embedder which is used for Skia shader cache icu native lib Path to the library file that exports the ICU data vm service The hostname IP address on which the Dart VM Service should be served If not defaults to or::depending on whether ipv6 is specified vm service A custom Dart VM Service port The default is to pick a randomly available open port disable vm Disable the Dart VM Service The Dart VM Service is never available in release mode disable vm service Disable mDNS Dart VM Service publication Bind to the IPv6 localhost address for the Dart VM Service Ignored if vm service host is set endless trace buffer
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive mode
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size
std::function< void()> closure
SI auto map(std::index_sequence< I... >, Fn &&fn, const Args &... args) -> skvx::Vec< sizeof...(I), decltype(fn(args[0]...))>
void write(SkWStream *wStream, const T &text)
Dart_OnNewCodeCallback on_new_code
Dart_ThreadExitCallback thread_exit
Dart_IsolateGroupCreateCallback create_group
Dart_InitializeIsolateCallback initialize_isolate
Dart_IsolateGroupCleanupCallback cleanup_group
Dart_FileReadCallback file_read
const uint8_t * vm_snapshot_data
bool start_kernel_isolate
Dart_GetVMServiceAssetsArchive get_service_assets
Dart_FileOpenCallback file_open
Dart_IsolateShutdownCallback shutdown_isolate
Dart_ThreadStartCallback thread_start
Dart_CodeObserver * code_observer
Dart_UnregisterKernelBlobCallback unregister_kernel_blob
Dart_FileWriteCallback file_write
Dart_EntropySource entropy_source
Dart_RegisterKernelBlobCallback register_kernel_blob
Dart_IsolateCleanupCallback cleanup_isolate
const uint8_t * vm_snapshot_instructions
Dart_FileCloseCallback file_close
bool load_vmservice_library
bool snapshot_is_dontneed_safe
Dart_KernelCompilationStatus status
Dart_NativeAssetsDlopenCallback dlopen_system
Dart_NativeAssetsDlopenCallback dlopen_absolute
Dart_NativeAssetsDlopenCallbackNoPath dlopen_process
Dart_NativeAssetsDlopenCallback dlopen_relative
Dart_NativeAssetsDlsymCallback dlsym
Dart_NativeAssetsDlopenCallbackNoPath dlopen_executable
std::shared_ptr< const fml::Mapping > data
struct _Dart_NativeArgument_Value::@83 as_string
struct _Dart_NativeArgument_Value::@84 as_native_fields