blob: 9b0b3a2f1915eaeeb02fa6a099d82309047584ad [file] [log] [blame]
// AUTO GENERATED FILE, DO NOT EDIT.
//
// Generated by `package:ffigen`.
import 'dart:ffi' as ffi;
/// Bindings to `headers/example.h`.
class NativeLibrary {
/// Holds the Dynamic library.
final ffi.DynamicLibrary _dylib;
/// The symbols are looked up in [dynamicLibrary].
NativeLibrary(ffi.DynamicLibrary dynamicLibrary) : _dylib = dynamicLibrary;
/// Adds 2 integers.
int sum(
int a,
int b,
) {
_sum ??= _dylib.lookupFunction<_c_sum, _dart_sum>('sum');
return _sum(
a,
b,
);
}
_dart_sum _sum;
/// Subtracts 2 integers.
int subtract(
ffi.Pointer<ffi.Int32> a,
int b,
) {
_subtract ??=
_dylib.lookupFunction<_c_subtract, _dart_subtract>('subtract');
return _subtract(
a,
b,
);
}
_dart_subtract _subtract;
/// Multiplies 2 integers, returns pointer to an integer,.
ffi.Pointer<ffi.Int32> multiply(
int a,
int b,
) {
_multiply ??=
_dylib.lookupFunction<_c_multiply, _dart_multiply>('multiply');
return _multiply(
a,
b,
);
}
_dart_multiply _multiply;
/// Divides 2 integers, returns pointer to a float.
ffi.Pointer<ffi.Float> divide(
int a,
int b,
) {
_divide ??= _dylib.lookupFunction<_c_divide, _dart_divide>('divide');
return _divide(
a,
b,
);
}
_dart_divide _divide;
/// Divides 2 floats, returns a pointer to double.
ffi.Pointer<ffi.Double> dividePercision(
ffi.Pointer<ffi.Float> a,
ffi.Pointer<ffi.Float> b,
) {
_dividePercision ??=
_dylib.lookupFunction<_c_dividePercision, _dart_dividePercision>(
'dividePercision');
return _dividePercision(
a,
b,
);
}
_dart_dividePercision _dividePercision;
}
typedef _c_sum = ffi.Int32 Function(
ffi.Int32 a,
ffi.Int32 b,
);
typedef _dart_sum = int Function(
int a,
int b,
);
typedef _c_subtract = ffi.Int32 Function(
ffi.Pointer<ffi.Int32> a,
ffi.Int32 b,
);
typedef _dart_subtract = int Function(
ffi.Pointer<ffi.Int32> a,
int b,
);
typedef _c_multiply = ffi.Pointer<ffi.Int32> Function(
ffi.Int32 a,
ffi.Int32 b,
);
typedef _dart_multiply = ffi.Pointer<ffi.Int32> Function(
int a,
int b,
);
typedef _c_divide = ffi.Pointer<ffi.Float> Function(
ffi.Int32 a,
ffi.Int32 b,
);
typedef _dart_divide = ffi.Pointer<ffi.Float> Function(
int a,
int b,
);
typedef _c_dividePercision = ffi.Pointer<ffi.Double> Function(
ffi.Pointer<ffi.Float> a,
ffi.Pointer<ffi.Float> b,
);
typedef _dart_dividePercision = ffi.Pointer<ffi.Double> Function(
ffi.Pointer<ffi.Float> a,
ffi.Pointer<ffi.Float> b,
);