// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. // // SharedObjects=ffi_test_functions // @dart = 2.9 import 'dart:ffi'; import 'package:ffi/ffi.dart'; import 'package:expect/expect.dart'; import 'dylib_utils.dart'; class Struct43693 extends Struct { Pointer somePtr; @Uint64() int someValue; } final int Function(Pointer) readMyStructSomeValue = ffiTestFunctions .lookup)>>( "Regress43693") .asFunction)>(); final ffiTestFunctions = dlopenPlatformSpecific("ffi_test_functions"); void main() { final myStructs = calloc(); myStructs[0].somePtr = nullptr; myStructs[0].someValue = 0xAAAAAAAABBBBBBBB; final result = readMyStructSomeValue(myStructs); Expect.equals(0xAAAAAAAABBBBBBBB, result); calloc.free(myStructs); }