[ffigen] Support for ABI-specific integers (#261)

diff --git a/pkgs/ffigen/.github/workflows/test-package.yml b/pkgs/ffigen/.github/workflows/test-package.yml
index 3bd7e68..4070746 100644
--- a/pkgs/ffigen/.github/workflows/test-package.yml
+++ b/pkgs/ffigen/.github/workflows/test-package.yml
@@ -19,7 +19,7 @@
     strategy:
       fail-fast: false
       matrix:
-        sdk: [2.14.0]
+        sdk: [2.16.0-124.0.dev] # TODO(#262)
     steps:
       - uses: actions/checkout@v2
       - uses: dart-lang/setup-dart@v1.0
@@ -43,7 +43,7 @@
       - uses: actions/checkout@v2
       - uses: dart-lang/setup-dart@v1.0
         with:
-          sdk: 2.14.0
+          sdk: 2.16.0-124.0.dev # TODO(#262)
       - name: Install dependencies
         run: dart pub get
       - name: Install libclang-10-dev
diff --git a/pkgs/ffigen/CHANGELOG.md b/pkgs/ffigen/CHANGELOG.md
index b5b0259..6c5a9e5 100644
--- a/pkgs/ffigen/CHANGELOG.md
+++ b/pkgs/ffigen/CHANGELOG.md
@@ -1,3 +1,8 @@
+# 5.0.0-dev.0
+- Added support for generating ABI Specific integers.
+- Breaking: removed config keys - `size-map` and `typedef-map`.
+- Added config keys - `library-imports` and `type-map`.
+
 # 4.1.2
 - Added fix for empty include list to exclude all
 
diff --git a/pkgs/ffigen/README.md b/pkgs/ffigen/README.md
index a4439bb..32137b9 100644
--- a/pkgs/ffigen/README.md
+++ b/pkgs/ffigen/README.md
@@ -22,6 +22,7 @@
 ```
 Output (_generated_bindings.dart_).
 ```dart
+import 'package:ffi/ffi.dart' as pkg_ffi;
 class NativeLibrary {
   final Pointer<T> Function<T extends NativeType>(String symbolName)
       _lookup;
@@ -36,12 +37,13 @@
     return _sum(a, b);
   }
 
-  late final _sumPtr = _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Int32, ffi.Int32)>>('sum');
+  late final _sumPtr = _lookup<ffi.NativeFunction<pkg_ffi.Int Function(pkg_ffi.Int, pkg_ffi.Int)>>('sum');
   late final _sum = _sum_ptr.asFunction<int Function(int, int)>();
 }
 ```
 ## Using this package
 - Add `ffigen` under `dev_dependencies` in your `pubspec.yaml` (run `dart pub add -d ffigen`).
+- Add `package:ffi` under `dependencies` in your `pubspec.yaml` (run `dart pub add ffigen`).
 - Install LLVM (see [Installing LLVM](#installing-llvm)).
 - Configurations must be provided in `pubspec.yaml` or in a custom YAML file (see [configurations](#configurations)).
 - Run the tool- `dart run ffigen`.
@@ -385,7 +387,7 @@
   </tr>
   <tr>
     <td>use-supported-typedefs</td>
-    <td>Should automatically map typedefs, E.g uint8_t => Uint8, int16_t => Int16 etc.<br>
+    <td>Should automatically map typedefs, E.g uint8_t => Uint8, int16_t => Int16, size_t => Size etc.<br>
     <b>Default: true</b>
     </td>
     <td>
@@ -431,43 +433,54 @@
 </td>
   </tr>
   <tr>
-    <td>typedef-map</td>
-    <td>Map typedefs to Native Types.<br> Values can only be
-    <i>Void, Uint8, Int8, Uint16, Int16, Uint32, Int32, Uint64, Int64, IntPtr, Float and Double.</i>
+    <td>library-imports</td>
+    <td>Specify library imports for use in type-map.<br><br>
+    Note: ffi (dart:ffi) is already available as a predefined import.
     </td>
     <td>
 
 ```yaml
-typedef-map:
-  'my_custom_type': 'IntPtr'
-  'size_t': 'Int64'
+library-imports:
+  custom_lib: 'package:some_pkg/some_file.dart'
 ```
   </td>
   </tr>
   <tr>
-    <td>size-map</td>
-    <td>Size of integers to use (in bytes).<br>
-    <b>The defaults (see example) <i>may</i> not be portable on all OS.
-    Do not change these unless absolutely sure.</b>
+    <td>type-map</td>
+    <td>Map types like integers, typedefs, structs,  unions to any other type.<br><br>
+    <b>Sub-fields</b> - <i>typedefs</i>, <i>structs</i>, <i>unions</i>, <i>ints</i><br><br>
+    <b><i>lib</i></b> must be specified in <i>library-imports</i> or be one of a predefined import.
     </td>
     <td>
 
 ```yaml
-# These are optional and also default,
-# Omitting any and the default
-# will be used.
-size-map:
-  char: 1
-  unsigned char: 1
-  short: 2
-  unsigned short: 2
-  int: 4
-  unsigned int: 4
-  long: 8
-  unsigned long: 8
-  long long: 8
-  unsigned long long: 8
-  enum: 4
+type-map:
+  'native-types': # Targets native types.
+    'char':
+      'lib': 'pkg_ffi' # predefined import.
+      'c-type': 'Char'
+      # For native-types dart-type can be be int, double or float
+      # but same otherwise.
+      'dart-type': 'int'
+    'int':
+      'lib': 'custom_lib'
+      'c-type': 'CustomType4'
+      'dart-type': 'int'
+  'typedefs': # Targets typedefs.
+    'my_type1':
+      'lib': 'custom_lib'
+      'c-type': 'CustomType'
+      'dart-type': 'CustomType'
+  'structs': # Targets structs.
+    'my_type2':
+      'lib': 'custom_lib'
+      'c-type': 'CustomType2'
+      'dart-type': 'CustomType2'
+  'unions': # Targets unions.
+    'my_type3':
+      'lib': 'custom_lib'
+      'c-type': 'CustomType3'
+      'dart-type': 'CustomType3'
 ```
   </td>
   </tr>
diff --git a/pkgs/ffigen/analysis_options.yaml b/pkgs/ffigen/analysis_options.yaml
index 002a2c4..2a3bc8c 100644
--- a/pkgs/ffigen/analysis_options.yaml
+++ b/pkgs/ffigen/analysis_options.yaml
@@ -5,6 +5,8 @@
 include: package:lints/recommended.yaml
 
 analyzer:
+  exclude:
+    - 'test/**_expected*'
   strong-mode:
     implicit-casts: false
     implicit-dynamic: false
diff --git a/pkgs/ffigen/example/c_json/cjson_generated_bindings.dart b/pkgs/ffigen/example/c_json/cjson_generated_bindings.dart
index a518d8a..3f5d92e 100644
--- a/pkgs/ffigen/example/c_json/cjson_generated_bindings.dart
+++ b/pkgs/ffigen/example/c_json/cjson_generated_bindings.dart
@@ -24,6 +24,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Holds bindings to cJSON.
 class CJson {
@@ -40,15 +41,15 @@
           lookup)
       : _lookup = lookup;
 
-  ffi.Pointer<ffi.Int8> cJSON_Version() {
+  ffi.Pointer<pkg_ffi.Char> cJSON_Version() {
     return _cJSON_Version();
   }
 
   late final _cJSON_VersionPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Int8> Function()>>(
+      _lookup<ffi.NativeFunction<ffi.Pointer<pkg_ffi.Char> Function()>>(
           'cJSON_Version');
   late final _cJSON_Version =
-      _cJSON_VersionPtr.asFunction<ffi.Pointer<ffi.Int8> Function()>();
+      _cJSON_VersionPtr.asFunction<ffi.Pointer<pkg_ffi.Char> Function()>();
 
   void cJSON_InitHooks(
     ffi.Pointer<cJSON_Hooks> hooks,
@@ -65,7 +66,7 @@
       _cJSON_InitHooksPtr.asFunction<void Function(ffi.Pointer<cJSON_Hooks>)>();
 
   ffi.Pointer<cJSON> cJSON_Parse(
-    ffi.Pointer<ffi.Int8> value,
+    ffi.Pointer<pkg_ffi.Char> value,
   ) {
     return _cJSON_Parse(
       value,
@@ -74,13 +75,14 @@
 
   late final _cJSON_ParsePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Int8>)>>('cJSON_Parse');
+          ffi.Pointer<cJSON> Function(
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_Parse');
   late final _cJSON_Parse = _cJSON_ParsePtr
-      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Int8>)>();
+      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_ParseWithOpts(
-    ffi.Pointer<ffi.Int8> value,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> return_parse_end,
+    ffi.Pointer<pkg_ffi.Char> value,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> return_parse_end,
     int require_null_terminated,
   ) {
     return _cJSON_ParseWithOpts(
@@ -93,14 +95,14 @@
   late final _cJSON_ParseWithOptsPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
               cJSON_bool)>>('cJSON_ParseWithOpts');
   late final _cJSON_ParseWithOpts = _cJSON_ParseWithOptsPtr.asFunction<
-      ffi.Pointer<cJSON> Function(
-          ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Pointer<ffi.Int8>>, int)>();
+      ffi.Pointer<cJSON> Function(ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>, int)>();
 
-  ffi.Pointer<ffi.Int8> cJSON_Print(
+  ffi.Pointer<pkg_ffi.Char> cJSON_Print(
     ffi.Pointer<cJSON> item,
   ) {
     return _cJSON_Print(
@@ -110,11 +112,12 @@
 
   late final _cJSON_PrintPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<cJSON>)>>('cJSON_Print');
+          ffi.Pointer<pkg_ffi.Char> Function(
+              ffi.Pointer<cJSON>)>>('cJSON_Print');
   late final _cJSON_Print = _cJSON_PrintPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<cJSON>)>();
+      .asFunction<ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<cJSON>)>();
 
-  ffi.Pointer<ffi.Int8> cJSON_PrintUnformatted(
+  ffi.Pointer<pkg_ffi.Char> cJSON_PrintUnformatted(
     ffi.Pointer<cJSON> item,
   ) {
     return _cJSON_PrintUnformatted(
@@ -124,12 +127,12 @@
 
   late final _cJSON_PrintUnformattedPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
+          ffi.Pointer<pkg_ffi.Char> Function(
               ffi.Pointer<cJSON>)>>('cJSON_PrintUnformatted');
   late final _cJSON_PrintUnformatted = _cJSON_PrintUnformattedPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<cJSON>)>();
+      .asFunction<ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<cJSON>)>();
 
-  ffi.Pointer<ffi.Int8> cJSON_PrintBuffered(
+  ffi.Pointer<pkg_ffi.Char> cJSON_PrintBuffered(
     ffi.Pointer<cJSON> item,
     int prebuffer,
     int fmt,
@@ -143,14 +146,14 @@
 
   late final _cJSON_PrintBufferedPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<cJSON>, ffi.Int32,
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<cJSON>, pkg_ffi.Int,
               cJSON_bool)>>('cJSON_PrintBuffered');
   late final _cJSON_PrintBuffered = _cJSON_PrintBufferedPtr.asFunction<
-      ffi.Pointer<ffi.Int8> Function(ffi.Pointer<cJSON>, int, int)>();
+      ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<cJSON>, int, int)>();
 
   int cJSON_PrintPreallocated(
     ffi.Pointer<cJSON> item,
-    ffi.Pointer<ffi.Int8> buffer,
+    ffi.Pointer<pkg_ffi.Char> buffer,
     int length,
     int format,
   ) {
@@ -164,10 +167,10 @@
 
   late final _cJSON_PrintPreallocatedPtr = _lookup<
       ffi.NativeFunction<
-          cJSON_bool Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
-              ffi.Int32, cJSON_bool)>>('cJSON_PrintPreallocated');
+          cJSON_bool Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int, cJSON_bool)>>('cJSON_PrintPreallocated');
   late final _cJSON_PrintPreallocated = _cJSON_PrintPreallocatedPtr.asFunction<
-      int Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, int, int)>();
+      int Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>, int, int)>();
 
   void cJSON_Delete(
     ffi.Pointer<cJSON> item,
@@ -192,7 +195,7 @@
   }
 
   late final _cJSON_GetArraySizePtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<cJSON>)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<cJSON>)>>(
           'cJSON_GetArraySize');
   late final _cJSON_GetArraySize =
       _cJSON_GetArraySizePtr.asFunction<int Function(ffi.Pointer<cJSON>)>();
@@ -210,13 +213,13 @@
   late final _cJSON_GetArrayItemPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<cJSON>, ffi.Int32)>>('cJSON_GetArrayItem');
+              ffi.Pointer<cJSON>, pkg_ffi.Int)>>('cJSON_GetArrayItem');
   late final _cJSON_GetArrayItem = _cJSON_GetArrayItemPtr
       .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, int)>();
 
   ffi.Pointer<cJSON> cJSON_GetObjectItem(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_GetObjectItem(
       object,
@@ -227,13 +230,14 @@
   late final _cJSON_GetObjectItemPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_GetObjectItem');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_GetObjectItem');
   late final _cJSON_GetObjectItem = _cJSON_GetObjectItemPtr.asFunction<
-      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_GetObjectItemCaseSensitive(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_GetObjectItemCaseSensitive(
       object,
@@ -244,15 +248,15 @@
   late final _cJSON_GetObjectItemCaseSensitivePtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_GetObjectItemCaseSensitive');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_GetObjectItemCaseSensitive');
   late final _cJSON_GetObjectItemCaseSensitive =
       _cJSON_GetObjectItemCaseSensitivePtr.asFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+              ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   int cJSON_HasObjectItem(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_HasObjectItem(
       object,
@@ -263,21 +267,21 @@
   late final _cJSON_HasObjectItemPtr = _lookup<
       ffi.NativeFunction<
           cJSON_bool Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_HasObjectItem');
-  late final _cJSON_HasObjectItem = _cJSON_HasObjectItemPtr
-      .asFunction<int Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_HasObjectItem');
+  late final _cJSON_HasObjectItem = _cJSON_HasObjectItemPtr.asFunction<
+      int Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
-  ffi.Pointer<ffi.Int8> cJSON_GetErrorPtr() {
+  ffi.Pointer<pkg_ffi.Char> cJSON_GetErrorPtr() {
     return _cJSON_GetErrorPtr();
   }
 
   late final _cJSON_GetErrorPtrPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Int8> Function()>>(
+      _lookup<ffi.NativeFunction<ffi.Pointer<pkg_ffi.Char> Function()>>(
           'cJSON_GetErrorPtr');
   late final _cJSON_GetErrorPtr =
-      _cJSON_GetErrorPtrPtr.asFunction<ffi.Pointer<ffi.Int8> Function()>();
+      _cJSON_GetErrorPtrPtr.asFunction<ffi.Pointer<pkg_ffi.Char> Function()>();
 
-  ffi.Pointer<ffi.Int8> cJSON_GetStringValue(
+  ffi.Pointer<pkg_ffi.Char> cJSON_GetStringValue(
     ffi.Pointer<cJSON> item,
   ) {
     return _cJSON_GetStringValue(
@@ -287,10 +291,10 @@
 
   late final _cJSON_GetStringValuePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
+          ffi.Pointer<pkg_ffi.Char> Function(
               ffi.Pointer<cJSON>)>>('cJSON_GetStringValue');
   late final _cJSON_GetStringValue = _cJSON_GetStringValuePtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<cJSON>)>();
+      .asFunction<ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<cJSON>)>();
 
   int cJSON_IsInvalid(
     ffi.Pointer<cJSON> item,
@@ -491,7 +495,7 @@
       _cJSON_CreateNumberPtr.asFunction<ffi.Pointer<cJSON> Function(double)>();
 
   ffi.Pointer<cJSON> cJSON_CreateString(
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_CreateString(
       string,
@@ -501,12 +505,12 @@
   late final _cJSON_CreateStringPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<ffi.Int8>)>>('cJSON_CreateString');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_CreateString');
   late final _cJSON_CreateString = _cJSON_CreateStringPtr
-      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Int8>)>();
+      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_CreateRaw(
-    ffi.Pointer<ffi.Int8> raw,
+    ffi.Pointer<pkg_ffi.Char> raw,
   ) {
     return _cJSON_CreateRaw(
       raw,
@@ -516,9 +520,9 @@
   late final _cJSON_CreateRawPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<ffi.Int8>)>>('cJSON_CreateRaw');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_CreateRaw');
   late final _cJSON_CreateRaw = _cJSON_CreateRawPtr
-      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Int8>)>();
+      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_CreateArray() {
     return _cJSON_CreateArray();
@@ -541,7 +545,7 @@
       _cJSON_CreateObjectPtr.asFunction<ffi.Pointer<cJSON> Function()>();
 
   ffi.Pointer<cJSON> cJSON_CreateStringReference(
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_CreateStringReference(
       string,
@@ -551,9 +555,9 @@
   late final _cJSON_CreateStringReferencePtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<ffi.Int8>)>>('cJSON_CreateStringReference');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_CreateStringReference');
   late final _cJSON_CreateStringReference = _cJSON_CreateStringReferencePtr
-      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Int8>)>();
+      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_CreateObjectReference(
     ffi.Pointer<cJSON> child,
@@ -584,7 +588,7 @@
       .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>)>();
 
   ffi.Pointer<cJSON> cJSON_CreateIntArray(
-    ffi.Pointer<ffi.Int32> numbers,
+    ffi.Pointer<pkg_ffi.Int> numbers,
     int count,
   ) {
     return _cJSON_CreateIntArray(
@@ -596,9 +600,9 @@
   late final _cJSON_CreateIntArrayPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<ffi.Int32>, ffi.Int32)>>('cJSON_CreateIntArray');
+              ffi.Pointer<pkg_ffi.Int>, pkg_ffi.Int)>>('cJSON_CreateIntArray');
   late final _cJSON_CreateIntArray = _cJSON_CreateIntArrayPtr
-      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Int32>, int)>();
+      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<pkg_ffi.Int>, int)>();
 
   ffi.Pointer<cJSON> cJSON_CreateFloatArray(
     ffi.Pointer<ffi.Float> numbers,
@@ -613,7 +617,7 @@
   late final _cJSON_CreateFloatArrayPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<ffi.Float>, ffi.Int32)>>('cJSON_CreateFloatArray');
+              ffi.Pointer<ffi.Float>, pkg_ffi.Int)>>('cJSON_CreateFloatArray');
   late final _cJSON_CreateFloatArray = _cJSON_CreateFloatArrayPtr
       .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Float>, int)>();
 
@@ -629,13 +633,13 @@
 
   late final _cJSON_CreateDoubleArrayPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<cJSON> Function(
-              ffi.Pointer<ffi.Double>, ffi.Int32)>>('cJSON_CreateDoubleArray');
+          ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Double>,
+              pkg_ffi.Int)>>('cJSON_CreateDoubleArray');
   late final _cJSON_CreateDoubleArray = _cJSON_CreateDoubleArrayPtr
       .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Double>, int)>();
 
   ffi.Pointer<cJSON> cJSON_CreateStringArray(
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> strings,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> strings,
     int count,
   ) {
     return _cJSON_CreateStringArray(
@@ -646,10 +650,11 @@
 
   late final _cJSON_CreateStringArrayPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Int32)>>('cJSON_CreateStringArray');
+          ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              pkg_ffi.Int)>>('cJSON_CreateStringArray');
   late final _cJSON_CreateStringArray = _cJSON_CreateStringArrayPtr.asFunction<
-      ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Pointer<ffi.Int8>>, int)>();
+      ffi.Pointer<cJSON> Function(
+          ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>, int)>();
 
   void cJSON_AddItemToArray(
     ffi.Pointer<cJSON> array,
@@ -670,7 +675,7 @@
 
   void cJSON_AddItemToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
     ffi.Pointer<cJSON> item,
   ) {
     return _cJSON_AddItemToObject(
@@ -682,15 +687,15 @@
 
   late final _cJSON_AddItemToObjectPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
+          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<cJSON>)>>('cJSON_AddItemToObject');
   late final _cJSON_AddItemToObject = _cJSON_AddItemToObjectPtr.asFunction<
       void Function(
-          ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, ffi.Pointer<cJSON>)>();
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<cJSON>)>();
 
   void cJSON_AddItemToObjectCS(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
     ffi.Pointer<cJSON> item,
   ) {
     return _cJSON_AddItemToObjectCS(
@@ -702,11 +707,11 @@
 
   late final _cJSON_AddItemToObjectCSPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
+          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<cJSON>)>>('cJSON_AddItemToObjectCS');
   late final _cJSON_AddItemToObjectCS = _cJSON_AddItemToObjectCSPtr.asFunction<
       void Function(
-          ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, ffi.Pointer<cJSON>)>();
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<cJSON>)>();
 
   void cJSON_AddItemReferenceToArray(
     ffi.Pointer<cJSON> array,
@@ -727,7 +732,7 @@
 
   void cJSON_AddItemReferenceToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
     ffi.Pointer<cJSON> item,
   ) {
     return _cJSON_AddItemReferenceToObject(
@@ -739,12 +744,12 @@
 
   late final _cJSON_AddItemReferenceToObjectPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
+          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<cJSON>)>>('cJSON_AddItemReferenceToObject');
   late final _cJSON_AddItemReferenceToObject =
       _cJSON_AddItemReferenceToObjectPtr.asFunction<
-          void Function(
-              ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, ffi.Pointer<cJSON>)>();
+          void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<cJSON>)>();
 
   ffi.Pointer<cJSON> cJSON_DetachItemViaPointer(
     ffi.Pointer<cJSON> parent,
@@ -778,7 +783,7 @@
   late final _cJSON_DetachItemFromArrayPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<cJSON>, ffi.Int32)>>('cJSON_DetachItemFromArray');
+              ffi.Pointer<cJSON>, pkg_ffi.Int)>>('cJSON_DetachItemFromArray');
   late final _cJSON_DetachItemFromArray = _cJSON_DetachItemFromArrayPtr
       .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, int)>();
 
@@ -793,14 +798,15 @@
   }
 
   late final _cJSON_DeleteItemFromArrayPtr = _lookup<
-          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<cJSON>, ffi.Int32)>>(
-      'cJSON_DeleteItemFromArray');
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<cJSON>, pkg_ffi.Int)>>('cJSON_DeleteItemFromArray');
   late final _cJSON_DeleteItemFromArray = _cJSON_DeleteItemFromArrayPtr
       .asFunction<void Function(ffi.Pointer<cJSON>, int)>();
 
   ffi.Pointer<cJSON> cJSON_DetachItemFromObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_DetachItemFromObject(
       object,
@@ -811,15 +817,15 @@
   late final _cJSON_DetachItemFromObjectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_DetachItemFromObject');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_DetachItemFromObject');
   late final _cJSON_DetachItemFromObject =
       _cJSON_DetachItemFromObjectPtr.asFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+              ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_DetachItemFromObjectCaseSensitive(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_DetachItemFromObjectCaseSensitive(
       object,
@@ -830,16 +836,16 @@
   late final _cJSON_DetachItemFromObjectCaseSensitivePtr = _lookup<
           ffi.NativeFunction<
               ffi.Pointer<cJSON> Function(
-                  ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>>(
+                  ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>>(
       'cJSON_DetachItemFromObjectCaseSensitive');
   late final _cJSON_DetachItemFromObjectCaseSensitive =
       _cJSON_DetachItemFromObjectCaseSensitivePtr.asFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+              ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   void cJSON_DeleteItemFromObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_DeleteItemFromObject(
       object,
@@ -850,13 +856,14 @@
   late final _cJSON_DeleteItemFromObjectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Void Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_DeleteItemFromObject');
-  late final _cJSON_DeleteItemFromObject = _cJSON_DeleteItemFromObjectPtr
-      .asFunction<void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_DeleteItemFromObject');
+  late final _cJSON_DeleteItemFromObject =
+      _cJSON_DeleteItemFromObjectPtr.asFunction<
+          void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   void cJSON_DeleteItemFromObjectCaseSensitive(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_DeleteItemFromObjectCaseSensitive(
       object,
@@ -866,11 +873,12 @@
 
   late final _cJSON_DeleteItemFromObjectCaseSensitivePtr = _lookup<
           ffi.NativeFunction<
-              ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>>(
+              ffi.Void Function(
+                  ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>>(
       'cJSON_DeleteItemFromObjectCaseSensitive');
   late final _cJSON_DeleteItemFromObjectCaseSensitive =
       _cJSON_DeleteItemFromObjectCaseSensitivePtr.asFunction<
-          void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+          void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   void cJSON_InsertItemInArray(
     ffi.Pointer<cJSON> array,
@@ -886,7 +894,7 @@
 
   late final _cJSON_InsertItemInArrayPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Int32,
+          ffi.Void Function(ffi.Pointer<cJSON>, pkg_ffi.Int,
               ffi.Pointer<cJSON>)>>('cJSON_InsertItemInArray');
   late final _cJSON_InsertItemInArray = _cJSON_InsertItemInArrayPtr
       .asFunction<void Function(ffi.Pointer<cJSON>, int, ffi.Pointer<cJSON>)>();
@@ -926,14 +934,14 @@
 
   late final _cJSON_ReplaceItemInArrayPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Int32,
+          ffi.Void Function(ffi.Pointer<cJSON>, pkg_ffi.Int,
               ffi.Pointer<cJSON>)>>('cJSON_ReplaceItemInArray');
   late final _cJSON_ReplaceItemInArray = _cJSON_ReplaceItemInArrayPtr
       .asFunction<void Function(ffi.Pointer<cJSON>, int, ffi.Pointer<cJSON>)>();
 
   void cJSON_ReplaceItemInObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
     ffi.Pointer<cJSON> newitem,
   ) {
     return _cJSON_ReplaceItemInObject(
@@ -945,16 +953,16 @@
 
   late final _cJSON_ReplaceItemInObjectPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
+          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<cJSON>)>>('cJSON_ReplaceItemInObject');
   late final _cJSON_ReplaceItemInObject =
       _cJSON_ReplaceItemInObjectPtr.asFunction<
-          void Function(
-              ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, ffi.Pointer<cJSON>)>();
+          void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<cJSON>)>();
 
   void cJSON_ReplaceItemInObjectCaseSensitive(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
     ffi.Pointer<cJSON> newitem,
   ) {
     return _cJSON_ReplaceItemInObjectCaseSensitive(
@@ -966,12 +974,12 @@
 
   late final _cJSON_ReplaceItemInObjectCaseSensitivePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
+          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<cJSON>)>>('cJSON_ReplaceItemInObjectCaseSensitive');
   late final _cJSON_ReplaceItemInObjectCaseSensitive =
       _cJSON_ReplaceItemInObjectCaseSensitivePtr.asFunction<
-          void Function(
-              ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, ffi.Pointer<cJSON>)>();
+          void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<cJSON>)>();
 
   ffi.Pointer<cJSON> cJSON_Duplicate(
     ffi.Pointer<cJSON> item,
@@ -1010,7 +1018,7 @@
       .asFunction<int Function(ffi.Pointer<cJSON>, ffi.Pointer<cJSON>, int)>();
 
   void cJSON_Minify(
-    ffi.Pointer<ffi.Int8> json,
+    ffi.Pointer<pkg_ffi.Char> json,
   ) {
     return _cJSON_Minify(
       json,
@@ -1018,14 +1026,14 @@
   }
 
   late final _cJSON_MinifyPtr =
-      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Int8>)>>(
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<pkg_ffi.Char>)>>(
           'cJSON_Minify');
   late final _cJSON_Minify =
-      _cJSON_MinifyPtr.asFunction<void Function(ffi.Pointer<ffi.Int8>)>();
+      _cJSON_MinifyPtr.asFunction<void Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_AddNullToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
   ) {
     return _cJSON_AddNullToObject(
       object,
@@ -1036,13 +1044,14 @@
   late final _cJSON_AddNullToObjectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_AddNullToObject');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_AddNullToObject');
   late final _cJSON_AddNullToObject = _cJSON_AddNullToObjectPtr.asFunction<
-      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_AddTrueToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
   ) {
     return _cJSON_AddTrueToObject(
       object,
@@ -1053,13 +1062,14 @@
   late final _cJSON_AddTrueToObjectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_AddTrueToObject');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_AddTrueToObject');
   late final _cJSON_AddTrueToObject = _cJSON_AddTrueToObjectPtr.asFunction<
-      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_AddFalseToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
   ) {
     return _cJSON_AddFalseToObject(
       object,
@@ -1070,13 +1080,14 @@
   late final _cJSON_AddFalseToObjectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_AddFalseToObject');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_AddFalseToObject');
   late final _cJSON_AddFalseToObject = _cJSON_AddFalseToObjectPtr.asFunction<
-      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_AddBoolToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
     int boolean,
   ) {
     return _cJSON_AddBoolToObject(
@@ -1088,15 +1099,15 @@
 
   late final _cJSON_AddBoolToObjectPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
-              cJSON_bool)>>('cJSON_AddBoolToObject');
+          ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
+              ffi.Pointer<pkg_ffi.Char>, cJSON_bool)>>('cJSON_AddBoolToObject');
   late final _cJSON_AddBoolToObject = _cJSON_AddBoolToObjectPtr.asFunction<
       ffi.Pointer<cJSON> Function(
-          ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, int)>();
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>, int)>();
 
   ffi.Pointer<cJSON> cJSON_AddNumberToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
     double number,
   ) {
     return _cJSON_AddNumberToObject(
@@ -1108,16 +1119,18 @@
 
   late final _cJSON_AddNumberToObjectPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<cJSON> Function(
+              ffi.Pointer<cJSON>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Double)>>('cJSON_AddNumberToObject');
   late final _cJSON_AddNumberToObject = _cJSON_AddNumberToObjectPtr.asFunction<
       ffi.Pointer<cJSON> Function(
-          ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, double)>();
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>, double)>();
 
   ffi.Pointer<cJSON> cJSON_AddStringToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> name,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_AddStringToObject(
       object,
@@ -1128,16 +1141,18 @@
 
   late final _cJSON_AddStringToObjectPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_AddStringToObject');
+          ffi.Pointer<cJSON> Function(
+              ffi.Pointer<cJSON>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_AddStringToObject');
   late final _cJSON_AddStringToObject = _cJSON_AddStringToObjectPtr.asFunction<
-      ffi.Pointer<cJSON> Function(
-          ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_AddRawToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
-    ffi.Pointer<ffi.Int8> raw,
+    ffi.Pointer<pkg_ffi.Char> name,
+    ffi.Pointer<pkg_ffi.Char> raw,
   ) {
     return _cJSON_AddRawToObject(
       object,
@@ -1148,15 +1163,17 @@
 
   late final _cJSON_AddRawToObjectPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_AddRawToObject');
+          ffi.Pointer<cJSON> Function(
+              ffi.Pointer<cJSON>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_AddRawToObject');
   late final _cJSON_AddRawToObject = _cJSON_AddRawToObjectPtr.asFunction<
-      ffi.Pointer<cJSON> Function(
-          ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_AddObjectToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
   ) {
     return _cJSON_AddObjectToObject(
       object,
@@ -1167,13 +1184,14 @@
   late final _cJSON_AddObjectToObjectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_AddObjectToObject');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_AddObjectToObject');
   late final _cJSON_AddObjectToObject = _cJSON_AddObjectToObjectPtr.asFunction<
-      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_AddArrayToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
   ) {
     return _cJSON_AddArrayToObject(
       object,
@@ -1184,9 +1202,10 @@
   late final _cJSON_AddArrayToObjectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_AddArrayToObject');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_AddArrayToObject');
   late final _cJSON_AddArrayToObject = _cJSON_AddArrayToObjectPtr.asFunction<
-      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   double cJSON_SetNumberHelper(
     ffi.Pointer<cJSON> object,
@@ -1214,7 +1233,7 @@
   }
 
   late final _cJSON_mallocPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(ffi.IntPtr)>>(
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(pkg_ffi.Size)>>(
           'cJSON_malloc');
   late final _cJSON_malloc =
       _cJSON_mallocPtr.asFunction<ffi.Pointer<ffi.Void> Function(int)>();
@@ -1241,30 +1260,31 @@
 
   external ffi.Pointer<cJSON> child;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int type;
 
-  external ffi.Pointer<ffi.Int8> valuestring;
+  external ffi.Pointer<pkg_ffi.Char> valuestring;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int valueint;
 
   @ffi.Double()
   external double valuedouble;
 
-  external ffi.Pointer<ffi.Int8> string;
+  external ffi.Pointer<pkg_ffi.Char> string;
 }
 
 class cJSON_Hooks extends ffi.Struct {
   external ffi.Pointer<
-      ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(ffi.IntPtr)>> malloc_fn;
+          ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(pkg_ffi.Size)>>
+      malloc_fn;
 
   external ffi
           .Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
       free_fn;
 }
 
-typedef cJSON_bool = ffi.Int32;
+typedef cJSON_bool = pkg_ffi.Int;
 
 const int CJSON_VERSION_MAJOR = 1;
 
diff --git a/pkgs/ffigen/example/c_json/pubspec.yaml b/pkgs/ffigen/example/c_json/pubspec.yaml
index e9b7960..f4180fb 100644
--- a/pkgs/ffigen/example/c_json/pubspec.yaml
+++ b/pkgs/ffigen/example/c_json/pubspec.yaml
@@ -8,7 +8,7 @@
   sdk: '>=2.13.0 <3.0.0'
 
 dependencies:
-  ffi: ^1.0.0
+  ffi: ^1.2.0-dev.0
   path: ^1.8.0
 
 dev_dependencies:
@@ -26,8 +26,12 @@
     include-directives:
       - '**cJSON.h'
   comments: false
-  typedef-map:
-    'size_t': 'IntPtr'
+  type-map:
+    typedefs:
+      'size_t':
+        lib: 'pkg_ffi'
+        c-type: 'Size'
+        dart-type: 'int'
 
   preamble: |
     // Copyright (c) 2009-2017 Dave Gamble and cJSON contributors
diff --git a/pkgs/ffigen/example/libclang-example/custom_import.dart b/pkgs/ffigen/example/libclang-example/custom_import.dart
new file mode 100644
index 0000000..df11af4
--- /dev/null
+++ b/pkgs/ffigen/example/libclang-example/custom_import.dart
@@ -0,0 +1,63 @@
+// Copyright (c) 2022, 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.
+
+import 'dart:ffi';
+
+/// Represents a native unsigned pointer-sized integer in C.
+///
+/// [UintPtr] is not constructible in the Dart code and serves purely as marker in
+/// type signatures.
+@AbiSpecificIntegerMapping({
+  Abi.androidArm: Uint32(),
+  Abi.androidArm64: Uint64(),
+  Abi.androidIA32: Uint32(),
+  Abi.androidX64: Uint64(),
+  Abi.fuchsiaArm64: Uint64(),
+  Abi.fuchsiaX64: Uint64(),
+  Abi.iosArm: Uint32(),
+  Abi.iosArm64: Uint64(),
+  Abi.iosX64: Uint64(),
+  Abi.linuxArm: Uint32(),
+  Abi.linuxArm64: Uint64(),
+  Abi.linuxIA32: Uint32(),
+  Abi.linuxX64: Uint64(),
+  Abi.macosArm64: Uint64(),
+  Abi.macosX64: Uint64(),
+  Abi.windowsArm64: Uint64(),
+  Abi.windowsIA32: Uint32(),
+  Abi.windowsX64: Uint64(),
+})
+class UintPtr extends AbiSpecificInteger {
+  const UintPtr();
+}
+
+/// `unsigned long` in C.
+///
+/// [UnsignedLong] is not constructible in the Dart code and serves purely as marker in
+/// type signatures.
+@AbiSpecificIntegerMapping({
+  Abi.androidArm: Uint32(),
+  Abi.androidArm64: Uint64(),
+  Abi.androidIA32: Uint32(),
+  Abi.androidX64: Uint64(),
+  Abi.fuchsiaArm64: Uint64(),
+  Abi.fuchsiaX64: Uint64(),
+  Abi.iosArm: Uint32(),
+  Abi.iosArm64: Uint64(),
+  Abi.iosX64: Uint64(),
+  Abi.linuxArm: Uint32(),
+  Abi.linuxArm64: Uint64(),
+  Abi.linuxIA32: Uint32(),
+  Abi.linuxX64: Uint64(),
+  Abi.macosArm64: Uint64(),
+  Abi.macosX64: Uint64(),
+  Abi.windowsArm64: Uint32(),
+  Abi.windowsIA32: Uint32(),
+  Abi.windowsX64: Uint32(),
+})
+class UnsignedLong extends AbiSpecificInteger {
+  const UnsignedLong();
+}
+
+class CXCursorSetImpl extends Opaque {}
diff --git a/pkgs/ffigen/example/libclang-example/generated_bindings.dart b/pkgs/ffigen/example/libclang-example/generated_bindings.dart
index 1c7c15b..125e78c 100644
--- a/pkgs/ffigen/example/libclang-example/generated_bindings.dart
+++ b/pkgs/ffigen/example/libclang-example/generated_bindings.dart
@@ -9,6 +9,8 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
+import 'custom_import.dart' as custom_import;
 
 /// Holds bindings to LibClang.
 class LibClang {
@@ -26,7 +28,7 @@
       : _lookup = lookup;
 
   /// Retrieve the character data associated with the given string.
-  ffi.Pointer<ffi.Int8> clang_getCString(
+  ffi.Pointer<pkg_ffi.Char> clang_getCString(
     CXString string,
   ) {
     return _clang_getCString(
@@ -194,7 +196,7 @@
   /// libclang invocations are not logged..
   void clang_CXIndex_setInvocationEmissionPathOption(
     CXIndex arg0,
-    ffi.Pointer<ffi.Int8> Path,
+    ffi.Pointer<pkg_ffi.Char> Path,
   ) {
     return _clang_CXIndex_setInvocationEmissionPathOption(
       arg0,
@@ -290,7 +292,7 @@
   /// or a NULL file handle if the file was not a part of this translation unit.
   CXFile clang_getFile(
     CXTranslationUnit tu,
-    ffi.Pointer<ffi.Int8> file_name,
+    ffi.Pointer<pkg_ffi.Char> file_name,
   ) {
     return _clang_getFile(
       tu,
@@ -312,10 +314,10 @@
   ///
   /// \returns a pointer to the buffer in memory that holds the contents of
   /// \p file, or a NULL pointer when the file is not loaded.
-  ffi.Pointer<ffi.Int8> clang_getFileContents(
+  ffi.Pointer<pkg_ffi.Char> clang_getFileContents(
     CXTranslationUnit tu,
     CXFile file,
-    ffi.Pointer<ffi.IntPtr> size,
+    ffi.Pointer<pkg_ffi.Size> size,
   ) {
     return _clang_getFileContents(
       tu,
@@ -555,9 +557,9 @@
   void clang_getExpansionLocation(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset,
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset,
   ) {
     return _clang_getExpansionLocation(
       location,
@@ -615,8 +617,8 @@
   void clang_getPresumedLocation(
     CXSourceLocation location,
     ffi.Pointer<CXString> filename,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
   ) {
     return _clang_getPresumedLocation(
       location,
@@ -641,9 +643,9 @@
   void clang_getInstantiationLocation(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset,
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset,
   ) {
     return _clang_getInstantiationLocation(
       location,
@@ -684,9 +686,9 @@
   void clang_getSpellingLocation(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset,
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset,
   ) {
     return _clang_getSpellingLocation(
       location,
@@ -727,9 +729,9 @@
   void clang_getFileLocation(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset,
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset,
   ) {
     return _clang_getFileLocation(
       location,
@@ -881,7 +883,7 @@
   /// \returns A loaded CXDiagnosticSet if successful, and NULL otherwise.  These
   /// diagnostics should be released using clang_disposeDiagnosticSet().
   CXDiagnosticSet clang_loadDiagnostics(
-    ffi.Pointer<ffi.Int8> file,
+    ffi.Pointer<pkg_ffi.Char> file,
     ffi.Pointer<ffi.Int32> error,
     ffi.Pointer<CXString> errorString,
   ) {
@@ -1341,9 +1343,9 @@
   /// guarantee their validity until the call to this function returns.
   CXTranslationUnit clang_createTranslationUnitFromSourceFile(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
     int num_clang_command_line_args,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> clang_command_line_args,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> clang_command_line_args,
     int num_unsaved_files,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
   ) {
@@ -1370,7 +1372,7 @@
   /// error codes.
   CXTranslationUnit clang_createTranslationUnit(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> ast_filename,
+    ffi.Pointer<pkg_ffi.Char> ast_filename,
   ) {
     return _clang_createTranslationUnit(
       CIdx,
@@ -1392,7 +1394,7 @@
   /// \returns Zero on success, otherwise returns an error code.
   int clang_createTranslationUnit2(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> ast_filename,
+    ffi.Pointer<pkg_ffi.Char> ast_filename,
     ffi.Pointer<CXTranslationUnit> out_TU,
   ) {
     return _clang_createTranslationUnit2(
@@ -1435,8 +1437,8 @@
   /// error codes.
   CXTranslationUnit clang_parseTranslationUnit(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
@@ -1503,8 +1505,8 @@
   /// \returns Zero on success, otherwise returns an error code.
   int clang_parseTranslationUnit2(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
@@ -1534,8 +1536,8 @@
   /// library paths are relative to the binary.
   int clang_parseTranslationUnit2FullArgv(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
@@ -1605,7 +1607,7 @@
   /// saved successfully, while a non-zero value indicates that a problem occurred.
   int clang_saveTranslationUnit(
     CXTranslationUnit TU,
-    ffi.Pointer<ffi.Int8> FileName,
+    ffi.Pointer<pkg_ffi.Char> FileName,
     int options,
   ) {
     return _clang_saveTranslationUnit(
@@ -1736,7 +1738,7 @@
 
   /// Returns the human-readable null-terminated C string that represents
   /// the name of the memory category.  This string should never be freed.
-  ffi.Pointer<ffi.Int8> clang_getTUResourceUsageName(
+  ffi.Pointer<pkg_ffi.Char> clang_getTUResourceUsageName(
     int kind,
   ) {
     return _clang_getTUResourceUsageName(
@@ -2208,9 +2210,9 @@
   /// \c min(N, availability_size) such structures.
   int clang_getCursorPlatformAvailability(
     CXCursor cursor,
-    ffi.Pointer<ffi.Int32> always_deprecated,
+    ffi.Pointer<pkg_ffi.Int> always_deprecated,
     ffi.Pointer<CXString> deprecated_message,
-    ffi.Pointer<ffi.Int32> always_unavailable,
+    ffi.Pointer<pkg_ffi.Int> always_unavailable,
     ffi.Pointer<CXString> unavailable_message,
     ffi.Pointer<CXPlatformAvailability> availability,
     int availability_size,
@@ -2495,7 +2497,7 @@
   void clang_getOverriddenCursors(
     CXCursor cursor,
     ffi.Pointer<ffi.Pointer<CXCursor>> overridden,
-    ffi.Pointer<ffi.Uint32> num_overridden,
+    ffi.Pointer<pkg_ffi.UnsignedInt> num_overridden,
   ) {
     return _clang_getOverriddenCursors(
       cursor,
@@ -3637,7 +3639,7 @@
   /// CXTypeLayoutError_InvalidFieldName is returned.
   int clang_Type_getOffsetOf(
     CXType T,
-    ffi.Pointer<ffi.Int8> S,
+    ffi.Pointer<pkg_ffi.Char> S,
   ) {
     return _clang_Type_getOffsetOf(
       T,
@@ -3996,7 +3998,7 @@
 
   /// Construct a USR for a specified Objective-C class.
   CXString clang_constructUSR_ObjCClass(
-    ffi.Pointer<ffi.Int8> class_name,
+    ffi.Pointer<pkg_ffi.Char> class_name,
   ) {
     return _clang_constructUSR_ObjCClass(
       class_name,
@@ -4011,8 +4013,8 @@
 
   /// Construct a USR for a specified Objective-C category.
   CXString clang_constructUSR_ObjCCategory(
-    ffi.Pointer<ffi.Int8> class_name,
-    ffi.Pointer<ffi.Int8> category_name,
+    ffi.Pointer<pkg_ffi.Char> class_name,
+    ffi.Pointer<pkg_ffi.Char> category_name,
   ) {
     return _clang_constructUSR_ObjCCategory(
       class_name,
@@ -4029,7 +4031,7 @@
 
   /// Construct a USR for a specified Objective-C protocol.
   CXString clang_constructUSR_ObjCProtocol(
-    ffi.Pointer<ffi.Int8> protocol_name,
+    ffi.Pointer<pkg_ffi.Char> protocol_name,
   ) {
     return _clang_constructUSR_ObjCProtocol(
       protocol_name,
@@ -4046,7 +4048,7 @@
   /// Construct a USR for a specified Objective-C instance variable and
   /// the USR for its containing class.
   CXString clang_constructUSR_ObjCIvar(
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
     CXString classUSR,
   ) {
     return _clang_constructUSR_ObjCIvar(
@@ -4064,7 +4066,7 @@
   /// Construct a USR for a specified Objective-C method and
   /// the USR for its containing class.
   CXString clang_constructUSR_ObjCMethod(
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
     int isInstanceMethod,
     CXString classUSR,
   ) {
@@ -4084,7 +4086,7 @@
   /// Construct a USR for a specified Objective-C property and the USR
   /// for its containing class.
   CXString clang_constructUSR_ObjCProperty(
-    ffi.Pointer<ffi.Int8> property,
+    ffi.Pointer<pkg_ffi.Char> property,
     CXString classUSR,
   ) {
     return _clang_constructUSR_ObjCProperty(
@@ -4558,7 +4560,7 @@
     CXCursor C,
     ffi.Pointer<CXString> language,
     ffi.Pointer<CXString> definedIn,
-    ffi.Pointer<ffi.Uint32> isGenerated,
+    ffi.Pointer<pkg_ffi.UnsignedInt> isGenerated,
   ) {
     return _clang_Cursor_isExternalSymbol(
       C,
@@ -5244,7 +5246,7 @@
     CXTranslationUnit TU,
     CXSourceRange Range,
     ffi.Pointer<ffi.Pointer<CXToken>> Tokens,
-    ffi.Pointer<ffi.Uint32> NumTokens,
+    ffi.Pointer<pkg_ffi.UnsignedInt> NumTokens,
   ) {
     return _clang_tokenize(
       TU,
@@ -5348,12 +5350,12 @@
 
   void clang_getDefinitionSpellingAndExtent(
     CXCursor arg0,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> startBuf,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> endBuf,
-    ffi.Pointer<ffi.Uint32> startLine,
-    ffi.Pointer<ffi.Uint32> startColumn,
-    ffi.Pointer<ffi.Uint32> endLine,
-    ffi.Pointer<ffi.Uint32> endColumn,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> startBuf,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> endBuf,
+    ffi.Pointer<pkg_ffi.UnsignedInt> startLine,
+    ffi.Pointer<pkg_ffi.UnsignedInt> startColumn,
+    ffi.Pointer<pkg_ffi.UnsignedInt> endLine,
+    ffi.Pointer<pkg_ffi.UnsignedInt> endColumn,
   ) {
     return _clang_getDefinitionSpellingAndExtent(
       arg0,
@@ -5820,7 +5822,7 @@
   /// completion fails, returns NULL.
   ffi.Pointer<CXCodeCompleteResults> clang_codeCompleteAt(
     CXTranslationUnit TU,
-    ffi.Pointer<ffi.Int8> complete_filename,
+    ffi.Pointer<pkg_ffi.Char> complete_filename,
     int complete_line,
     int complete_column,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
@@ -5960,7 +5962,7 @@
   /// container
   int clang_codeCompleteGetContainerKind(
     ffi.Pointer<CXCodeCompleteResults> Results,
-    ffi.Pointer<ffi.Uint32> IsIncomplete,
+    ffi.Pointer<pkg_ffi.UnsignedInt> IsIncomplete,
   ) {
     return _clang_codeCompleteGetContainerKind(
       Results,
@@ -6193,7 +6195,7 @@
   /// kind is other than Int or float. User must not free this pointer,
   /// instead call clang_EvalResult_dispose on the CXEvalResult returned
   /// by clang_Cursor_Evaluate.
-  ffi.Pointer<ffi.Int8> clang_EvalResult_getAsStr(
+  ffi.Pointer<pkg_ffi.Char> clang_EvalResult_getAsStr(
     CXEvalResult E,
   ) {
     return _clang_EvalResult_getAsStr(
@@ -6229,7 +6231,7 @@
   /// \returns the requested remapping. This remapping must be freed
   /// via a call to \c clang_remap_dispose(). Can return NULL if an error occurred.
   CXRemapping clang_getRemappings(
-    ffi.Pointer<ffi.Int8> path,
+    ffi.Pointer<pkg_ffi.Char> path,
   ) {
     return _clang_getRemappings(
       path,
@@ -6251,7 +6253,7 @@
   /// \returns the requested remapping. This remapping must be freed
   /// via a call to \c clang_remap_dispose(). Can return NULL if an error occurred.
   CXRemapping clang_getRemappingsFromFileList(
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> filePaths,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> filePaths,
     int numFiles,
   ) {
     return _clang_getRemappingsFromFileList(
@@ -6636,8 +6638,8 @@
     ffi.Pointer<IndexerCallbacks> index_callbacks,
     int index_callbacks_size,
     int index_options,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
@@ -6675,8 +6677,8 @@
     ffi.Pointer<IndexerCallbacks> index_callbacks,
     int index_callbacks_size,
     int index_options,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
@@ -6753,9 +6755,9 @@
     CXIdxLoc loc,
     ffi.Pointer<CXIdxClientFile> indexFile,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset,
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset,
   ) {
     return _clang_indexLoc_getFileLocation(
       loc,
@@ -7648,20 +7650,21 @@
 class CXString extends ffi.Struct {
   external ffi.Pointer<ffi.Void> data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int private_flags;
 }
 
 class CXStringSet extends ffi.Struct {
   external ffi.Pointer<CXString> Strings;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int Count;
 }
 
-typedef NativeClang_getCString = ffi.Pointer<ffi.Int8> Function(
+typedef NativeClang_getCString = ffi.Pointer<pkg_ffi.Char> Function(
     CXString string);
-typedef DartClang_getCString = ffi.Pointer<ffi.Int8> Function(CXString string);
+typedef DartClang_getCString = ffi.Pointer<pkg_ffi.Char> Function(
+    CXString string);
 typedef NativeClang_disposeString = ffi.Void Function(CXString string);
 typedef DartClang_disposeString = void Function(CXString string);
 typedef NativeClang_disposeStringSet = ffi.Void Function(
@@ -7682,13 +7685,13 @@
   /// The file whose contents have not yet been saved.
   ///
   /// This file must already exist in the file system.
-  external ffi.Pointer<ffi.Int8> Filename;
+  external ffi.Pointer<pkg_ffi.Char> Filename;
 
   /// A buffer containing the unsaved contents of this file.
-  external ffi.Pointer<ffi.Int8> Contents;
+  external ffi.Pointer<pkg_ffi.Char> Contents;
 
   /// The length of the unsaved contents of this buffer.
-  @ffi.Uint64()
+  @custom_import.UnsignedLong()
   external int Length;
 }
 
@@ -7696,19 +7699,19 @@
 class CXVersion extends ffi.Struct {
   /// The major version number, e.g., the '10' in '10.7.3'. A negative
   /// value indicates that there is no version number at all.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int Major;
 
   /// The minor version number, e.g., the '7' in '10.7.3'. This value
   /// will be negative if no minor version number was provided, e.g., for
   /// version '10'.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int Minor;
 
   /// The subminor version number, e.g., the '3' in '10.7.3'. This value
   /// will be negative if no minor or subminor version number was provided,
   /// e.g., in version '10' or '10.7'.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int Subminor;
 }
 
@@ -7716,7 +7719,7 @@
 /// typically be linked together into an executable or library.
 typedef CXIndex = ffi.Pointer<ffi.Void>;
 typedef NativeClang_createIndex = CXIndex Function(
-    ffi.Int32 excludeDeclarationsFromPCH, ffi.Int32 displayDiagnostics);
+    pkg_ffi.Int excludeDeclarationsFromPCH, pkg_ffi.Int displayDiagnostics);
 typedef DartClang_createIndex = CXIndex Function(
     int excludeDeclarationsFromPCH, int displayDiagnostics);
 typedef NativeClang_disposeIndex = ffi.Void Function(CXIndex index);
@@ -7746,16 +7749,16 @@
 }
 
 typedef NativeClang_CXIndex_setGlobalOptions = ffi.Void Function(
-    CXIndex arg0, ffi.Uint32 options);
+    CXIndex arg0, pkg_ffi.UnsignedInt options);
 typedef DartClang_CXIndex_setGlobalOptions = void Function(
     CXIndex arg0, int options);
-typedef NativeClang_CXIndex_getGlobalOptions = ffi.Uint32 Function(
+typedef NativeClang_CXIndex_getGlobalOptions = pkg_ffi.UnsignedInt Function(
     CXIndex arg0);
 typedef DartClang_CXIndex_getGlobalOptions = int Function(CXIndex arg0);
 typedef NativeClang_CXIndex_setInvocationEmissionPathOption = ffi.Void Function(
-    CXIndex arg0, ffi.Pointer<ffi.Int8> Path);
+    CXIndex arg0, ffi.Pointer<pkg_ffi.Char> Path);
 typedef DartClang_CXIndex_setInvocationEmissionPathOption = void Function(
-    CXIndex arg0, ffi.Pointer<ffi.Int8> Path);
+    CXIndex arg0, ffi.Pointer<pkg_ffi.Char> Path);
 
 /// A particular source file that is part of a translation unit.
 typedef CXFile = ffi.Pointer<ffi.Void>;
@@ -7768,29 +7771,29 @@
 /// across an indexing session.
 class CXFileUniqueID extends ffi.Struct {
   @ffi.Array.multi([3])
-  external ffi.Array<ffi.Uint64> data;
+  external ffi.Array<pkg_ffi.UnsignedLongLong> data;
 }
 
-typedef NativeClang_getFileUniqueID = ffi.Int32 Function(
+typedef NativeClang_getFileUniqueID = pkg_ffi.Int Function(
     CXFile file, ffi.Pointer<CXFileUniqueID> outID);
 typedef DartClang_getFileUniqueID = int Function(
     CXFile file, ffi.Pointer<CXFileUniqueID> outID);
 
 /// A single translation unit, which resides in an index.
 typedef CXTranslationUnit = ffi.Pointer<CXTranslationUnitImpl>;
-typedef NativeClang_isFileMultipleIncludeGuarded = ffi.Uint32 Function(
+typedef NativeClang_isFileMultipleIncludeGuarded = pkg_ffi.UnsignedInt Function(
     CXTranslationUnit tu, CXFile file);
 typedef DartClang_isFileMultipleIncludeGuarded = int Function(
     CXTranslationUnit tu, CXFile file);
 typedef NativeClang_getFile = CXFile Function(
-    CXTranslationUnit tu, ffi.Pointer<ffi.Int8> file_name);
+    CXTranslationUnit tu, ffi.Pointer<pkg_ffi.Char> file_name);
 typedef DartClang_getFile = CXFile Function(
-    CXTranslationUnit tu, ffi.Pointer<ffi.Int8> file_name);
-typedef NativeClang_getFileContents = ffi.Pointer<ffi.Int8> Function(
-    CXTranslationUnit tu, CXFile file, ffi.Pointer<ffi.IntPtr> size);
-typedef DartClang_getFileContents = ffi.Pointer<ffi.Int8> Function(
-    CXTranslationUnit tu, CXFile file, ffi.Pointer<ffi.IntPtr> size);
-typedef NativeClang_File_isEqual = ffi.Int32 Function(
+    CXTranslationUnit tu, ffi.Pointer<pkg_ffi.Char> file_name);
+typedef NativeClang_getFileContents = ffi.Pointer<pkg_ffi.Char> Function(
+    CXTranslationUnit tu, CXFile file, ffi.Pointer<pkg_ffi.Size> size);
+typedef DartClang_getFileContents = ffi.Pointer<pkg_ffi.Char> Function(
+    CXTranslationUnit tu, CXFile file, ffi.Pointer<pkg_ffi.Size> size);
+typedef NativeClang_File_isEqual = pkg_ffi.Int Function(
     CXFile file1, CXFile file2);
 typedef DartClang_File_isEqual = int Function(CXFile file1, CXFile file2);
 typedef NativeClang_File_tryGetRealPathName = CXString Function(CXFile file);
@@ -7805,7 +7808,7 @@
   @ffi.Array.multi([2])
   external ffi.Array<ffi.Pointer<ffi.Void>> ptr_data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int int_data;
 }
 
@@ -7817,32 +7820,35 @@
   @ffi.Array.multi([2])
   external ffi.Array<ffi.Pointer<ffi.Void>> ptr_data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int begin_int_data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int end_int_data;
 }
 
 typedef NativeClang_getNullLocation = CXSourceLocation Function();
 typedef DartClang_getNullLocation = CXSourceLocation Function();
-typedef NativeClang_equalLocations = ffi.Uint32 Function(
+typedef NativeClang_equalLocations = pkg_ffi.UnsignedInt Function(
     CXSourceLocation loc1, CXSourceLocation loc2);
 typedef DartClang_equalLocations = int Function(
     CXSourceLocation loc1, CXSourceLocation loc2);
 typedef NativeClang_getLocation = CXSourceLocation Function(
-    CXTranslationUnit tu, CXFile file, ffi.Uint32 line, ffi.Uint32 column);
+    CXTranslationUnit tu,
+    CXFile file,
+    pkg_ffi.UnsignedInt line,
+    pkg_ffi.UnsignedInt column);
 typedef DartClang_getLocation = CXSourceLocation Function(
     CXTranslationUnit tu, CXFile file, int line, int column);
 typedef NativeClang_getLocationForOffset = CXSourceLocation Function(
-    CXTranslationUnit tu, CXFile file, ffi.Uint32 offset);
+    CXTranslationUnit tu, CXFile file, pkg_ffi.UnsignedInt offset);
 typedef DartClang_getLocationForOffset = CXSourceLocation Function(
     CXTranslationUnit tu, CXFile file, int offset);
-typedef NativeClang_Location_isInSystemHeader = ffi.Int32 Function(
+typedef NativeClang_Location_isInSystemHeader = pkg_ffi.Int Function(
     CXSourceLocation location);
 typedef DartClang_Location_isInSystemHeader = int Function(
     CXSourceLocation location);
-typedef NativeClang_Location_isFromMainFile = ffi.Int32 Function(
+typedef NativeClang_Location_isFromMainFile = pkg_ffi.Int Function(
     CXSourceLocation location);
 typedef DartClang_Location_isFromMainFile = int Function(
     CXSourceLocation location);
@@ -7852,70 +7858,70 @@
     CXSourceLocation begin, CXSourceLocation end);
 typedef DartClang_getRange = CXSourceRange Function(
     CXSourceLocation begin, CXSourceLocation end);
-typedef NativeClang_equalRanges = ffi.Uint32 Function(
+typedef NativeClang_equalRanges = pkg_ffi.UnsignedInt Function(
     CXSourceRange range1, CXSourceRange range2);
 typedef DartClang_equalRanges = int Function(
     CXSourceRange range1, CXSourceRange range2);
-typedef NativeClang_Range_isNull = ffi.Int32 Function(CXSourceRange range);
+typedef NativeClang_Range_isNull = pkg_ffi.Int Function(CXSourceRange range);
 typedef DartClang_Range_isNull = int Function(CXSourceRange range);
 typedef NativeClang_getExpansionLocation = ffi.Void Function(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset);
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset);
 typedef DartClang_getExpansionLocation = void Function(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset);
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset);
 typedef NativeClang_getPresumedLocation = ffi.Void Function(
     CXSourceLocation location,
     ffi.Pointer<CXString> filename,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column);
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column);
 typedef DartClang_getPresumedLocation = void Function(
     CXSourceLocation location,
     ffi.Pointer<CXString> filename,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column);
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column);
 typedef NativeClang_getInstantiationLocation = ffi.Void Function(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset);
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset);
 typedef DartClang_getInstantiationLocation = void Function(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset);
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset);
 typedef NativeClang_getSpellingLocation = ffi.Void Function(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset);
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset);
 typedef DartClang_getSpellingLocation = void Function(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset);
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset);
 typedef NativeClang_getFileLocation = ffi.Void Function(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset);
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset);
 typedef DartClang_getFileLocation = void Function(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset);
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset);
 typedef NativeClang_getRangeStart = CXSourceLocation Function(
     CXSourceRange range);
 typedef DartClang_getRangeStart = CXSourceLocation Function(
@@ -7927,7 +7933,7 @@
 /// Identifies an array of ranges.
 class CXSourceRangeList extends ffi.Struct {
   /// The number of ranges in the \c ranges array.
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int count;
 
   /// An array of \c CXSourceRanges.
@@ -7949,7 +7955,7 @@
 
 /// A group of CXDiagnostics.
 typedef CXDiagnosticSet = ffi.Pointer<ffi.Void>;
-typedef NativeClang_getNumDiagnosticsInSet = ffi.Uint32 Function(
+typedef NativeClang_getNumDiagnosticsInSet = pkg_ffi.UnsignedInt Function(
     CXDiagnosticSet Diags);
 typedef DartClang_getNumDiagnosticsInSet = int Function(CXDiagnosticSet Diags);
 
@@ -7957,7 +7963,7 @@
 /// location, text, source ranges, and fix-it hints.
 typedef CXDiagnostic = ffi.Pointer<ffi.Void>;
 typedef NativeClang_getDiagnosticInSet = CXDiagnostic Function(
-    CXDiagnosticSet Diags, ffi.Uint32 Index);
+    CXDiagnosticSet Diags, pkg_ffi.UnsignedInt Index);
 typedef DartClang_getDiagnosticInSet = CXDiagnostic Function(
     CXDiagnosticSet Diags, int Index);
 
@@ -7981,11 +7987,11 @@
 }
 
 typedef NativeClang_loadDiagnostics = CXDiagnosticSet Function(
-    ffi.Pointer<ffi.Int8> file,
+    ffi.Pointer<pkg_ffi.Char> file,
     ffi.Pointer<ffi.Int32> error,
     ffi.Pointer<CXString> errorString);
 typedef DartClang_loadDiagnostics = CXDiagnosticSet Function(
-    ffi.Pointer<ffi.Int8> file,
+    ffi.Pointer<pkg_ffi.Char> file,
     ffi.Pointer<ffi.Int32> error,
     ffi.Pointer<CXString> errorString);
 typedef NativeClang_disposeDiagnosticSet = ffi.Void Function(
@@ -7995,11 +8001,11 @@
     CXDiagnostic D);
 typedef DartClang_getChildDiagnostics = CXDiagnosticSet Function(
     CXDiagnostic D);
-typedef NativeClang_getNumDiagnostics = ffi.Uint32 Function(
+typedef NativeClang_getNumDiagnostics = pkg_ffi.UnsignedInt Function(
     CXTranslationUnit Unit);
 typedef DartClang_getNumDiagnostics = int Function(CXTranslationUnit Unit);
 typedef NativeClang_getDiagnostic = CXDiagnostic Function(
-    CXTranslationUnit Unit, ffi.Uint32 Index);
+    CXTranslationUnit Unit, pkg_ffi.UnsignedInt Index);
 typedef DartClang_getDiagnostic = CXDiagnostic Function(
     CXTranslationUnit Unit, int Index);
 typedef NativeClang_getDiagnosticSetFromTU = CXDiagnosticSet Function(
@@ -8010,10 +8016,11 @@
     CXDiagnostic Diagnostic);
 typedef DartClang_disposeDiagnostic = void Function(CXDiagnostic Diagnostic);
 typedef NativeClang_formatDiagnostic = CXString Function(
-    CXDiagnostic Diagnostic, ffi.Uint32 Options);
+    CXDiagnostic Diagnostic, pkg_ffi.UnsignedInt Options);
 typedef DartClang_formatDiagnostic = CXString Function(
     CXDiagnostic Diagnostic, int Options);
-typedef NativeClang_defaultDiagnosticDisplayOptions = ffi.Uint32 Function();
+typedef NativeClang_defaultDiagnosticDisplayOptions = pkg_ffi.UnsignedInt
+    Function();
 typedef DartClang_defaultDiagnosticDisplayOptions = int Function();
 
 /// Describes the severity of a particular diagnostic.
@@ -8053,30 +8060,30 @@
     CXDiagnostic Diag, ffi.Pointer<CXString> Disable);
 typedef DartClang_getDiagnosticOption = CXString Function(
     CXDiagnostic Diag, ffi.Pointer<CXString> Disable);
-typedef NativeClang_getDiagnosticCategory = ffi.Uint32 Function(
+typedef NativeClang_getDiagnosticCategory = pkg_ffi.UnsignedInt Function(
     CXDiagnostic arg0);
 typedef DartClang_getDiagnosticCategory = int Function(CXDiagnostic arg0);
 typedef NativeClang_getDiagnosticCategoryName = CXString Function(
-    ffi.Uint32 Category);
+    pkg_ffi.UnsignedInt Category);
 typedef DartClang_getDiagnosticCategoryName = CXString Function(int Category);
 typedef NativeClang_getDiagnosticCategoryText = CXString Function(
     CXDiagnostic arg0);
 typedef DartClang_getDiagnosticCategoryText = CXString Function(
     CXDiagnostic arg0);
-typedef NativeClang_getDiagnosticNumRanges = ffi.Uint32 Function(
+typedef NativeClang_getDiagnosticNumRanges = pkg_ffi.UnsignedInt Function(
     CXDiagnostic arg0);
 typedef DartClang_getDiagnosticNumRanges = int Function(CXDiagnostic arg0);
 typedef NativeClang_getDiagnosticRange = CXSourceRange Function(
-    CXDiagnostic Diagnostic, ffi.Uint32 Range);
+    CXDiagnostic Diagnostic, pkg_ffi.UnsignedInt Range);
 typedef DartClang_getDiagnosticRange = CXSourceRange Function(
     CXDiagnostic Diagnostic, int Range);
-typedef NativeClang_getDiagnosticNumFixIts = ffi.Uint32 Function(
+typedef NativeClang_getDiagnosticNumFixIts = pkg_ffi.UnsignedInt Function(
     CXDiagnostic Diagnostic);
 typedef DartClang_getDiagnosticNumFixIts = int Function(
     CXDiagnostic Diagnostic);
 typedef NativeClang_getDiagnosticFixIt = CXString Function(
     CXDiagnostic Diagnostic,
-    ffi.Uint32 FixIt,
+    pkg_ffi.UnsignedInt FixIt,
     ffi.Pointer<CXSourceRange> ReplacementRange);
 typedef DartClang_getDiagnosticFixIt = CXString Function(
     CXDiagnostic Diagnostic,
@@ -8089,23 +8096,23 @@
 typedef NativeClang_createTranslationUnitFromSourceFile
     = CXTranslationUnit Function(
         CXIndex CIdx,
-        ffi.Pointer<ffi.Int8> source_filename,
-        ffi.Int32 num_clang_command_line_args,
-        ffi.Pointer<ffi.Pointer<ffi.Int8>> clang_command_line_args,
-        ffi.Uint32 num_unsaved_files,
+        ffi.Pointer<pkg_ffi.Char> source_filename,
+        pkg_ffi.Int num_clang_command_line_args,
+        ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> clang_command_line_args,
+        pkg_ffi.UnsignedInt num_unsaved_files,
         ffi.Pointer<CXUnsavedFile> unsaved_files);
 typedef DartClang_createTranslationUnitFromSourceFile
     = CXTranslationUnit Function(
         CXIndex CIdx,
-        ffi.Pointer<ffi.Int8> source_filename,
+        ffi.Pointer<pkg_ffi.Char> source_filename,
         int num_clang_command_line_args,
-        ffi.Pointer<ffi.Pointer<ffi.Int8>> clang_command_line_args,
+        ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> clang_command_line_args,
         int num_unsaved_files,
         ffi.Pointer<CXUnsavedFile> unsaved_files);
 typedef NativeClang_createTranslationUnit = CXTranslationUnit Function(
-    CXIndex CIdx, ffi.Pointer<ffi.Int8> ast_filename);
+    CXIndex CIdx, ffi.Pointer<pkg_ffi.Char> ast_filename);
 typedef DartClang_createTranslationUnit = CXTranslationUnit Function(
-    CXIndex CIdx, ffi.Pointer<ffi.Int8> ast_filename);
+    CXIndex CIdx, ffi.Pointer<pkg_ffi.Char> ast_filename);
 
 /// Error codes returned by libclang routines.
 ///
@@ -8132,42 +8139,46 @@
   static const int CXError_ASTReadError = 4;
 }
 
-typedef NativeClang_createTranslationUnit2 = ffi.Int32 Function(CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> ast_filename, ffi.Pointer<CXTranslationUnit> out_TU);
-typedef DartClang_createTranslationUnit2 = int Function(CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> ast_filename, ffi.Pointer<CXTranslationUnit> out_TU);
-typedef NativeClang_defaultEditingTranslationUnitOptions = ffi.Uint32
+typedef NativeClang_createTranslationUnit2 = ffi.Int32 Function(
+    CXIndex CIdx,
+    ffi.Pointer<pkg_ffi.Char> ast_filename,
+    ffi.Pointer<CXTranslationUnit> out_TU);
+typedef DartClang_createTranslationUnit2 = int Function(
+    CXIndex CIdx,
+    ffi.Pointer<pkg_ffi.Char> ast_filename,
+    ffi.Pointer<CXTranslationUnit> out_TU);
+typedef NativeClang_defaultEditingTranslationUnitOptions = pkg_ffi.UnsignedInt
     Function();
 typedef DartClang_defaultEditingTranslationUnitOptions = int Function();
 typedef NativeClang_parseTranslationUnit = CXTranslationUnit Function(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
-    ffi.Int32 num_command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
+    pkg_ffi.Int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
-    ffi.Uint32 num_unsaved_files,
-    ffi.Uint32 options);
+    pkg_ffi.UnsignedInt num_unsaved_files,
+    pkg_ffi.UnsignedInt options);
 typedef DartClang_parseTranslationUnit = CXTranslationUnit Function(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
     int options);
 typedef NativeClang_parseTranslationUnit2 = ffi.Int32 Function(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
-    ffi.Int32 num_command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
+    pkg_ffi.Int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
-    ffi.Uint32 num_unsaved_files,
-    ffi.Uint32 options,
+    pkg_ffi.UnsignedInt num_unsaved_files,
+    pkg_ffi.UnsignedInt options,
     ffi.Pointer<CXTranslationUnit> out_TU);
 typedef DartClang_parseTranslationUnit2 = int Function(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
@@ -8175,44 +8186,46 @@
     ffi.Pointer<CXTranslationUnit> out_TU);
 typedef NativeClang_parseTranslationUnit2FullArgv = ffi.Int32 Function(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
-    ffi.Int32 num_command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
+    pkg_ffi.Int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
-    ffi.Uint32 num_unsaved_files,
-    ffi.Uint32 options,
+    pkg_ffi.UnsignedInt num_unsaved_files,
+    pkg_ffi.UnsignedInt options,
     ffi.Pointer<CXTranslationUnit> out_TU);
 typedef DartClang_parseTranslationUnit2FullArgv = int Function(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
     int options,
     ffi.Pointer<CXTranslationUnit> out_TU);
-typedef NativeClang_defaultSaveOptions = ffi.Uint32 Function(
+typedef NativeClang_defaultSaveOptions = pkg_ffi.UnsignedInt Function(
     CXTranslationUnit TU);
 typedef DartClang_defaultSaveOptions = int Function(CXTranslationUnit TU);
-typedef NativeClang_saveTranslationUnit = ffi.Int32 Function(
-    CXTranslationUnit TU, ffi.Pointer<ffi.Int8> FileName, ffi.Uint32 options);
+typedef NativeClang_saveTranslationUnit = pkg_ffi.Int Function(
+    CXTranslationUnit TU,
+    ffi.Pointer<pkg_ffi.Char> FileName,
+    pkg_ffi.UnsignedInt options);
 typedef DartClang_saveTranslationUnit = int Function(
-    CXTranslationUnit TU, ffi.Pointer<ffi.Int8> FileName, int options);
-typedef NativeClang_suspendTranslationUnit = ffi.Uint32 Function(
+    CXTranslationUnit TU, ffi.Pointer<pkg_ffi.Char> FileName, int options);
+typedef NativeClang_suspendTranslationUnit = pkg_ffi.UnsignedInt Function(
     CXTranslationUnit arg0);
 typedef DartClang_suspendTranslationUnit = int Function(CXTranslationUnit arg0);
 typedef NativeClang_disposeTranslationUnit = ffi.Void Function(
     CXTranslationUnit arg0);
 typedef DartClang_disposeTranslationUnit = void Function(
     CXTranslationUnit arg0);
-typedef NativeClang_defaultReparseOptions = ffi.Uint32 Function(
+typedef NativeClang_defaultReparseOptions = pkg_ffi.UnsignedInt Function(
     CXTranslationUnit TU);
 typedef DartClang_defaultReparseOptions = int Function(CXTranslationUnit TU);
-typedef NativeClang_reparseTranslationUnit = ffi.Int32 Function(
+typedef NativeClang_reparseTranslationUnit = pkg_ffi.Int Function(
     CXTranslationUnit TU,
-    ffi.Uint32 num_unsaved_files,
+    pkg_ffi.UnsignedInt num_unsaved_files,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
-    ffi.Uint32 options);
+    pkg_ffi.UnsignedInt options);
 typedef DartClang_reparseTranslationUnit = int Function(
     CXTranslationUnit TU,
     int num_unsaved_files,
@@ -8241,16 +8254,16 @@
   static const int CXTUResourceUsage_Last = 14;
 }
 
-typedef NativeClang_getTUResourceUsageName = ffi.Pointer<ffi.Int8> Function(
+typedef NativeClang_getTUResourceUsageName = ffi.Pointer<pkg_ffi.Char> Function(
     ffi.Int32 kind);
-typedef DartClang_getTUResourceUsageName = ffi.Pointer<ffi.Int8> Function(
+typedef DartClang_getTUResourceUsageName = ffi.Pointer<pkg_ffi.Char> Function(
     int kind);
 
 class CXTUResourceUsageEntry extends ffi.Struct {
   @ffi.Int32()
   external int kind;
 
-  @ffi.Uint64()
+  @custom_import.UnsignedLong()
   external int amount;
 }
 
@@ -8258,7 +8271,7 @@
 class CXTUResourceUsage extends ffi.Struct {
   external ffi.Pointer<ffi.Void> data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int numEntries;
 
   external ffi.Pointer<CXTUResourceUsageEntry> entries;
@@ -8284,7 +8297,7 @@
 typedef DartClang_TargetInfo_dispose = void Function(CXTargetInfo Info);
 typedef NativeClang_TargetInfo_getTriple = CXString Function(CXTargetInfo Info);
 typedef DartClang_TargetInfo_getTriple = CXString Function(CXTargetInfo Info);
-typedef NativeClang_TargetInfo_getPointerWidth = ffi.Int32 Function(
+typedef NativeClang_TargetInfo_getPointerWidth = pkg_ffi.Int Function(
     CXTargetInfo Info);
 typedef DartClang_TargetInfo_getPointerWidth = int Function(CXTargetInfo Info);
 
@@ -8308,7 +8321,7 @@
   @ffi.Int32()
   external int kind;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int xdata;
 
   @ffi.Array.multi([3])
@@ -9107,36 +9120,40 @@
     CXTranslationUnit arg0);
 typedef DartClang_getTranslationUnitCursor = CXCursor Function(
     CXTranslationUnit arg0);
-typedef NativeClang_equalCursors = ffi.Uint32 Function(
+typedef NativeClang_equalCursors = pkg_ffi.UnsignedInt Function(
     CXCursor arg0, CXCursor arg1);
 typedef DartClang_equalCursors = int Function(CXCursor arg0, CXCursor arg1);
-typedef NativeClang_Cursor_isNull = ffi.Int32 Function(CXCursor cursor);
+typedef NativeClang_Cursor_isNull = pkg_ffi.Int Function(CXCursor cursor);
 typedef DartClang_Cursor_isNull = int Function(CXCursor cursor);
-typedef NativeClang_hashCursor = ffi.Uint32 Function(CXCursor arg0);
+typedef NativeClang_hashCursor = pkg_ffi.UnsignedInt Function(CXCursor arg0);
 typedef DartClang_hashCursor = int Function(CXCursor arg0);
 typedef NativeClang_getCursorKind = ffi.Int32 Function(CXCursor arg0);
 typedef DartClang_getCursorKind = int Function(CXCursor arg0);
-typedef NativeClang_isDeclaration = ffi.Uint32 Function(ffi.Int32 arg0);
+typedef NativeClang_isDeclaration = pkg_ffi.UnsignedInt Function(
+    ffi.Int32 arg0);
 typedef DartClang_isDeclaration = int Function(int arg0);
-typedef NativeClang_isInvalidDeclaration = ffi.Uint32 Function(CXCursor arg0);
+typedef NativeClang_isInvalidDeclaration = pkg_ffi.UnsignedInt Function(
+    CXCursor arg0);
 typedef DartClang_isInvalidDeclaration = int Function(CXCursor arg0);
-typedef NativeClang_isReference = ffi.Uint32 Function(ffi.Int32 arg0);
+typedef NativeClang_isReference = pkg_ffi.UnsignedInt Function(ffi.Int32 arg0);
 typedef DartClang_isReference = int Function(int arg0);
-typedef NativeClang_isExpression = ffi.Uint32 Function(ffi.Int32 arg0);
+typedef NativeClang_isExpression = pkg_ffi.UnsignedInt Function(ffi.Int32 arg0);
 typedef DartClang_isExpression = int Function(int arg0);
-typedef NativeClang_isStatement = ffi.Uint32 Function(ffi.Int32 arg0);
+typedef NativeClang_isStatement = pkg_ffi.UnsignedInt Function(ffi.Int32 arg0);
 typedef DartClang_isStatement = int Function(int arg0);
-typedef NativeClang_isAttribute = ffi.Uint32 Function(ffi.Int32 arg0);
+typedef NativeClang_isAttribute = pkg_ffi.UnsignedInt Function(ffi.Int32 arg0);
 typedef DartClang_isAttribute = int Function(int arg0);
-typedef NativeClang_Cursor_hasAttrs = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_Cursor_hasAttrs = pkg_ffi.UnsignedInt Function(CXCursor C);
 typedef DartClang_Cursor_hasAttrs = int Function(CXCursor C);
-typedef NativeClang_isInvalid = ffi.Uint32 Function(ffi.Int32 arg0);
+typedef NativeClang_isInvalid = pkg_ffi.UnsignedInt Function(ffi.Int32 arg0);
 typedef DartClang_isInvalid = int Function(int arg0);
-typedef NativeClang_isTranslationUnit = ffi.Uint32 Function(ffi.Int32 arg0);
+typedef NativeClang_isTranslationUnit = pkg_ffi.UnsignedInt Function(
+    ffi.Int32 arg0);
 typedef DartClang_isTranslationUnit = int Function(int arg0);
-typedef NativeClang_isPreprocessing = ffi.Uint32 Function(ffi.Int32 arg0);
+typedef NativeClang_isPreprocessing = pkg_ffi.UnsignedInt Function(
+    ffi.Int32 arg0);
 typedef DartClang_isPreprocessing = int Function(int arg0);
-typedef NativeClang_isUnexposed = ffi.Uint32 Function(ffi.Int32 arg0);
+typedef NativeClang_isUnexposed = pkg_ffi.UnsignedInt Function(ffi.Int32 arg0);
 typedef DartClang_isUnexposed = int Function(int arg0);
 
 /// Describe the linkage of the entity referred to by a cursor.
@@ -9224,7 +9241,7 @@
   external CXVersion Obsoleted;
 
   /// Whether the entity is unconditionally unavailable on this platform.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int Unavailable;
 
   /// An optional message to provide to a user of this API, e.g., to
@@ -9232,19 +9249,19 @@
   external CXString Message;
 }
 
-typedef NativeClang_getCursorPlatformAvailability = ffi.Int32 Function(
+typedef NativeClang_getCursorPlatformAvailability = pkg_ffi.Int Function(
     CXCursor cursor,
-    ffi.Pointer<ffi.Int32> always_deprecated,
+    ffi.Pointer<pkg_ffi.Int> always_deprecated,
     ffi.Pointer<CXString> deprecated_message,
-    ffi.Pointer<ffi.Int32> always_unavailable,
+    ffi.Pointer<pkg_ffi.Int> always_unavailable,
     ffi.Pointer<CXString> unavailable_message,
     ffi.Pointer<CXPlatformAvailability> availability,
-    ffi.Int32 availability_size);
+    pkg_ffi.Int availability_size);
 typedef DartClang_getCursorPlatformAvailability = int Function(
     CXCursor cursor,
-    ffi.Pointer<ffi.Int32> always_deprecated,
+    ffi.Pointer<pkg_ffi.Int> always_deprecated,
     ffi.Pointer<CXString> deprecated_message,
-    ffi.Pointer<ffi.Int32> always_unavailable,
+    ffi.Pointer<pkg_ffi.Int> always_unavailable,
     ffi.Pointer<CXString> unavailable_message,
     ffi.Pointer<CXPlatformAvailability> availability,
     int availability_size);
@@ -9282,16 +9299,16 @@
 class CXCursorSetImpl extends ffi.Opaque {}
 
 /// A fast container representing a set of CXCursors.
-typedef CXCursorSet = ffi.Pointer<CXCursorSetImpl>;
+typedef CXCursorSet = ffi.Pointer<custom_import.CXCursorSetImpl>;
 typedef NativeClang_createCXCursorSet = CXCursorSet Function();
 typedef DartClang_createCXCursorSet = CXCursorSet Function();
 typedef NativeClang_disposeCXCursorSet = ffi.Void Function(CXCursorSet cset);
 typedef DartClang_disposeCXCursorSet = void Function(CXCursorSet cset);
-typedef NativeClang_CXCursorSet_contains = ffi.Uint32 Function(
+typedef NativeClang_CXCursorSet_contains = pkg_ffi.UnsignedInt Function(
     CXCursorSet cset, CXCursor cursor);
 typedef DartClang_CXCursorSet_contains = int Function(
     CXCursorSet cset, CXCursor cursor);
-typedef NativeClang_CXCursorSet_insert = ffi.Uint32 Function(
+typedef NativeClang_CXCursorSet_insert = pkg_ffi.UnsignedInt Function(
     CXCursorSet cset, CXCursor cursor);
 typedef DartClang_CXCursorSet_insert = int Function(
     CXCursorSet cset, CXCursor cursor);
@@ -9303,11 +9320,11 @@
 typedef NativeClang_getOverriddenCursors = ffi.Void Function(
     CXCursor cursor,
     ffi.Pointer<ffi.Pointer<CXCursor>> overridden,
-    ffi.Pointer<ffi.Uint32> num_overridden);
+    ffi.Pointer<pkg_ffi.UnsignedInt> num_overridden);
 typedef DartClang_getOverriddenCursors = void Function(
     CXCursor cursor,
     ffi.Pointer<ffi.Pointer<CXCursor>> overridden,
-    ffi.Pointer<ffi.Uint32> num_overridden);
+    ffi.Pointer<pkg_ffi.UnsignedInt> num_overridden);
 typedef NativeClang_disposeOverriddenCursors = ffi.Void Function(
     ffi.Pointer<CXCursor> overridden);
 typedef DartClang_disposeOverriddenCursors = void Function(
@@ -9471,19 +9488,20 @@
 typedef DartClang_getTypedefDeclUnderlyingType = CXType Function(CXCursor C);
 typedef NativeClang_getEnumDeclIntegerType = CXType Function(CXCursor C);
 typedef DartClang_getEnumDeclIntegerType = CXType Function(CXCursor C);
-typedef NativeClang_getEnumConstantDeclValue = ffi.Int64 Function(CXCursor C);
-typedef DartClang_getEnumConstantDeclValue = int Function(CXCursor C);
-typedef NativeClang_getEnumConstantDeclUnsignedValue = ffi.Uint64 Function(
+typedef NativeClang_getEnumConstantDeclValue = pkg_ffi.LongLong Function(
     CXCursor C);
+typedef DartClang_getEnumConstantDeclValue = int Function(CXCursor C);
+typedef NativeClang_getEnumConstantDeclUnsignedValue = pkg_ffi.UnsignedLongLong
+    Function(CXCursor C);
 typedef DartClang_getEnumConstantDeclUnsignedValue = int Function(CXCursor C);
-typedef NativeClang_getFieldDeclBitWidth = ffi.Int32 Function(CXCursor C);
+typedef NativeClang_getFieldDeclBitWidth = pkg_ffi.Int Function(CXCursor C);
 typedef DartClang_getFieldDeclBitWidth = int Function(CXCursor C);
-typedef NativeClang_Cursor_getNumArguments = ffi.Int32 Function(CXCursor C);
+typedef NativeClang_Cursor_getNumArguments = pkg_ffi.Int Function(CXCursor C);
 typedef DartClang_Cursor_getNumArguments = int Function(CXCursor C);
 typedef NativeClang_Cursor_getArgument = CXCursor Function(
-    CXCursor C, ffi.Uint32 i);
+    CXCursor C, pkg_ffi.UnsignedInt i);
 typedef DartClang_Cursor_getArgument = CXCursor Function(CXCursor C, int i);
-typedef NativeClang_Cursor_getNumTemplateArguments = ffi.Int32 Function(
+typedef NativeClang_Cursor_getNumTemplateArguments = pkg_ffi.Int Function(
     CXCursor C);
 typedef DartClang_Cursor_getNumTemplateArguments = int Function(CXCursor C);
 
@@ -9505,39 +9523,45 @@
 }
 
 typedef NativeClang_Cursor_getTemplateArgumentKind = ffi.Int32 Function(
-    CXCursor C, ffi.Uint32 I);
+    CXCursor C, pkg_ffi.UnsignedInt I);
 typedef DartClang_Cursor_getTemplateArgumentKind = int Function(
     CXCursor C, int I);
 typedef NativeClang_Cursor_getTemplateArgumentType = CXType Function(
-    CXCursor C, ffi.Uint32 I);
+    CXCursor C, pkg_ffi.UnsignedInt I);
 typedef DartClang_Cursor_getTemplateArgumentType = CXType Function(
     CXCursor C, int I);
-typedef NativeClang_Cursor_getTemplateArgumentValue = ffi.Int64 Function(
-    CXCursor C, ffi.Uint32 I);
+typedef NativeClang_Cursor_getTemplateArgumentValue = pkg_ffi.LongLong Function(
+    CXCursor C, pkg_ffi.UnsignedInt I);
 typedef DartClang_Cursor_getTemplateArgumentValue = int Function(
     CXCursor C, int I);
-typedef NativeClang_Cursor_getTemplateArgumentUnsignedValue = ffi.Uint64
-    Function(CXCursor C, ffi.Uint32 I);
+typedef NativeClang_Cursor_getTemplateArgumentUnsignedValue
+    = pkg_ffi.UnsignedLongLong Function(CXCursor C, pkg_ffi.UnsignedInt I);
 typedef DartClang_Cursor_getTemplateArgumentUnsignedValue = int Function(
     CXCursor C, int I);
-typedef NativeClang_equalTypes = ffi.Uint32 Function(CXType A, CXType B);
+typedef NativeClang_equalTypes = pkg_ffi.UnsignedInt Function(
+    CXType A, CXType B);
 typedef DartClang_equalTypes = int Function(CXType A, CXType B);
 typedef NativeClang_getCanonicalType = CXType Function(CXType T);
 typedef DartClang_getCanonicalType = CXType Function(CXType T);
-typedef NativeClang_isConstQualifiedType = ffi.Uint32 Function(CXType T);
+typedef NativeClang_isConstQualifiedType = pkg_ffi.UnsignedInt Function(
+    CXType T);
 typedef DartClang_isConstQualifiedType = int Function(CXType T);
-typedef NativeClang_Cursor_isMacroFunctionLike = ffi.Uint32 Function(
+typedef NativeClang_Cursor_isMacroFunctionLike = pkg_ffi.UnsignedInt Function(
     CXCursor C);
 typedef DartClang_Cursor_isMacroFunctionLike = int Function(CXCursor C);
-typedef NativeClang_Cursor_isMacroBuiltin = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_Cursor_isMacroBuiltin = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_Cursor_isMacroBuiltin = int Function(CXCursor C);
-typedef NativeClang_Cursor_isFunctionInlined = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_Cursor_isFunctionInlined = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_Cursor_isFunctionInlined = int Function(CXCursor C);
-typedef NativeClang_isVolatileQualifiedType = ffi.Uint32 Function(CXType T);
+typedef NativeClang_isVolatileQualifiedType = pkg_ffi.UnsignedInt Function(
+    CXType T);
 typedef DartClang_isVolatileQualifiedType = int Function(CXType T);
-typedef NativeClang_isRestrictQualifiedType = ffi.Uint32 Function(CXType T);
+typedef NativeClang_isRestrictQualifiedType = pkg_ffi.UnsignedInt Function(
+    CXType T);
 typedef DartClang_isRestrictQualifiedType = int Function(CXType T);
-typedef NativeClang_getAddressSpace = ffi.Uint32 Function(CXType T);
+typedef NativeClang_getAddressSpace = pkg_ffi.UnsignedInt Function(CXType T);
 typedef DartClang_getAddressSpace = int Function(CXType T);
 typedef NativeClang_getTypedefName = CXString Function(CXType CT);
 typedef DartClang_getTypedefName = CXString Function(CXType CT);
@@ -9580,46 +9604,50 @@
 typedef DartClang_getFunctionTypeCallingConv = int Function(CXType T);
 typedef NativeClang_getResultType = CXType Function(CXType T);
 typedef DartClang_getResultType = CXType Function(CXType T);
-typedef NativeClang_getExceptionSpecificationType = ffi.Int32 Function(
+typedef NativeClang_getExceptionSpecificationType = pkg_ffi.Int Function(
     CXType T);
 typedef DartClang_getExceptionSpecificationType = int Function(CXType T);
-typedef NativeClang_getNumArgTypes = ffi.Int32 Function(CXType T);
+typedef NativeClang_getNumArgTypes = pkg_ffi.Int Function(CXType T);
 typedef DartClang_getNumArgTypes = int Function(CXType T);
-typedef NativeClang_getArgType = CXType Function(CXType T, ffi.Uint32 i);
+typedef NativeClang_getArgType = CXType Function(
+    CXType T, pkg_ffi.UnsignedInt i);
 typedef DartClang_getArgType = CXType Function(CXType T, int i);
 typedef NativeClang_Type_getObjCObjectBaseType = CXType Function(CXType T);
 typedef DartClang_Type_getObjCObjectBaseType = CXType Function(CXType T);
-typedef NativeClang_Type_getNumObjCProtocolRefs = ffi.Uint32 Function(CXType T);
+typedef NativeClang_Type_getNumObjCProtocolRefs = pkg_ffi.UnsignedInt Function(
+    CXType T);
 typedef DartClang_Type_getNumObjCProtocolRefs = int Function(CXType T);
 typedef NativeClang_Type_getObjCProtocolDecl = CXCursor Function(
-    CXType T, ffi.Uint32 i);
+    CXType T, pkg_ffi.UnsignedInt i);
 typedef DartClang_Type_getObjCProtocolDecl = CXCursor Function(CXType T, int i);
-typedef NativeClang_Type_getNumObjCTypeArgs = ffi.Uint32 Function(CXType T);
+typedef NativeClang_Type_getNumObjCTypeArgs = pkg_ffi.UnsignedInt Function(
+    CXType T);
 typedef DartClang_Type_getNumObjCTypeArgs = int Function(CXType T);
 typedef NativeClang_Type_getObjCTypeArg = CXType Function(
-    CXType T, ffi.Uint32 i);
+    CXType T, pkg_ffi.UnsignedInt i);
 typedef DartClang_Type_getObjCTypeArg = CXType Function(CXType T, int i);
-typedef NativeClang_isFunctionTypeVariadic = ffi.Uint32 Function(CXType T);
+typedef NativeClang_isFunctionTypeVariadic = pkg_ffi.UnsignedInt Function(
+    CXType T);
 typedef DartClang_isFunctionTypeVariadic = int Function(CXType T);
 typedef NativeClang_getCursorResultType = CXType Function(CXCursor C);
 typedef DartClang_getCursorResultType = CXType Function(CXCursor C);
-typedef NativeClang_getCursorExceptionSpecificationType = ffi.Int32 Function(
+typedef NativeClang_getCursorExceptionSpecificationType = pkg_ffi.Int Function(
     CXCursor C);
 typedef DartClang_getCursorExceptionSpecificationType = int Function(
     CXCursor C);
-typedef NativeClang_isPODType = ffi.Uint32 Function(CXType T);
+typedef NativeClang_isPODType = pkg_ffi.UnsignedInt Function(CXType T);
 typedef DartClang_isPODType = int Function(CXType T);
 typedef NativeClang_getElementType = CXType Function(CXType T);
 typedef DartClang_getElementType = CXType Function(CXType T);
-typedef NativeClang_getNumElements = ffi.Int64 Function(CXType T);
+typedef NativeClang_getNumElements = pkg_ffi.LongLong Function(CXType T);
 typedef DartClang_getNumElements = int Function(CXType T);
 typedef NativeClang_getArrayElementType = CXType Function(CXType T);
 typedef DartClang_getArrayElementType = CXType Function(CXType T);
-typedef NativeClang_getArraySize = ffi.Int64 Function(CXType T);
+typedef NativeClang_getArraySize = pkg_ffi.LongLong Function(CXType T);
 typedef DartClang_getArraySize = int Function(CXType T);
 typedef NativeClang_Type_getNamedType = CXType Function(CXType T);
 typedef DartClang_Type_getNamedType = CXType Function(CXType T);
-typedef NativeClang_Type_isTransparentTagTypedef = ffi.Uint32 Function(
+typedef NativeClang_Type_isTransparentTagTypedef = pkg_ffi.UnsignedInt Function(
     CXType T);
 typedef DartClang_Type_isTransparentTagTypedef = int Function(CXType T);
 
@@ -9642,31 +9670,35 @@
 
 typedef NativeClang_Type_getNullability = ffi.Int32 Function(CXType T);
 typedef DartClang_Type_getNullability = int Function(CXType T);
-typedef NativeClang_Type_getAlignOf = ffi.Int64 Function(CXType T);
+typedef NativeClang_Type_getAlignOf = pkg_ffi.LongLong Function(CXType T);
 typedef DartClang_Type_getAlignOf = int Function(CXType T);
 typedef NativeClang_Type_getClassType = CXType Function(CXType T);
 typedef DartClang_Type_getClassType = CXType Function(CXType T);
-typedef NativeClang_Type_getSizeOf = ffi.Int64 Function(CXType T);
+typedef NativeClang_Type_getSizeOf = pkg_ffi.LongLong Function(CXType T);
 typedef DartClang_Type_getSizeOf = int Function(CXType T);
-typedef NativeClang_Type_getOffsetOf = ffi.Int64 Function(
-    CXType T, ffi.Pointer<ffi.Int8> S);
+typedef NativeClang_Type_getOffsetOf = pkg_ffi.LongLong Function(
+    CXType T, ffi.Pointer<pkg_ffi.Char> S);
 typedef DartClang_Type_getOffsetOf = int Function(
-    CXType T, ffi.Pointer<ffi.Int8> S);
+    CXType T, ffi.Pointer<pkg_ffi.Char> S);
 typedef NativeClang_Type_getModifiedType = CXType Function(CXType T);
 typedef DartClang_Type_getModifiedType = CXType Function(CXType T);
-typedef NativeClang_Cursor_getOffsetOfField = ffi.Int64 Function(CXCursor C);
+typedef NativeClang_Cursor_getOffsetOfField = pkg_ffi.LongLong Function(
+    CXCursor C);
 typedef DartClang_Cursor_getOffsetOfField = int Function(CXCursor C);
-typedef NativeClang_Cursor_isAnonymous = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_Cursor_isAnonymous = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_Cursor_isAnonymous = int Function(CXCursor C);
-typedef NativeClang_Cursor_isAnonymousRecordDecl = ffi.Uint32 Function(
+typedef NativeClang_Cursor_isAnonymousRecordDecl = pkg_ffi.UnsignedInt Function(
     CXCursor C);
 typedef DartClang_Cursor_isAnonymousRecordDecl = int Function(CXCursor C);
-typedef NativeClang_Cursor_isInlineNamespace = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_Cursor_isInlineNamespace = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_Cursor_isInlineNamespace = int Function(CXCursor C);
-typedef NativeClang_Type_getNumTemplateArguments = ffi.Int32 Function(CXType T);
+typedef NativeClang_Type_getNumTemplateArguments = pkg_ffi.Int Function(
+    CXType T);
 typedef DartClang_Type_getNumTemplateArguments = int Function(CXType T);
 typedef NativeClang_Type_getTemplateArgumentAsType = CXType Function(
-    CXType T, ffi.Uint32 i);
+    CXType T, pkg_ffi.UnsignedInt i);
 typedef DartClang_Type_getTemplateArgumentAsType = CXType Function(
     CXType T, int i);
 
@@ -9683,9 +9715,10 @@
 
 typedef NativeClang_Type_getCXXRefQualifier = ffi.Int32 Function(CXType T);
 typedef DartClang_Type_getCXXRefQualifier = int Function(CXType T);
-typedef NativeClang_Cursor_isBitField = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_Cursor_isBitField = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_Cursor_isBitField = int Function(CXCursor C);
-typedef NativeClang_isVirtualBase = ffi.Uint32 Function(CXCursor arg0);
+typedef NativeClang_isVirtualBase = pkg_ffi.UnsignedInt Function(CXCursor arg0);
 typedef DartClang_isVirtualBase = int Function(CXCursor arg0);
 
 /// Represents the C++ access control level to a base class for a
@@ -9715,11 +9748,11 @@
 
 typedef NativeClang_Cursor_getStorageClass = ffi.Int32 Function(CXCursor arg0);
 typedef DartClang_Cursor_getStorageClass = int Function(CXCursor arg0);
-typedef NativeClang_getNumOverloadedDecls = ffi.Uint32 Function(
+typedef NativeClang_getNumOverloadedDecls = pkg_ffi.UnsignedInt Function(
     CXCursor cursor);
 typedef DartClang_getNumOverloadedDecls = int Function(CXCursor cursor);
 typedef NativeClang_getOverloadedDecl = CXCursor Function(
-    CXCursor cursor, ffi.Uint32 index);
+    CXCursor cursor, pkg_ffi.UnsignedInt index);
 typedef DartClang_getOverloadedDecl = CXCursor Function(
     CXCursor cursor, int index);
 typedef NativeClang_getIBOutletCollectionType = CXType Function(CXCursor arg0);
@@ -9759,40 +9792,44 @@
 /// Opaque pointer representing client data that will be passed through
 /// to various callbacks and visitors.
 typedef CXClientData = ffi.Pointer<ffi.Void>;
-typedef NativeClang_visitChildren = ffi.Uint32 Function(
+typedef NativeClang_visitChildren = pkg_ffi.UnsignedInt Function(
     CXCursor parent, CXCursorVisitor visitor, CXClientData client_data);
 typedef DartClang_visitChildren = int Function(
     CXCursor parent, CXCursorVisitor visitor, CXClientData client_data);
 typedef NativeClang_getCursorUSR = CXString Function(CXCursor arg0);
 typedef DartClang_getCursorUSR = CXString Function(CXCursor arg0);
 typedef NativeClang_constructUSR_ObjCClass = CXString Function(
-    ffi.Pointer<ffi.Int8> class_name);
+    ffi.Pointer<pkg_ffi.Char> class_name);
 typedef DartClang_constructUSR_ObjCClass = CXString Function(
-    ffi.Pointer<ffi.Int8> class_name);
+    ffi.Pointer<pkg_ffi.Char> class_name);
 typedef NativeClang_constructUSR_ObjCCategory = CXString Function(
-    ffi.Pointer<ffi.Int8> class_name, ffi.Pointer<ffi.Int8> category_name);
+    ffi.Pointer<pkg_ffi.Char> class_name,
+    ffi.Pointer<pkg_ffi.Char> category_name);
 typedef DartClang_constructUSR_ObjCCategory = CXString Function(
-    ffi.Pointer<ffi.Int8> class_name, ffi.Pointer<ffi.Int8> category_name);
+    ffi.Pointer<pkg_ffi.Char> class_name,
+    ffi.Pointer<pkg_ffi.Char> category_name);
 typedef NativeClang_constructUSR_ObjCProtocol = CXString Function(
-    ffi.Pointer<ffi.Int8> protocol_name);
+    ffi.Pointer<pkg_ffi.Char> protocol_name);
 typedef DartClang_constructUSR_ObjCProtocol = CXString Function(
-    ffi.Pointer<ffi.Int8> protocol_name);
+    ffi.Pointer<pkg_ffi.Char> protocol_name);
 typedef NativeClang_constructUSR_ObjCIvar = CXString Function(
-    ffi.Pointer<ffi.Int8> name, CXString classUSR);
+    ffi.Pointer<pkg_ffi.Char> name, CXString classUSR);
 typedef DartClang_constructUSR_ObjCIvar = CXString Function(
-    ffi.Pointer<ffi.Int8> name, CXString classUSR);
+    ffi.Pointer<pkg_ffi.Char> name, CXString classUSR);
 typedef NativeClang_constructUSR_ObjCMethod = CXString Function(
-    ffi.Pointer<ffi.Int8> name, ffi.Uint32 isInstanceMethod, CXString classUSR);
+    ffi.Pointer<pkg_ffi.Char> name,
+    pkg_ffi.UnsignedInt isInstanceMethod,
+    CXString classUSR);
 typedef DartClang_constructUSR_ObjCMethod = CXString Function(
-    ffi.Pointer<ffi.Int8> name, int isInstanceMethod, CXString classUSR);
+    ffi.Pointer<pkg_ffi.Char> name, int isInstanceMethod, CXString classUSR);
 typedef NativeClang_constructUSR_ObjCProperty = CXString Function(
-    ffi.Pointer<ffi.Int8> property, CXString classUSR);
+    ffi.Pointer<pkg_ffi.Char> property, CXString classUSR);
 typedef DartClang_constructUSR_ObjCProperty = CXString Function(
-    ffi.Pointer<ffi.Int8> property, CXString classUSR);
+    ffi.Pointer<pkg_ffi.Char> property, CXString classUSR);
 typedef NativeClang_getCursorSpelling = CXString Function(CXCursor arg0);
 typedef DartClang_getCursorSpelling = CXString Function(CXCursor arg0);
 typedef NativeClang_Cursor_getSpellingNameRange = CXSourceRange Function(
-    CXCursor arg0, ffi.Uint32 pieceIndex, ffi.Uint32 options);
+    CXCursor arg0, pkg_ffi.UnsignedInt pieceIndex, pkg_ffi.UnsignedInt options);
 typedef DartClang_Cursor_getSpellingNameRange = CXSourceRange Function(
     CXCursor arg0, int pieceIndex, int options);
 
@@ -9833,12 +9870,12 @@
   static const int CXPrintingPolicy_LastProperty = 25;
 }
 
-typedef NativeClang_PrintingPolicy_getProperty = ffi.Uint32 Function(
+typedef NativeClang_PrintingPolicy_getProperty = pkg_ffi.UnsignedInt Function(
     CXPrintingPolicy Policy, ffi.Int32 Property);
 typedef DartClang_PrintingPolicy_getProperty = int Function(
     CXPrintingPolicy Policy, int Property);
 typedef NativeClang_PrintingPolicy_setProperty = ffi.Void Function(
-    CXPrintingPolicy Policy, ffi.Int32 Property, ffi.Uint32 Value);
+    CXPrintingPolicy Policy, ffi.Int32 Property, pkg_ffi.UnsignedInt Value);
 typedef DartClang_PrintingPolicy_setProperty = void Function(
     CXPrintingPolicy Policy, int Property, int Value);
 typedef NativeClang_getCursorPrintingPolicy = CXPrintingPolicy Function(
@@ -9859,19 +9896,20 @@
 typedef DartClang_getCursorReferenced = CXCursor Function(CXCursor arg0);
 typedef NativeClang_getCursorDefinition = CXCursor Function(CXCursor arg0);
 typedef DartClang_getCursorDefinition = CXCursor Function(CXCursor arg0);
-typedef NativeClang_isCursorDefinition = ffi.Uint32 Function(CXCursor arg0);
+typedef NativeClang_isCursorDefinition = pkg_ffi.UnsignedInt Function(
+    CXCursor arg0);
 typedef DartClang_isCursorDefinition = int Function(CXCursor arg0);
 typedef NativeClang_getCanonicalCursor = CXCursor Function(CXCursor arg0);
 typedef DartClang_getCanonicalCursor = CXCursor Function(CXCursor arg0);
-typedef NativeClang_Cursor_getObjCSelectorIndex = ffi.Int32 Function(
+typedef NativeClang_Cursor_getObjCSelectorIndex = pkg_ffi.Int Function(
     CXCursor arg0);
 typedef DartClang_Cursor_getObjCSelectorIndex = int Function(CXCursor arg0);
-typedef NativeClang_Cursor_isDynamicCall = ffi.Int32 Function(CXCursor C);
+typedef NativeClang_Cursor_isDynamicCall = pkg_ffi.Int Function(CXCursor C);
 typedef DartClang_Cursor_isDynamicCall = int Function(CXCursor C);
 typedef NativeClang_Cursor_getReceiverType = CXType Function(CXCursor C);
 typedef DartClang_Cursor_getReceiverType = CXType Function(CXCursor C);
-typedef NativeClang_Cursor_getObjCPropertyAttributes = ffi.Uint32 Function(
-    CXCursor C, ffi.Uint32 reserved);
+typedef NativeClang_Cursor_getObjCPropertyAttributes = pkg_ffi.UnsignedInt
+    Function(CXCursor C, pkg_ffi.UnsignedInt reserved);
 typedef DartClang_Cursor_getObjCPropertyAttributes = int Function(
     CXCursor C, int reserved);
 typedef NativeClang_Cursor_getObjCPropertyGetterName = CXString Function(
@@ -9882,23 +9920,25 @@
     CXCursor C);
 typedef DartClang_Cursor_getObjCPropertySetterName = CXString Function(
     CXCursor C);
-typedef NativeClang_Cursor_getObjCDeclQualifiers = ffi.Uint32 Function(
+typedef NativeClang_Cursor_getObjCDeclQualifiers = pkg_ffi.UnsignedInt Function(
     CXCursor C);
 typedef DartClang_Cursor_getObjCDeclQualifiers = int Function(CXCursor C);
-typedef NativeClang_Cursor_isObjCOptional = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_Cursor_isObjCOptional = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_Cursor_isObjCOptional = int Function(CXCursor C);
-typedef NativeClang_Cursor_isVariadic = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_Cursor_isVariadic = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_Cursor_isVariadic = int Function(CXCursor C);
-typedef NativeClang_Cursor_isExternalSymbol = ffi.Uint32 Function(
+typedef NativeClang_Cursor_isExternalSymbol = pkg_ffi.UnsignedInt Function(
     CXCursor C,
     ffi.Pointer<CXString> language,
     ffi.Pointer<CXString> definedIn,
-    ffi.Pointer<ffi.Uint32> isGenerated);
+    ffi.Pointer<pkg_ffi.UnsignedInt> isGenerated);
 typedef DartClang_Cursor_isExternalSymbol = int Function(
     CXCursor C,
     ffi.Pointer<CXString> language,
     ffi.Pointer<CXString> definedIn,
-    ffi.Pointer<ffi.Uint32> isGenerated);
+    ffi.Pointer<pkg_ffi.UnsignedInt> isGenerated);
 typedef NativeClang_Cursor_getCommentRange = CXSourceRange Function(CXCursor C);
 typedef DartClang_Cursor_getCommentRange = CXSourceRange Function(CXCursor C);
 typedef NativeClang_Cursor_getRawCommentText = CXString Function(CXCursor C);
@@ -9936,45 +9976,53 @@
 typedef DartClang_Module_getName = CXString Function(CXModule Module);
 typedef NativeClang_Module_getFullName = CXString Function(CXModule Module);
 typedef DartClang_Module_getFullName = CXString Function(CXModule Module);
-typedef NativeClang_Module_isSystem = ffi.Int32 Function(CXModule Module);
+typedef NativeClang_Module_isSystem = pkg_ffi.Int Function(CXModule Module);
 typedef DartClang_Module_isSystem = int Function(CXModule Module);
-typedef NativeClang_Module_getNumTopLevelHeaders = ffi.Uint32 Function(
+typedef NativeClang_Module_getNumTopLevelHeaders = pkg_ffi.UnsignedInt Function(
     CXTranslationUnit arg0, CXModule Module);
 typedef DartClang_Module_getNumTopLevelHeaders = int Function(
     CXTranslationUnit arg0, CXModule Module);
 typedef NativeClang_Module_getTopLevelHeader = CXFile Function(
-    CXTranslationUnit arg0, CXModule Module, ffi.Uint32 Index);
+    CXTranslationUnit arg0, CXModule Module, pkg_ffi.UnsignedInt Index);
 typedef DartClang_Module_getTopLevelHeader = CXFile Function(
     CXTranslationUnit arg0, CXModule Module, int Index);
-typedef NativeClang_CXXConstructor_isConvertingConstructor = ffi.Uint32
+typedef NativeClang_CXXConstructor_isConvertingConstructor = pkg_ffi.UnsignedInt
     Function(CXCursor C);
 typedef DartClang_CXXConstructor_isConvertingConstructor = int Function(
     CXCursor C);
-typedef NativeClang_CXXConstructor_isCopyConstructor = ffi.Uint32 Function(
-    CXCursor C);
+typedef NativeClang_CXXConstructor_isCopyConstructor = pkg_ffi.UnsignedInt
+    Function(CXCursor C);
 typedef DartClang_CXXConstructor_isCopyConstructor = int Function(CXCursor C);
-typedef NativeClang_CXXConstructor_isDefaultConstructor = ffi.Uint32 Function(
-    CXCursor C);
+typedef NativeClang_CXXConstructor_isDefaultConstructor = pkg_ffi.UnsignedInt
+    Function(CXCursor C);
 typedef DartClang_CXXConstructor_isDefaultConstructor = int Function(
     CXCursor C);
-typedef NativeClang_CXXConstructor_isMoveConstructor = ffi.Uint32 Function(
-    CXCursor C);
+typedef NativeClang_CXXConstructor_isMoveConstructor = pkg_ffi.UnsignedInt
+    Function(CXCursor C);
 typedef DartClang_CXXConstructor_isMoveConstructor = int Function(CXCursor C);
-typedef NativeClang_CXXField_isMutable = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_CXXField_isMutable = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_CXXField_isMutable = int Function(CXCursor C);
-typedef NativeClang_CXXMethod_isDefaulted = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_CXXMethod_isDefaulted = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_CXXMethod_isDefaulted = int Function(CXCursor C);
-typedef NativeClang_CXXMethod_isPureVirtual = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_CXXMethod_isPureVirtual = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_CXXMethod_isPureVirtual = int Function(CXCursor C);
-typedef NativeClang_CXXMethod_isStatic = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_CXXMethod_isStatic = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_CXXMethod_isStatic = int Function(CXCursor C);
-typedef NativeClang_CXXMethod_isVirtual = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_CXXMethod_isVirtual = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_CXXMethod_isVirtual = int Function(CXCursor C);
-typedef NativeClang_CXXRecord_isAbstract = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_CXXRecord_isAbstract = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_CXXRecord_isAbstract = int Function(CXCursor C);
-typedef NativeClang_EnumDecl_isScoped = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_EnumDecl_isScoped = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_EnumDecl_isScoped = int Function(CXCursor C);
-typedef NativeClang_CXXMethod_isConst = ffi.Uint32 Function(CXCursor C);
+typedef NativeClang_CXXMethod_isConst = pkg_ffi.UnsignedInt Function(
+    CXCursor C);
 typedef DartClang_CXXMethod_isConst = int Function(CXCursor C);
 typedef NativeClang_getTemplateCursorKind = ffi.Int32 Function(CXCursor C);
 typedef DartClang_getTemplateCursorKind = int Function(CXCursor C);
@@ -9982,14 +10030,14 @@
     CXCursor C);
 typedef DartClang_getSpecializedCursorTemplate = CXCursor Function(CXCursor C);
 typedef NativeClang_getCursorReferenceNameRange = CXSourceRange Function(
-    CXCursor C, ffi.Uint32 NameFlags, ffi.Uint32 PieceIndex);
+    CXCursor C, pkg_ffi.UnsignedInt NameFlags, pkg_ffi.UnsignedInt PieceIndex);
 typedef DartClang_getCursorReferenceNameRange = CXSourceRange Function(
     CXCursor C, int NameFlags, int PieceIndex);
 
 /// Describes a single preprocessing token.
 class CXToken extends ffi.Struct {
   @ffi.Array.multi([4])
-  external ffi.Array<ffi.Uint32> int_data;
+  external ffi.Array<pkg_ffi.UnsignedInt> int_data;
 
   external ffi.Pointer<ffi.Void> ptr_data;
 }
@@ -10035,48 +10083,48 @@
     CXTranslationUnit TU,
     CXSourceRange Range,
     ffi.Pointer<ffi.Pointer<CXToken>> Tokens,
-    ffi.Pointer<ffi.Uint32> NumTokens);
+    ffi.Pointer<pkg_ffi.UnsignedInt> NumTokens);
 typedef DartClang_tokenize = void Function(
     CXTranslationUnit TU,
     CXSourceRange Range,
     ffi.Pointer<ffi.Pointer<CXToken>> Tokens,
-    ffi.Pointer<ffi.Uint32> NumTokens);
+    ffi.Pointer<pkg_ffi.UnsignedInt> NumTokens);
 typedef NativeClang_annotateTokens = ffi.Void Function(
     CXTranslationUnit TU,
     ffi.Pointer<CXToken> Tokens,
-    ffi.Uint32 NumTokens,
+    pkg_ffi.UnsignedInt NumTokens,
     ffi.Pointer<CXCursor> Cursors);
 typedef DartClang_annotateTokens = void Function(CXTranslationUnit TU,
     ffi.Pointer<CXToken> Tokens, int NumTokens, ffi.Pointer<CXCursor> Cursors);
-typedef NativeClang_disposeTokens = ffi.Void Function(
-    CXTranslationUnit TU, ffi.Pointer<CXToken> Tokens, ffi.Uint32 NumTokens);
+typedef NativeClang_disposeTokens = ffi.Void Function(CXTranslationUnit TU,
+    ffi.Pointer<CXToken> Tokens, pkg_ffi.UnsignedInt NumTokens);
 typedef DartClang_disposeTokens = void Function(
     CXTranslationUnit TU, ffi.Pointer<CXToken> Tokens, int NumTokens);
 typedef NativeClang_getCursorKindSpelling = CXString Function(ffi.Int32 Kind);
 typedef DartClang_getCursorKindSpelling = CXString Function(int Kind);
 typedef NativeClang_getDefinitionSpellingAndExtent = ffi.Void Function(
     CXCursor arg0,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> startBuf,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> endBuf,
-    ffi.Pointer<ffi.Uint32> startLine,
-    ffi.Pointer<ffi.Uint32> startColumn,
-    ffi.Pointer<ffi.Uint32> endLine,
-    ffi.Pointer<ffi.Uint32> endColumn);
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> startBuf,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> endBuf,
+    ffi.Pointer<pkg_ffi.UnsignedInt> startLine,
+    ffi.Pointer<pkg_ffi.UnsignedInt> startColumn,
+    ffi.Pointer<pkg_ffi.UnsignedInt> endLine,
+    ffi.Pointer<pkg_ffi.UnsignedInt> endColumn);
 typedef DartClang_getDefinitionSpellingAndExtent = void Function(
     CXCursor arg0,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> startBuf,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> endBuf,
-    ffi.Pointer<ffi.Uint32> startLine,
-    ffi.Pointer<ffi.Uint32> startColumn,
-    ffi.Pointer<ffi.Uint32> endLine,
-    ffi.Pointer<ffi.Uint32> endColumn);
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> startBuf,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> endBuf,
+    ffi.Pointer<pkg_ffi.UnsignedInt> startLine,
+    ffi.Pointer<pkg_ffi.UnsignedInt> startColumn,
+    ffi.Pointer<pkg_ffi.UnsignedInt> endLine,
+    ffi.Pointer<pkg_ffi.UnsignedInt> endColumn);
 typedef NativeClang_enableStackTraces = ffi.Void Function();
 typedef DartClang_enableStackTraces = void Function();
 typedef NativeClang_executeOnThread = ffi.Void Function(
     ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
         fn,
     ffi.Pointer<ffi.Void> user_data,
-    ffi.Uint32 stack_size);
+    pkg_ffi.UnsignedInt stack_size);
 typedef DartClang_executeOnThread = void Function(
     ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
         fn,
@@ -10262,22 +10310,23 @@
 }
 
 typedef NativeClang_getCompletionChunkKind = ffi.Int32 Function(
-    CXCompletionString completion_string, ffi.Uint32 chunk_number);
+    CXCompletionString completion_string, pkg_ffi.UnsignedInt chunk_number);
 typedef DartClang_getCompletionChunkKind = int Function(
     CXCompletionString completion_string, int chunk_number);
 typedef NativeClang_getCompletionChunkText = CXString Function(
-    CXCompletionString completion_string, ffi.Uint32 chunk_number);
+    CXCompletionString completion_string, pkg_ffi.UnsignedInt chunk_number);
 typedef DartClang_getCompletionChunkText = CXString Function(
     CXCompletionString completion_string, int chunk_number);
-typedef NativeClang_getCompletionChunkCompletionString = CXCompletionString
-    Function(CXCompletionString completion_string, ffi.Uint32 chunk_number);
+typedef NativeClang_getCompletionChunkCompletionString
+    = CXCompletionString Function(
+        CXCompletionString completion_string, pkg_ffi.UnsignedInt chunk_number);
 typedef DartClang_getCompletionChunkCompletionString = CXCompletionString
     Function(CXCompletionString completion_string, int chunk_number);
-typedef NativeClang_getNumCompletionChunks = ffi.Uint32 Function(
+typedef NativeClang_getNumCompletionChunks = pkg_ffi.UnsignedInt Function(
     CXCompletionString completion_string);
 typedef DartClang_getNumCompletionChunks = int Function(
     CXCompletionString completion_string);
-typedef NativeClang_getCompletionPriority = ffi.Uint32 Function(
+typedef NativeClang_getCompletionPriority = pkg_ffi.UnsignedInt Function(
     CXCompletionString completion_string);
 typedef DartClang_getCompletionPriority = int Function(
     CXCompletionString completion_string);
@@ -10285,12 +10334,13 @@
     CXCompletionString completion_string);
 typedef DartClang_getCompletionAvailability = int Function(
     CXCompletionString completion_string);
-typedef NativeClang_getCompletionNumAnnotations = ffi.Uint32 Function(
+typedef NativeClang_getCompletionNumAnnotations = pkg_ffi.UnsignedInt Function(
     CXCompletionString completion_string);
 typedef DartClang_getCompletionNumAnnotations = int Function(
     CXCompletionString completion_string);
 typedef NativeClang_getCompletionAnnotation = CXString Function(
-    CXCompletionString completion_string, ffi.Uint32 annotation_number);
+    CXCompletionString completion_string,
+    pkg_ffi.UnsignedInt annotation_number);
 typedef DartClang_getCompletionAnnotation = CXString Function(
     CXCompletionString completion_string, int annotation_number);
 typedef NativeClang_getCompletionParent = CXString Function(
@@ -10317,69 +10367,70 @@
 
   /// The number of code-completion results stored in the
   /// \c Results array.
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int NumResults;
 }
 
-typedef NativeClang_getCompletionNumFixIts = ffi.Uint32 Function(
-    ffi.Pointer<CXCodeCompleteResults> results, ffi.Uint32 completion_index);
+typedef NativeClang_getCompletionNumFixIts = pkg_ffi.UnsignedInt Function(
+    ffi.Pointer<CXCodeCompleteResults> results,
+    pkg_ffi.UnsignedInt completion_index);
 typedef DartClang_getCompletionNumFixIts = int Function(
     ffi.Pointer<CXCodeCompleteResults> results, int completion_index);
 typedef NativeClang_getCompletionFixIt = CXString Function(
     ffi.Pointer<CXCodeCompleteResults> results,
-    ffi.Uint32 completion_index,
-    ffi.Uint32 fixit_index,
+    pkg_ffi.UnsignedInt completion_index,
+    pkg_ffi.UnsignedInt fixit_index,
     ffi.Pointer<CXSourceRange> replacement_range);
 typedef DartClang_getCompletionFixIt = CXString Function(
     ffi.Pointer<CXCodeCompleteResults> results,
     int completion_index,
     int fixit_index,
     ffi.Pointer<CXSourceRange> replacement_range);
-typedef NativeClang_defaultCodeCompleteOptions = ffi.Uint32 Function();
+typedef NativeClang_defaultCodeCompleteOptions = pkg_ffi.UnsignedInt Function();
 typedef DartClang_defaultCodeCompleteOptions = int Function();
 typedef NativeClang_codeCompleteAt
     = ffi.Pointer<CXCodeCompleteResults> Function(
         CXTranslationUnit TU,
-        ffi.Pointer<ffi.Int8> complete_filename,
-        ffi.Uint32 complete_line,
-        ffi.Uint32 complete_column,
+        ffi.Pointer<pkg_ffi.Char> complete_filename,
+        pkg_ffi.UnsignedInt complete_line,
+        pkg_ffi.UnsignedInt complete_column,
         ffi.Pointer<CXUnsavedFile> unsaved_files,
-        ffi.Uint32 num_unsaved_files,
-        ffi.Uint32 options);
+        pkg_ffi.UnsignedInt num_unsaved_files,
+        pkg_ffi.UnsignedInt options);
 typedef DartClang_codeCompleteAt = ffi.Pointer<CXCodeCompleteResults> Function(
     CXTranslationUnit TU,
-    ffi.Pointer<ffi.Int8> complete_filename,
+    ffi.Pointer<pkg_ffi.Char> complete_filename,
     int complete_line,
     int complete_column,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
     int options);
 typedef NativeClang_sortCodeCompletionResults = ffi.Void Function(
-    ffi.Pointer<CXCompletionResult> Results, ffi.Uint32 NumResults);
+    ffi.Pointer<CXCompletionResult> Results, pkg_ffi.UnsignedInt NumResults);
 typedef DartClang_sortCodeCompletionResults = void Function(
     ffi.Pointer<CXCompletionResult> Results, int NumResults);
 typedef NativeClang_disposeCodeCompleteResults = ffi.Void Function(
     ffi.Pointer<CXCodeCompleteResults> Results);
 typedef DartClang_disposeCodeCompleteResults = void Function(
     ffi.Pointer<CXCodeCompleteResults> Results);
-typedef NativeClang_codeCompleteGetNumDiagnostics = ffi.Uint32 Function(
-    ffi.Pointer<CXCodeCompleteResults> Results);
+typedef NativeClang_codeCompleteGetNumDiagnostics = pkg_ffi.UnsignedInt
+    Function(ffi.Pointer<CXCodeCompleteResults> Results);
 typedef DartClang_codeCompleteGetNumDiagnostics = int Function(
     ffi.Pointer<CXCodeCompleteResults> Results);
 typedef NativeClang_codeCompleteGetDiagnostic = CXDiagnostic Function(
-    ffi.Pointer<CXCodeCompleteResults> Results, ffi.Uint32 Index);
+    ffi.Pointer<CXCodeCompleteResults> Results, pkg_ffi.UnsignedInt Index);
 typedef DartClang_codeCompleteGetDiagnostic = CXDiagnostic Function(
     ffi.Pointer<CXCodeCompleteResults> Results, int Index);
-typedef NativeClang_codeCompleteGetContexts = ffi.Uint64 Function(
+typedef NativeClang_codeCompleteGetContexts = pkg_ffi.UnsignedLongLong Function(
     ffi.Pointer<CXCodeCompleteResults> Results);
 typedef DartClang_codeCompleteGetContexts = int Function(
     ffi.Pointer<CXCodeCompleteResults> Results);
 typedef NativeClang_codeCompleteGetContainerKind = ffi.Int32 Function(
     ffi.Pointer<CXCodeCompleteResults> Results,
-    ffi.Pointer<ffi.Uint32> IsIncomplete);
+    ffi.Pointer<pkg_ffi.UnsignedInt> IsIncomplete);
 typedef DartClang_codeCompleteGetContainerKind = int Function(
     ffi.Pointer<CXCodeCompleteResults> Results,
-    ffi.Pointer<ffi.Uint32> IsIncomplete);
+    ffi.Pointer<pkg_ffi.UnsignedInt> IsIncomplete);
 typedef NativeClang_codeCompleteGetContainerUSR = CXString Function(
     ffi.Pointer<CXCodeCompleteResults> Results);
 typedef DartClang_codeCompleteGetContainerUSR = CXString Function(
@@ -10391,7 +10442,7 @@
 typedef NativeClang_getClangVersion = CXString Function();
 typedef DartClang_getClangVersion = CXString Function();
 typedef NativeClang_toggleCrashRecovery = ffi.Void Function(
-    ffi.Uint32 isEnabled);
+    pkg_ffi.UnsignedInt isEnabled);
 typedef DartClang_toggleCrashRecovery = void Function(int isEnabled);
 
 /// Visitor invoked for each file in a translation unit
@@ -10405,8 +10456,8 @@
 /// the first element refers to the location that included 'included_file'.
 typedef CXInclusionVisitor = ffi.Pointer<
     ffi.NativeFunction<
-        ffi.Void Function(
-            CXFile, ffi.Pointer<CXSourceLocation>, ffi.Uint32, CXClientData)>>;
+        ffi.Void Function(CXFile, ffi.Pointer<CXSourceLocation>,
+            pkg_ffi.UnsignedInt, CXClientData)>>;
 typedef NativeClang_getInclusions = ffi.Void Function(
     CXTranslationUnit tu, CXInclusionVisitor visitor, CXClientData client_data);
 typedef DartClang_getInclusions = void Function(
@@ -10429,23 +10480,23 @@
 
 typedef NativeClang_EvalResult_getKind = ffi.Int32 Function(CXEvalResult E);
 typedef DartClang_EvalResult_getKind = int Function(CXEvalResult E);
-typedef NativeClang_EvalResult_getAsInt = ffi.Int32 Function(CXEvalResult E);
+typedef NativeClang_EvalResult_getAsInt = pkg_ffi.Int Function(CXEvalResult E);
 typedef DartClang_EvalResult_getAsInt = int Function(CXEvalResult E);
-typedef NativeClang_EvalResult_getAsLongLong = ffi.Int64 Function(
+typedef NativeClang_EvalResult_getAsLongLong = pkg_ffi.LongLong Function(
     CXEvalResult E);
 typedef DartClang_EvalResult_getAsLongLong = int Function(CXEvalResult E);
-typedef NativeClang_EvalResult_isUnsignedInt = ffi.Uint32 Function(
+typedef NativeClang_EvalResult_isUnsignedInt = pkg_ffi.UnsignedInt Function(
     CXEvalResult E);
 typedef DartClang_EvalResult_isUnsignedInt = int Function(CXEvalResult E);
-typedef NativeClang_EvalResult_getAsUnsigned = ffi.Uint64 Function(
-    CXEvalResult E);
+typedef NativeClang_EvalResult_getAsUnsigned = pkg_ffi.UnsignedLongLong
+    Function(CXEvalResult E);
 typedef DartClang_EvalResult_getAsUnsigned = int Function(CXEvalResult E);
 typedef NativeClang_EvalResult_getAsDouble = ffi.Double Function(
     CXEvalResult E);
 typedef DartClang_EvalResult_getAsDouble = double Function(CXEvalResult E);
-typedef NativeClang_EvalResult_getAsStr = ffi.Pointer<ffi.Int8> Function(
+typedef NativeClang_EvalResult_getAsStr = ffi.Pointer<pkg_ffi.Char> Function(
     CXEvalResult E);
-typedef DartClang_EvalResult_getAsStr = ffi.Pointer<ffi.Int8> Function(
+typedef DartClang_EvalResult_getAsStr = ffi.Pointer<pkg_ffi.Char> Function(
     CXEvalResult E);
 typedef NativeClang_EvalResult_dispose = ffi.Void Function(CXEvalResult E);
 typedef DartClang_EvalResult_dispose = void Function(CXEvalResult E);
@@ -10453,18 +10504,20 @@
 /// A remapping of original source files and their translated files.
 typedef CXRemapping = ffi.Pointer<ffi.Void>;
 typedef NativeClang_getRemappings = CXRemapping Function(
-    ffi.Pointer<ffi.Int8> path);
+    ffi.Pointer<pkg_ffi.Char> path);
 typedef DartClang_getRemappings = CXRemapping Function(
-    ffi.Pointer<ffi.Int8> path);
+    ffi.Pointer<pkg_ffi.Char> path);
 typedef NativeClang_getRemappingsFromFileList = CXRemapping Function(
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> filePaths, ffi.Uint32 numFiles);
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> filePaths,
+    pkg_ffi.UnsignedInt numFiles);
 typedef DartClang_getRemappingsFromFileList = CXRemapping Function(
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> filePaths, int numFiles);
-typedef NativeClang_remap_getNumFiles = ffi.Uint32 Function(CXRemapping arg0);
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> filePaths, int numFiles);
+typedef NativeClang_remap_getNumFiles = pkg_ffi.UnsignedInt Function(
+    CXRemapping arg0);
 typedef DartClang_remap_getNumFiles = int Function(CXRemapping arg0);
 typedef NativeClang_remap_getFilenames = ffi.Void Function(
     CXRemapping arg0,
-    ffi.Uint32 index,
+    pkg_ffi.UnsignedInt index,
     ffi.Pointer<CXString> original,
     ffi.Pointer<CXString> transformed);
 typedef DartClang_remap_getFilenames = void Function(
@@ -10518,7 +10571,7 @@
   @ffi.Array.multi([2])
   external ffi.Array<ffi.Pointer<ffi.Void>> ptr_data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int int_data;
 }
 
@@ -10528,20 +10581,20 @@
   external CXIdxLoc hashLoc;
 
   /// Filename as written in the \#include/\#import directive.
-  external ffi.Pointer<ffi.Int8> filename;
+  external ffi.Pointer<pkg_ffi.Char> filename;
 
   /// The actual file that the \#include/\#import directive resolved to.
   external CXFile file;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isImport;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isAngled;
 
   /// Non-zero if the directive was automatically turned into a module
   /// import.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isModuleImport;
 }
 
@@ -10558,7 +10611,7 @@
 
   /// Non-zero if an inclusion directive was automatically turned into
   /// a module import. Applicable only for modules.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isImplicit;
 }
 
@@ -10588,15 +10641,15 @@
   @ffi.Int32()
   external int lang;
 
-  external ffi.Pointer<ffi.Int8> name;
+  external ffi.Pointer<pkg_ffi.Char> name;
 
-  external ffi.Pointer<ffi.Int8> USR;
+  external ffi.Pointer<pkg_ffi.Char> USR;
 
   external CXCursor cursor;
 
   external ffi.Pointer<ffi.Pointer<CXIdxAttrInfo>> attributes;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int numAttributes;
 }
 
@@ -10680,28 +10733,28 @@
   /// cases like out-of-line C++ member functions.
   external ffi.Pointer<CXIdxContainerInfo> lexicalContainer;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isRedeclaration;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isDefinition;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isContainer;
 
   external ffi.Pointer<CXIdxContainerInfo> declAsContainer;
 
   /// Whether the declaration exists in code or was created implicitly
   /// by the compiler, e.g. implicit Objective-C methods for properties.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isImplicit;
 
   external ffi.Pointer<ffi.Pointer<CXIdxAttrInfo>> attributes;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int numAttributes;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int flags;
 }
 
@@ -10737,7 +10790,7 @@
 class CXIdxObjCProtocolRefListInfo extends ffi.Struct {
   external ffi.Pointer<ffi.Pointer<CXIdxObjCProtocolRefInfo>> protocols;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int numProtocols;
 }
 
@@ -10774,7 +10827,7 @@
 
   external ffi.Pointer<ffi.Pointer<CXIdxBaseClassInfo>> bases;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int numBases;
 }
 
@@ -10840,7 +10893,7 @@
   static const int CXSymbolRole_Implicit = 256;
 }
 
-typedef NativeClang_index_isEntityObjCContainerKind = ffi.Int32 Function(
+typedef NativeClang_index_isEntityObjCContainerKind = pkg_ffi.Int Function(
     ffi.Int32 arg0);
 typedef DartClang_index_isEntityObjCContainerKind = int Function(int arg0);
 typedef NativeClang_index_getObjCContainerDeclInfo
@@ -10922,8 +10975,9 @@
   /// Called periodically to check whether indexing should be aborted.
   /// Should return 0 to continue, and non-zero to abort.
   external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Int32 Function(CXClientData, ffi.Pointer<ffi.Void>)>> abortQuery;
+          ffi.NativeFunction<
+              pkg_ffi.Int Function(CXClientData, ffi.Pointer<ffi.Void>)>>
+      abortQuery;
 
   /// Called at the end of indexing; passes the complete diagnostic set.
   external ffi.Pointer<
@@ -10980,64 +11034,64 @@
 /// The client's data object that is associated with an AST file (PCH
 /// or module).
 typedef CXIdxClientASTFile = ffi.Pointer<ffi.Void>;
-typedef NativeClang_indexSourceFile = ffi.Int32 Function(
+typedef NativeClang_indexSourceFile = pkg_ffi.Int Function(
     CXIndexAction arg0,
     CXClientData client_data,
     ffi.Pointer<IndexerCallbacks> index_callbacks,
-    ffi.Uint32 index_callbacks_size,
-    ffi.Uint32 index_options,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
-    ffi.Int32 num_command_line_args,
+    pkg_ffi.UnsignedInt index_callbacks_size,
+    pkg_ffi.UnsignedInt index_options,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
+    pkg_ffi.Int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
-    ffi.Uint32 num_unsaved_files,
+    pkg_ffi.UnsignedInt num_unsaved_files,
     ffi.Pointer<CXTranslationUnit> out_TU,
-    ffi.Uint32 TU_options);
+    pkg_ffi.UnsignedInt TU_options);
 typedef DartClang_indexSourceFile = int Function(
     CXIndexAction arg0,
     CXClientData client_data,
     ffi.Pointer<IndexerCallbacks> index_callbacks,
     int index_callbacks_size,
     int index_options,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
     ffi.Pointer<CXTranslationUnit> out_TU,
     int TU_options);
-typedef NativeClang_indexSourceFileFullArgv = ffi.Int32 Function(
+typedef NativeClang_indexSourceFileFullArgv = pkg_ffi.Int Function(
     CXIndexAction arg0,
     CXClientData client_data,
     ffi.Pointer<IndexerCallbacks> index_callbacks,
-    ffi.Uint32 index_callbacks_size,
-    ffi.Uint32 index_options,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
-    ffi.Int32 num_command_line_args,
+    pkg_ffi.UnsignedInt index_callbacks_size,
+    pkg_ffi.UnsignedInt index_options,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
+    pkg_ffi.Int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
-    ffi.Uint32 num_unsaved_files,
+    pkg_ffi.UnsignedInt num_unsaved_files,
     ffi.Pointer<CXTranslationUnit> out_TU,
-    ffi.Uint32 TU_options);
+    pkg_ffi.UnsignedInt TU_options);
 typedef DartClang_indexSourceFileFullArgv = int Function(
     CXIndexAction arg0,
     CXClientData client_data,
     ffi.Pointer<IndexerCallbacks> index_callbacks,
     int index_callbacks_size,
     int index_options,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
     ffi.Pointer<CXTranslationUnit> out_TU,
     int TU_options);
-typedef NativeClang_indexTranslationUnit = ffi.Int32 Function(
+typedef NativeClang_indexTranslationUnit = pkg_ffi.Int Function(
     CXIndexAction arg0,
     CXClientData client_data,
     ffi.Pointer<IndexerCallbacks> index_callbacks,
-    ffi.Uint32 index_callbacks_size,
-    ffi.Uint32 index_options,
+    pkg_ffi.UnsignedInt index_callbacks_size,
+    pkg_ffi.UnsignedInt index_options,
     CXTranslationUnit arg5);
 typedef DartClang_indexTranslationUnit = int Function(
     CXIndexAction arg0,
@@ -11050,16 +11104,16 @@
     CXIdxLoc loc,
     ffi.Pointer<CXIdxClientFile> indexFile,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset);
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset);
 typedef DartClang_indexLoc_getFileLocation = void Function(
     CXIdxLoc loc,
     ffi.Pointer<CXIdxClientFile> indexFile,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset);
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset);
 typedef NativeClang_indexLoc_getCXSourceLocation = CXSourceLocation Function(
     CXIdxLoc loc);
 typedef DartClang_indexLoc_getCXSourceLocation = CXSourceLocation Function(
@@ -11076,7 +11130,7 @@
 /// to direct \c clang_Type_visitFields.
 typedef CXFieldVisitor = ffi
     .Pointer<ffi.NativeFunction<ffi.Int32 Function(CXCursor, CXClientData)>>;
-typedef NativeClang_Type_visitFields = ffi.Uint32 Function(
+typedef NativeClang_Type_visitFields = pkg_ffi.UnsignedInt Function(
     CXType T, CXFieldVisitor visitor, CXClientData client_data);
 typedef DartClang_Type_visitFields = int Function(
     CXType T, CXFieldVisitor visitor, CXClientData client_data);
diff --git a/pkgs/ffigen/example/libclang-example/pubspec.yaml b/pkgs/ffigen/example/libclang-example/pubspec.yaml
index f10498b..677e3c9 100644
--- a/pkgs/ffigen/example/libclang-example/pubspec.yaml
+++ b/pkgs/ffigen/example/libclang-example/pubspec.yaml
@@ -5,8 +5,10 @@
 name: libclang_example
 
 environment:
-  sdk: '>=2.13.0 <3.0.0'
+  sdk: '>=2.16.0-124.0.dev <3.0.0'
 
+dependencies:
+  ffi: ^1.2.0-dev.0
 dev_dependencies:
   ffigen:
     path: '../../'
@@ -51,25 +53,30 @@
       - 'CXTypeKind' # Full names are given higher priority than regexp.
       - 'CXGlobalOptFlags'
 
-  # These are optional and also default,
-  # Omitting any and the default will be used.
-  size-map:
-    char: 1
-    unsigned char: 1
-    short: 2
-    unsigned short: 2
-    int: 4
-    unsigned int: 4
-    long: 8
-    unsigned long: 8
-    long long: 8
-    unsigned long long: 8
-    enum: 4
+  library-imports:
+    custom_import: 'custom_import.dart'
 
   # These can be used to map any typedef to a specific native type.
-  typedef-map:
-    'size_t': 'IntPtr'
-    'time_t': 'Int64'
+  type-map:
+    typedefs:
+      'size_t':
+        lib: 'pkg_ffi'
+        c-type: 'Size'
+        dart-type: 'int'
+      'time_t':
+        lib: 'ffi'
+        c-type: 'Int64'
+        dart-type: 'int'
+    native-types:
+      'unsigned long':
+        lib: 'custom_import'
+        c-type: 'UnsignedLong'
+        dart-type: 'int'
+    structs:
+      'CXCursorSetImpl':
+        lib: 'custom_import'
+        c-type: 'CXCursorSetImpl'
+        dart-type: 'CXCursorSetImpl'
 
   # Default is 'NativeLibrary'
   name: 'LibClang'
diff --git a/pkgs/ffigen/example/simple/generated_bindings.dart b/pkgs/ffigen/example/simple/generated_bindings.dart
index 6685438..60c8a12 100644
--- a/pkgs/ffigen/example/simple/generated_bindings.dart
+++ b/pkgs/ffigen/example/simple/generated_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Bindings to `headers/example.h`.
 class NativeLibrary {
@@ -30,14 +31,14 @@
     );
   }
 
-  late final _sumPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Int32, ffi.Int32)>>(
-          'sum');
+  late final _sumPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.Int Function(pkg_ffi.Int, pkg_ffi.Int)>>(
+      'sum');
   late final _sum = _sumPtr.asFunction<int Function(int, int)>();
 
   /// Subtracts 2 integers.
   int subtract(
-    ffi.Pointer<ffi.Int32> a,
+    ffi.Pointer<pkg_ffi.Int> a,
     int b,
   ) {
     return _subtract(
@@ -48,12 +49,13 @@
 
   late final _subtractPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<ffi.Int32>, ffi.Int32)>>('subtract');
+          pkg_ffi.Int Function(
+              ffi.Pointer<pkg_ffi.Int>, pkg_ffi.Int)>>('subtract');
   late final _subtract =
-      _subtractPtr.asFunction<int Function(ffi.Pointer<ffi.Int32>, int)>();
+      _subtractPtr.asFunction<int Function(ffi.Pointer<pkg_ffi.Int>, int)>();
 
   /// Multiplies 2 integers, returns pointer to an integer,.
-  ffi.Pointer<ffi.Int32> multiply(
+  ffi.Pointer<pkg_ffi.Int> multiply(
     int a,
     int b,
   ) {
@@ -65,9 +67,10 @@
 
   late final _multiplyPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int32> Function(ffi.Int32, ffi.Int32)>>('multiply');
+          ffi.Pointer<pkg_ffi.Int> Function(
+              pkg_ffi.Int, pkg_ffi.Int)>>('multiply');
   late final _multiply =
-      _multiplyPtr.asFunction<ffi.Pointer<ffi.Int32> Function(int, int)>();
+      _multiplyPtr.asFunction<ffi.Pointer<pkg_ffi.Int> Function(int, int)>();
 
   /// Divides 2 integers, returns pointer to a float.
   ffi.Pointer<ffi.Float> divide(
@@ -82,7 +85,7 @@
 
   late final _dividePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Float> Function(ffi.Int32, ffi.Int32)>>('divide');
+          ffi.Pointer<ffi.Float> Function(pkg_ffi.Int, pkg_ffi.Int)>>('divide');
   late final _divide =
       _dividePtr.asFunction<ffi.Pointer<ffi.Float> Function(int, int)>();
 
diff --git a/pkgs/ffigen/example/simple/pubspec.yaml b/pkgs/ffigen/example/simple/pubspec.yaml
index e419d1c..b7b8823 100644
--- a/pkgs/ffigen/example/simple/pubspec.yaml
+++ b/pkgs/ffigen/example/simple/pubspec.yaml
@@ -7,6 +7,8 @@
 environment:
   sdk: '>=2.12.0 <3.0.0'
 
+dependencies:
+  ffi: ^1.2.0-dev.0
 dev_dependencies:
   ffigen:
     path: '../../'
diff --git a/pkgs/ffigen/lib/src/code_generator.dart b/pkgs/ffigen/lib/src/code_generator.dart
index 710b32f..0e175e6 100644
--- a/pkgs/ffigen/lib/src/code_generator.dart
+++ b/pkgs/ffigen/lib/src/code_generator.dart
@@ -11,6 +11,7 @@
 export 'code_generator/enum_class.dart';
 export 'code_generator/func.dart';
 export 'code_generator/global.dart';
+export 'code_generator/imports.dart';
 export 'code_generator/library.dart';
 export 'code_generator/struc.dart';
 export 'code_generator/type.dart';
diff --git a/pkgs/ffigen/lib/src/code_generator/compound.dart b/pkgs/ffigen/lib/src/code_generator/compound.dart
index 8bdee9b..067e64f 100644
--- a/pkgs/ffigen/lib/src/code_generator/compound.dart
+++ b/pkgs/ffigen/lib/src/code_generator/compound.dart
@@ -4,9 +4,7 @@
 
 import 'package:ffigen/src/code_generator.dart';
 
-import 'binding.dart';
 import 'binding_string.dart';
-import 'type.dart';
 import 'utils.dart';
 import 'writer.dart';
 
diff --git a/pkgs/ffigen/lib/src/code_generator/func.dart b/pkgs/ffigen/lib/src/code_generator/func.dart
index 425ee47..d33f135 100644
--- a/pkgs/ffigen/lib/src/code_generator/func.dart
+++ b/pkgs/ffigen/lib/src/code_generator/func.dart
@@ -4,9 +4,7 @@
 
 import 'package:ffigen/src/code_generator.dart';
 
-import 'binding.dart';
 import 'binding_string.dart';
-import 'type.dart';
 import 'utils.dart';
 import 'writer.dart';
 
diff --git a/pkgs/ffigen/lib/src/code_generator/imports.dart b/pkgs/ffigen/lib/src/code_generator/imports.dart
new file mode 100644
index 0000000..7a92aa3
--- /dev/null
+++ b/pkgs/ffigen/lib/src/code_generator/imports.dart
@@ -0,0 +1,55 @@
+// Copyright (c) 2022, 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.
+
+/// A library import which will be written as an import in the generated file.
+class LibraryImport {
+  final String name;
+  final String importPath;
+  String prefix;
+
+  LibraryImport(this.name, this.importPath) : prefix = name;
+
+  @override
+  bool operator ==(other) {
+    return other is LibraryImport && name == other.name;
+  }
+
+  @override
+  int get hashCode => name.hashCode;
+}
+
+/// An imported type which will be used in the generated code.
+class ImportedType {
+  final LibraryImport libraryImport;
+  final String cType;
+  final String dartType;
+
+  ImportedType(this.libraryImport, this.cType, this.dartType);
+}
+
+final ffiImport = LibraryImport('ffi', 'dart:ffi');
+final ffiPkgImport = LibraryImport('pkg_ffi', 'package:ffi/ffi.dart');
+
+final voidType = ImportedType(ffiImport, 'Void', 'void');
+
+final unsignedCharType = ImportedType(ffiPkgImport, 'UnsignedChar', 'int');
+final signedCharType = ImportedType(ffiPkgImport, 'SignedChar', 'int');
+final charType = ImportedType(ffiPkgImport, 'Char', 'int');
+final unsignedShortType = ImportedType(ffiPkgImport, 'UnsignedShort', 'int');
+final shortType = ImportedType(ffiPkgImport, 'Short', 'int');
+final unsignedIntType = ImportedType(ffiPkgImport, 'UnsignedInt', 'int');
+final intType = ImportedType(ffiPkgImport, 'Int', 'int');
+final unsignedLongType = ImportedType(ffiPkgImport, 'UnsignedLong', 'int');
+final longType = ImportedType(ffiPkgImport, 'Long', 'int');
+final unsignedLongLongType =
+    ImportedType(ffiPkgImport, 'UnsignedLongLong', 'int');
+final longLongType = ImportedType(ffiPkgImport, 'LongLong', 'int');
+
+final floatType = ImportedType(ffiImport, 'Float', 'double');
+final doubleType = ImportedType(ffiImport, 'Double', 'double');
+
+final sizeType = ImportedType(ffiPkgImport, 'Size', 'Size');
+final sSizeType = ImportedType(ffiPkgImport, 'SSize', 'SSize');
+final offType = ImportedType(ffiPkgImport, 'Off', 'Off');
+final wCharType = ImportedType(ffiPkgImport, 'WChar', 'WChar');
diff --git a/pkgs/ffigen/lib/src/code_generator/library.dart b/pkgs/ffigen/lib/src/code_generator/library.dart
index 080f099..20c0e24 100644
--- a/pkgs/ffigen/lib/src/code_generator/library.dart
+++ b/pkgs/ffigen/lib/src/code_generator/library.dart
@@ -6,9 +6,11 @@
 
 import 'package:cli_util/cli_util.dart';
 import 'package:ffigen/src/config_provider/config_types.dart';
+import 'package:ffigen/src/strings.dart' as strings;
 import 'package:logging/logging.dart';
 import 'package:path/path.dart' as p;
 import 'binding.dart';
+import 'imports.dart';
 import 'struc.dart';
 import 'utils.dart';
 import 'writer.dart';
@@ -31,6 +33,7 @@
     bool dartBool = true,
     bool sort = false,
     StructPackingOverride? packingOverride,
+    Set<LibraryImport>? libraryImports,
   }) {
     /// Get all dependencies (includes itself).
     final dependencies = <Binding>{};
@@ -67,6 +70,13 @@
     final noLookUpBindings =
         this.bindings.whereType<NoLookUpBinding>().toList();
 
+    // Add predefined imports.
+    final _libraryImports = <LibraryImport>{};
+    _libraryImports.addAll(strings.predefinedLibraryImports.values);
+    if (libraryImports != null) {
+      _libraryImports.addAll(libraryImports);
+    }
+
     _writer = Writer(
       lookUpBindings: lookUpBindings,
       noLookUpBindings: noLookUpBindings,
@@ -74,6 +84,7 @@
       classDocComment: description,
       header: header,
       dartBool: dartBool,
+      libraryImports: _libraryImports,
     );
   }
 
diff --git a/pkgs/ffigen/lib/src/code_generator/type.dart b/pkgs/ffigen/lib/src/code_generator/type.dart
index e442a63..b70b4ec 100644
--- a/pkgs/ffigen/lib/src/code_generator/type.dart
+++ b/pkgs/ffigen/lib/src/code_generator/type.dart
@@ -4,8 +4,6 @@
 
 import 'package:ffigen/src/code_generator.dart';
 
-import 'compound.dart';
-import 'typealias.dart';
 import 'writer.dart';
 
 class _SubType {
@@ -42,6 +40,9 @@
   /// Represents a function type.
   FunctionType,
 
+  /// Represents an imported type.
+  ImportedType,
+
   /// Represents a typealias.
   Typealias,
 
@@ -94,6 +95,9 @@
   /// Reference to the [EnumClass] this type refers to.
   EnumClass? enumClass;
 
+  /// Reference to the [ImportedType] this type refers to.
+  ImportedType? importedType;
+
   /// For providing [SupportedNativeType] only.
   final SupportedNativeType? nativeType;
 
@@ -118,6 +122,7 @@
     this.nativeFunc,
     this.typealias,
     this.functionType,
+    this.importedType,
     this.length,
     this.unimplementedReason,
   });
@@ -141,6 +146,10 @@
     return Type._(
         broadType: BroadType.FunctionType, functionType: functionType);
   }
+  factory Type.importedType(ImportedType importedType) {
+    return Type._(
+        broadType: BroadType.ImportedType, importedType: importedType);
+  }
   factory Type.nativeFunc(NativeFunc nativeFunc) {
     return Type._(broadType: BroadType.NativeFunction, nativeFunc: nativeFunc);
   }
@@ -272,6 +281,8 @@
         return '${w.ffiLibraryPrefix}.Handle';
       case BroadType.FunctionType:
         return functionType!.getCType(w);
+      case BroadType.ImportedType:
+        return '${importedType!.libraryImport.prefix}.${importedType!.cType}';
       case BroadType.Typealias:
         return typealias!.name;
       case BroadType.Unimplemented:
@@ -303,6 +314,12 @@
         return 'Object';
       case BroadType.FunctionType:
         return functionType!.getDartType(w);
+      case BroadType.ImportedType:
+        if (importedType!.cType == importedType!.dartType) {
+          return getCType(w);
+        } else {
+          return importedType!.dartType;
+        }
       case BroadType.Typealias:
         // Typealias cannot be used by name in Dart types unless both the C and
         // Dart type of the underlying types are same.
diff --git a/pkgs/ffigen/lib/src/code_generator/typealias.dart b/pkgs/ffigen/lib/src/code_generator/typealias.dart
index 7320957..ea8ef95 100644
--- a/pkgs/ffigen/lib/src/code_generator/typealias.dart
+++ b/pkgs/ffigen/lib/src/code_generator/typealias.dart
@@ -5,7 +5,6 @@
 import 'package:ffigen/src/code_generator.dart';
 
 import 'binding_string.dart';
-import 'type.dart';
 import 'utils.dart';
 import 'writer.dart';
 
diff --git a/pkgs/ffigen/lib/src/code_generator/writer.dart b/pkgs/ffigen/lib/src/code_generator/writer.dart
index 2b9a0c9..0fd7515 100644
--- a/pkgs/ffigen/lib/src/code_generator/writer.dart
+++ b/pkgs/ffigen/lib/src/code_generator/writer.dart
@@ -2,6 +2,7 @@
 // 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.
 
+import 'package:ffigen/src/code_generator/imports.dart';
 import 'package:ffigen/src/code_generator/utils.dart';
 
 import 'binding.dart';
@@ -22,8 +23,15 @@
   late String _className;
   final String? classDocComment;
 
-  late String _ffiLibraryPrefix;
-  String get ffiLibraryPrefix => _ffiLibraryPrefix;
+  String? _ffiLibraryPrefix;
+  String get ffiLibraryPrefix {
+    _ffiLibraryPrefix ??= libraryImports
+        .firstWhere((element) => element.name == ffiImport.name)
+        .prefix;
+    return _ffiLibraryPrefix!;
+  }
+
+  final Set<LibraryImport> libraryImports;
 
   late String _lookupFuncIdentifier;
   String get lookupFuncIdentifier => _lookupFuncIdentifier;
@@ -55,6 +63,7 @@
     required this.noLookUpBindings,
     required String className,
     required this.dartBool,
+    required this.libraryImports,
     this.classDocComment,
     this.header,
   }) {
@@ -75,12 +84,17 @@
       markUsed: [_initialWrapperLevelUniqueNamer, _initialTopLevelUniqueNamer],
     );
 
-    /// [_ffiLibraryPrefix] should be unique unique among all names.
-    _ffiLibraryPrefix = _resolveNameConflict(
-      name: 'ffi',
-      makeUnique: allLevelsUniqueNamer,
-      markUsed: [_initialWrapperLevelUniqueNamer, _initialTopLevelUniqueNamer],
-    );
+    /// Library imports prefix should be unique unique among all names.
+    for (final lib in libraryImports) {
+      lib.prefix = _resolveNameConflict(
+        name: lib.prefix,
+        makeUnique: allLevelsUniqueNamer,
+        markUsed: [
+          _initialWrapperLevelUniqueNamer,
+          _initialTopLevelUniqueNamer
+        ],
+      );
+    }
 
     /// [_lookupFuncIdentifier] should be unique in top level.
     _lookupFuncIdentifier = _resolveNameConflict(
@@ -161,8 +175,10 @@
         'AUTO GENERATED FILE, DO NOT EDIT.\n\nGenerated by `package:ffigen`.'));
 
     // Write neccesary imports.
-    s.write("import 'dart:ffi' as $ffiLibraryPrefix;\n");
-    s.write('\n');
+    for (final lib in libraryImports) {
+      s.write("import '${lib.importPath}' as ${lib.prefix};");
+      s.write('\n');
+    }
 
     /// Write [lookUpBindings].
     if (lookUpBindings.isNotEmpty) {
diff --git a/pkgs/ffigen/lib/src/config_provider/config.dart b/pkgs/ffigen/lib/src/config_provider/config.dart
index 88d5d8d..7acb2c8 100644
--- a/pkgs/ffigen/lib/src/config_provider/config.dart
+++ b/pkgs/ffigen/lib/src/config_provider/config.dart
@@ -5,7 +5,6 @@
 /// Validates the yaml input by the user, prints useful info for the user
 
 import 'package:ffigen/src/code_generator.dart';
-import 'package:ffigen/src/header_parser/type_extractor/cxtypekindmap.dart';
 
 import 'package:logging/logging.dart';
 import 'package:yaml/yaml.dart';
@@ -75,10 +74,25 @@
   bool get useSupportedTypedefs => _useSupportedTypedefs;
   late bool _useSupportedTypedefs;
 
-  /// Stores typedef name to NativeType mappings specified by user.
-  Map<String, SupportedNativeType> get typedefNativeTypeMappings =>
-      _typedefNativeTypeMappings;
-  late Map<String, SupportedNativeType> _typedefNativeTypeMappings;
+  /// Stores all the library imports specified by user including those for ffi and pkg_ffi.
+  Map<String, LibraryImport> get libraryImports => _libraryImports;
+  late Map<String, LibraryImport> _libraryImports;
+
+  /// Stores typedef name to ImportedType mappings specified by user.
+  Map<String, ImportedType> get typedefTypeMappings => _typedefTypeMappings;
+  late Map<String, ImportedType> _typedefTypeMappings;
+
+  /// Stores struct name to ImportedType mappings specified by user.
+  Map<String, ImportedType> get structTypeMappings => _structTypeMappings;
+  late Map<String, ImportedType> _structTypeMappings;
+
+  /// Stores union name to ImportedType mappings specified by user.
+  Map<String, ImportedType> get unionTypeMappings => _unionTypeMappings;
+  late Map<String, ImportedType> _unionTypeMappings;
+
+  /// Stores native int name to ImportedType mappings specified by user.
+  Map<String, ImportedType> get nativeTypeMappings => _nativeTypeMappings;
+  late Map<String, ImportedType> _nativeTypeMappings;
 
   /// Extracted Doc comment type.
   CommentType get commentType => _commentType;
@@ -167,12 +181,7 @@
       }
     }
     // Warn about unknown keys.
-    for (final key in map.keys) {
-      final specString = specs.keys.map((e) => e.join(':')).toSet();
-      if (!specString.contains(key)) {
-        _logger.warning("Unknown key '$key' found.");
-      }
-    }
+    warnUnknownKeys(specs.keys.toList(), map);
 
     return _result;
   }
@@ -305,25 +314,53 @@
           _typedefs = result as Declaration;
         },
       ),
-      [strings.sizemap]: Specification<Map<int, SupportedNativeType>>(
-        validator: sizemapValidator,
-        extractor: sizemapExtractor,
-        defaultValue: () => <int, SupportedNativeType>{},
+      [strings.libraryImports]: Specification<Map<String, LibraryImport>>(
+        validator: libraryImportsValidator,
+        extractor: libraryImportsExtractor,
+        defaultValue: () => <String, LibraryImport>{},
         extractedResult: (dynamic result) {
-          final map = result as Map<int, SupportedNativeType>;
-          for (final key in map.keys) {
-            if (cxTypeKindToSupportedNativeTypes.containsKey(key)) {
-              cxTypeKindToSupportedNativeTypes[key] = map[key]!;
-            }
-          }
+          _libraryImports = result as Map<String, LibraryImport>;
         },
       ),
-      [strings.typedefmap]: Specification<Map<String, SupportedNativeType>>(
-        validator: typedefmapValidator,
-        extractor: typedefmapExtractor,
-        defaultValue: () => <String, SupportedNativeType>{},
-        extractedResult: (dynamic result) => _typedefNativeTypeMappings =
-            result as Map<String, SupportedNativeType>,
+      [strings.typeMap, strings.typeMapTypedefs]:
+          Specification<Map<String, List<String>>>(
+        validator: typeMapValidator,
+        extractor: typeMapExtractor,
+        defaultValue: () => <String, List<String>>{},
+        extractedResult: (dynamic result) {
+          _typedefTypeMappings = makeImportTypeMapping(
+              result as Map<String, List<String>>, _libraryImports);
+        },
+      ),
+      [strings.typeMap, strings.typeMapStructs]:
+          Specification<Map<String, List<String>>>(
+        validator: typeMapValidator,
+        extractor: typeMapExtractor,
+        defaultValue: () => <String, List<String>>{},
+        extractedResult: (dynamic result) {
+          _structTypeMappings = makeImportTypeMapping(
+              result as Map<String, List<String>>, _libraryImports);
+        },
+      ),
+      [strings.typeMap, strings.typeMapUnions]:
+          Specification<Map<String, List<String>>>(
+        validator: typeMapValidator,
+        extractor: typeMapExtractor,
+        defaultValue: () => <String, List<String>>{},
+        extractedResult: (dynamic result) {
+          _unionTypeMappings = makeImportTypeMapping(
+              result as Map<String, List<String>>, _libraryImports);
+        },
+      ),
+      [strings.typeMap, strings.typeMapNativeTypes]:
+          Specification<Map<String, List<String>>>(
+        validator: typeMapValidator,
+        extractor: typeMapExtractor,
+        defaultValue: () => <String, List<String>>{},
+        extractedResult: (dynamic result) {
+          _nativeTypeMappings = makeImportTypeMapping(
+              result as Map<String, List<String>>, _libraryImports);
+        },
       ),
       [strings.sort]: Specification<bool>(
         requirement: Requirement.no,
diff --git a/pkgs/ffigen/lib/src/config_provider/spec_utils.dart b/pkgs/ffigen/lib/src/config_provider/spec_utils.dart
index 22a6e1a..0689914 100644
--- a/pkgs/ffigen/lib/src/config_provider/spec_utils.dart
+++ b/pkgs/ffigen/lib/src/config_provider/spec_utils.dart
@@ -65,69 +65,139 @@
   return null;
 }
 
+/// Recursively checks the keys in [configKeyMap] from [allowedKeyList].
+void warnUnknownKeys(List<List<String>> allowedKeyList, YamlMap configKeyMap) {
+  final allowedKeyMap = <String, dynamic>{};
+  for (final specKeys in allowedKeyList) {
+    var _item = allowedKeyMap;
+    for (final specSubKey in specKeys) {
+      _item.putIfAbsent(specSubKey, () => <String, dynamic>{});
+      _item = _item[specSubKey] as Map<String, dynamic>;
+    }
+    // Add empty key to mark that any sub-keys of this key are allowed.
+    _item[''] = <String, dynamic>{};
+  }
+  _warnUnknownKeysInMap(allowedKeyMap, configKeyMap, <dynamic>[]);
+}
+
+/// Recursive function to check a key set in a configKeyMap.
+void _warnUnknownKeysInMap(Map<String, dynamic> allowedKeyMap,
+    dynamic configKeyMap, List<dynamic> prev) {
+  if (allowedKeyMap.containsKey('') || configKeyMap is! YamlMap) {
+    return;
+  }
+  for (final key in configKeyMap.keys) {
+    if (allowedKeyMap.containsKey(key)) {
+      prev.add(key);
+      _warnUnknownKeysInMap(
+          allowedKeyMap[key] as Map<String, dynamic>, configKeyMap[key], prev);
+      prev.removeLast();
+    } else {
+      prev.add(key);
+      _logger.warning('Unknown key - ${prev.join(' -> ')}.');
+      prev.removeLast();
+    }
+  }
+}
+
 bool booleanExtractor(dynamic value) => value as bool;
 
 bool booleanValidator(List<String> name, dynamic value) =>
     checkType<bool>(name, value);
 
-Map<int, SupportedNativeType> sizemapExtractor(dynamic yamlConfig) {
-  final resultMap = <int, SupportedNativeType>{};
-  final sizemap = yamlConfig as YamlMap?;
-  if (sizemap != null) {
-    for (final typeName in strings.sizemap_native_mapping.keys) {
-      if (sizemap.containsKey(typeName)) {
-        final cxTypeInt = strings.sizemap_native_mapping[typeName] as int;
-        final byteSize = sizemap[typeName] as int;
-        resultMap[cxTypeInt] = nativeSupportedType(byteSize,
-            signed: typeName.contains('unsigned') ? false : true);
-      }
+Map<String, LibraryImport> libraryImportsExtractor(dynamic yamlConfig) {
+  final resultMap = <String, LibraryImport>{};
+  final typeMap = yamlConfig as YamlMap?;
+  if (typeMap != null) {
+    for (final typeName in typeMap.keys) {
+      resultMap[typeName as String] =
+          LibraryImport(typeName, typeMap[typeName] as String);
     }
   }
   return resultMap;
 }
 
-bool sizemapValidator(List<String> name, dynamic yamlConfig) {
+bool libraryImportsValidator(List<String> name, dynamic yamlConfig) {
   if (!checkType<YamlMap>(name, yamlConfig)) {
     return false;
   }
   for (final key in (yamlConfig as YamlMap).keys) {
-    if (!strings.sizemap_native_mapping.containsKey(key)) {
-      _logger.warning("Unknown subkey '$key' in '$name'.");
+    if (!checkType<String>([...name, key as String], yamlConfig[key])) {
+      return false;
+    }
+    if (strings.predefinedLibraryImports.containsKey(key)) {
+      _logger.severe(
+          'library-import -> $key should not collide with any predefined imports - ${strings.predefinedLibraryImports.keys}.');
+      return false;
     }
   }
-
   return true;
 }
 
-Map<String, SupportedNativeType> typedefmapExtractor(dynamic yamlConfig) {
-  final resultMap = <String, SupportedNativeType>{};
-  final typedefmap = yamlConfig as YamlMap?;
-  if (typedefmap != null) {
-    for (final typeName in typedefmap.keys) {
-      if (typedefmap[typeName] is String &&
-          strings.supportedNativeType_mappings
-              .containsKey(typedefmap[typeName])) {
-        // Map this typename to specified supportedNativeType.
-        resultMap[typeName as String] =
-            strings.supportedNativeType_mappings[typedefmap[typeName]]!;
-      }
+Map<String, List<String>> typeMapExtractor(dynamic yamlConfig) {
+  // Key - type_name, Value - [lib, cType, dartType].
+  final resultMap = <String, List<String>>{};
+  final typeMap = yamlConfig as YamlMap?;
+  if (typeMap != null) {
+    for (final typeName in typeMap.keys) {
+      final typeConfigItem = typeMap[typeName] as YamlMap;
+      resultMap[typeName as String] = [
+        typeConfigItem[strings.lib] as String,
+        typeConfigItem[strings.cType] as String,
+        typeConfigItem[strings.dartType] as String,
+      ];
     }
   }
   return resultMap;
 }
 
-bool typedefmapValidator(List<String> name, dynamic yamlConfig) {
+bool typeMapValidator(List<String> name, dynamic yamlConfig) {
   if (!checkType<YamlMap>(name, yamlConfig)) {
     return false;
   }
-  for (final value in (yamlConfig as YamlMap).values) {
-    if (value is! String ||
-        !strings.supportedNativeType_mappings.containsKey(value)) {
-      _logger.severe("Unknown value of subkey '$value' in '$name'.");
+  var result = true;
+  for (final key in (yamlConfig as YamlMap).keys) {
+    if (!checkType<YamlMap>([...name, key as String], yamlConfig[key])) {
+      return false;
+    }
+    final lib = (yamlConfig[key] as YamlMap).containsKey(strings.lib);
+    if (!lib) {
+      _logger.severe("Key '${strings.lib}' in $name -> $key is required.");
+      result = false;
+    }
+    final cType = (yamlConfig[key] as YamlMap).containsKey(strings.cType);
+    if (!cType) {
+      _logger.severe("Key '${strings.cType}' in $name -> $key is required.");
+      result = false;
+    }
+    final dartType = (yamlConfig[key] as YamlMap).containsKey(strings.dartType);
+    if (!dartType) {
+      _logger.severe("Key '${strings.dartType}' in $name -> $key is required.");
+      result = false;
     }
   }
+  return result;
+}
 
-  return true;
+Map<String, ImportedType> makeImportTypeMapping(
+    Map<String, List<String>> rawTypeMappings,
+    Map<String, LibraryImport> libraryImportsMap) {
+  final typeMappings = <String, ImportedType>{};
+  for (final key in rawTypeMappings.keys) {
+    final lib = rawTypeMappings[key]![0];
+    final cType = rawTypeMappings[key]![1];
+    final dartType = rawTypeMappings[key]![2];
+    if (strings.predefinedLibraryImports.containsKey(lib)) {
+      typeMappings[key] =
+          ImportedType(strings.predefinedLibraryImports[lib]!, cType, dartType);
+    } else if (libraryImportsMap.containsKey(lib)) {
+      typeMappings[key] =
+          ImportedType(libraryImportsMap[lib]!, cType, dartType);
+    } else {
+      throw Exception("Please declare $lib under library-imports.");
+    }
+  }
+  return typeMappings;
 }
 
 final _quoteMatcher = RegExp(r'''^["'](.*)["']$''', dotAll: true);
diff --git a/pkgs/ffigen/lib/src/header_parser/clang_bindings/clang_bindings.dart b/pkgs/ffigen/lib/src/header_parser/clang_bindings/clang_bindings.dart
index abfad7f..2c0c33f 100644
--- a/pkgs/ffigen/lib/src/header_parser/clang_bindings/clang_bindings.dart
+++ b/pkgs/ffigen/lib/src/header_parser/clang_bindings/clang_bindings.dart
@@ -9,6 +9,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Holds bindings to LibClang.
 class Clang {
@@ -26,7 +27,7 @@
       : _lookup = lookup;
 
   /// Retrieve the character data associated with the given string.
-  ffi.Pointer<ffi.Int8> clang_getCString(
+  ffi.Pointer<pkg_ffi.Char> clang_getCString(
     CXString string,
   ) {
     return _clang_getCString(
@@ -35,10 +36,10 @@
   }
 
   late final _clang_getCStringPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Int8> Function(CXString)>>(
+      _lookup<ffi.NativeFunction<ffi.Pointer<pkg_ffi.Char> Function(CXString)>>(
           'clang_getCString');
   late final _clang_getCString = _clang_getCStringPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(CXString)>();
+      .asFunction<ffi.Pointer<pkg_ffi.Char> Function(CXString)>();
 
   /// Free the given string.
   void clang_disposeString(
@@ -104,7 +105,7 @@
   }
 
   late final _clang_createIndexPtr =
-      _lookup<ffi.NativeFunction<CXIndex Function(ffi.Int32, ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<CXIndex Function(pkg_ffi.Int, pkg_ffi.Int)>>(
           'clang_createIndex');
   late final _clang_createIndex =
       _clang_createIndexPtr.asFunction<CXIndex Function(int, int)>();
@@ -157,7 +158,7 @@
 
   late final _clang_equalRangesPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Uint32 Function(
+          pkg_ffi.UnsignedInt Function(
               CXSourceRange, CXSourceRange)>>('clang_equalRanges');
   late final _clang_equalRanges = _clang_equalRangesPtr
       .asFunction<int Function(CXSourceRange, CXSourceRange)>();
@@ -186,9 +187,9 @@
   void clang_getFileLocation(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset,
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset,
   ) {
     return _clang_getFileLocation(
       location,
@@ -204,16 +205,16 @@
           ffi.Void Function(
               CXSourceLocation,
               ffi.Pointer<CXFile>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>)>>('clang_getFileLocation');
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>>('clang_getFileLocation');
   late final _clang_getFileLocation = _clang_getFileLocationPtr.asFunction<
       void Function(
           CXSourceLocation,
           ffi.Pointer<CXFile>,
-          ffi.Pointer<ffi.Uint32>,
-          ffi.Pointer<ffi.Uint32>,
-          ffi.Pointer<ffi.Uint32>)>();
+          ffi.Pointer<pkg_ffi.UnsignedInt>,
+          ffi.Pointer<pkg_ffi.UnsignedInt>,
+          ffi.Pointer<pkg_ffi.UnsignedInt>)>();
 
   /// Determine the number of diagnostics produced for the given
   /// translation unit.
@@ -225,9 +226,9 @@
     );
   }
 
-  late final _clang_getNumDiagnosticsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXTranslationUnit)>>(
-          'clang_getNumDiagnostics');
+  late final _clang_getNumDiagnosticsPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXTranslationUnit)>>(
+      'clang_getNumDiagnostics');
   late final _clang_getNumDiagnostics =
       _clang_getNumDiagnosticsPtr.asFunction<int Function(CXTranslationUnit)>();
 
@@ -251,7 +252,7 @@
   late final _clang_getDiagnosticPtr = _lookup<
       ffi.NativeFunction<
           CXDiagnostic Function(
-              CXTranslationUnit, ffi.Uint32)>>('clang_getDiagnostic');
+              CXTranslationUnit, pkg_ffi.UnsignedInt)>>('clang_getDiagnostic');
   late final _clang_getDiagnostic = _clang_getDiagnosticPtr
       .asFunction<CXDiagnostic Function(CXTranslationUnit, int)>();
 
@@ -293,9 +294,10 @@
     );
   }
 
-  late final _clang_formatDiagnosticPtr =
-      _lookup<ffi.NativeFunction<CXString Function(CXDiagnostic, ffi.Uint32)>>(
-          'clang_formatDiagnostic');
+  late final _clang_formatDiagnosticPtr = _lookup<
+      ffi.NativeFunction<
+          CXString Function(
+              CXDiagnostic, pkg_ffi.UnsignedInt)>>('clang_formatDiagnostic');
   late final _clang_formatDiagnostic = _clang_formatDiagnosticPtr
       .asFunction<CXString Function(CXDiagnostic, int)>();
 
@@ -305,8 +307,8 @@
   /// error codes.
   CXTranslationUnit clang_parseTranslationUnit(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
@@ -327,18 +329,18 @@
       ffi.NativeFunction<
           CXTranslationUnit Function(
               CXIndex,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Int32,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              pkg_ffi.Int,
               ffi.Pointer<CXUnsavedFile>,
-              ffi.Uint32,
-              ffi.Uint32)>>('clang_parseTranslationUnit');
+              pkg_ffi.UnsignedInt,
+              pkg_ffi.UnsignedInt)>>('clang_parseTranslationUnit');
   late final _clang_parseTranslationUnit =
       _clang_parseTranslationUnitPtr.asFunction<
           CXTranslationUnit Function(
               CXIndex,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
               int,
               ffi.Pointer<CXUnsavedFile>,
               int,
@@ -388,7 +390,7 @@
   }
 
   late final _clang_Cursor_isNullPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXCursor)>>(
           'clang_Cursor_isNull');
   late final _clang_Cursor_isNull =
       _clang_Cursor_isNullPtr.asFunction<int Function(CXCursor)>();
@@ -418,7 +420,7 @@
   }
 
   late final _clang_Cursor_hasAttrsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_hasAttrs');
   late final _clang_Cursor_hasAttrs =
       _clang_Cursor_hasAttrsPtr.asFunction<int Function(CXCursor)>();
@@ -512,7 +514,7 @@
   }
 
   late final _clang_getEnumConstantDeclValuePtr =
-      _lookup<ffi.NativeFunction<ffi.Int64 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.LongLong Function(CXCursor)>>(
           'clang_getEnumConstantDeclValue');
   late final _clang_getEnumConstantDeclValue =
       _clang_getEnumConstantDeclValuePtr.asFunction<int Function(CXCursor)>();
@@ -529,7 +531,7 @@
   }
 
   late final _clang_getFieldDeclBitWidthPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXCursor)>>(
           'clang_getFieldDeclBitWidth');
   late final _clang_getFieldDeclBitWidth =
       _clang_getFieldDeclBitWidthPtr.asFunction<int Function(CXCursor)>();
@@ -548,7 +550,7 @@
   }
 
   late final _clang_Cursor_getNumArgumentsPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXCursor)>>(
           'clang_Cursor_getNumArguments');
   late final _clang_Cursor_getNumArguments =
       _clang_Cursor_getNumArgumentsPtr.asFunction<int Function(CXCursor)>();
@@ -568,9 +570,9 @@
     );
   }
 
-  late final _clang_Cursor_getArgumentPtr =
-      _lookup<ffi.NativeFunction<CXCursor Function(CXCursor, ffi.Uint32)>>(
-          'clang_Cursor_getArgument');
+  late final _clang_Cursor_getArgumentPtr = _lookup<
+          ffi.NativeFunction<CXCursor Function(CXCursor, pkg_ffi.UnsignedInt)>>(
+      'clang_Cursor_getArgument');
   late final _clang_Cursor_getArgument = _clang_Cursor_getArgumentPtr
       .asFunction<CXCursor Function(CXCursor, int)>();
 
@@ -605,7 +607,7 @@
   }
 
   late final _clang_Cursor_isMacroFunctionLikePtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_isMacroFunctionLike');
   late final _clang_Cursor_isMacroFunctionLike =
       _clang_Cursor_isMacroFunctionLikePtr.asFunction<int Function(CXCursor)>();
@@ -621,7 +623,7 @@
   }
 
   late final _clang_Cursor_isMacroBuiltinPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_isMacroBuiltin');
   late final _clang_Cursor_isMacroBuiltin =
       _clang_Cursor_isMacroBuiltinPtr.asFunction<int Function(CXCursor)>();
@@ -637,7 +639,7 @@
   }
 
   late final _clang_Cursor_isFunctionInlinedPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_isFunctionInlined');
   late final _clang_Cursor_isFunctionInlined =
       _clang_Cursor_isFunctionInlinedPtr.asFunction<int Function(CXCursor)>();
@@ -732,7 +734,7 @@
   }
 
   late final _clang_getNumArgTypesPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXType)>>(
           'clang_getNumArgTypes');
   late final _clang_getNumArgTypes =
       _clang_getNumArgTypesPtr.asFunction<int Function(CXType)>();
@@ -752,7 +754,7 @@
   }
 
   late final _clang_getArgTypePtr =
-      _lookup<ffi.NativeFunction<CXType Function(CXType, ffi.Uint32)>>(
+      _lookup<ffi.NativeFunction<CXType Function(CXType, pkg_ffi.UnsignedInt)>>(
           'clang_getArgType');
   late final _clang_getArgType =
       _clang_getArgTypePtr.asFunction<CXType Function(CXType, int)>();
@@ -770,7 +772,7 @@
   }
 
   late final _clang_getNumElementsPtr =
-      _lookup<ffi.NativeFunction<ffi.Int64 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.LongLong Function(CXType)>>(
           'clang_getNumElements');
   late final _clang_getNumElements =
       _clang_getNumElementsPtr.asFunction<int Function(CXType)>();
@@ -828,7 +830,7 @@
   }
 
   late final _clang_Type_getAlignOfPtr =
-      _lookup<ffi.NativeFunction<ffi.Int64 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.LongLong Function(CXType)>>(
           'clang_Type_getAlignOf');
   late final _clang_Type_getAlignOf =
       _clang_Type_getAlignOfPtr.asFunction<int Function(CXType)>();
@@ -844,7 +846,7 @@
   }
 
   late final _clang_Cursor_isAnonymousPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_isAnonymous');
   late final _clang_Cursor_isAnonymous =
       _clang_Cursor_isAnonymousPtr.asFunction<int Function(CXCursor)>();
@@ -860,7 +862,7 @@
   }
 
   late final _clang_Cursor_isAnonymousRecordDeclPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_isAnonymousRecordDecl');
   late final _clang_Cursor_isAnonymousRecordDecl =
       _clang_Cursor_isAnonymousRecordDeclPtr
@@ -900,7 +902,7 @@
 
   late final _clang_visitChildrenPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Uint32 Function(
+          pkg_ffi.UnsignedInt Function(
               CXCursor, CXCursorVisitor, CXClientData)>>('clang_visitChildren');
   late final _clang_visitChildren = _clang_visitChildrenPtr
       .asFunction<int Function(CXCursor, CXCursorVisitor, CXClientData)>();
@@ -1096,7 +1098,7 @@
   }
 
   late final _clang_EvalResult_getAsIntPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXEvalResult)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXEvalResult)>>(
           'clang_EvalResult_getAsInt');
   late final _clang_EvalResult_getAsInt =
       _clang_EvalResult_getAsIntPtr.asFunction<int Function(CXEvalResult)>();
@@ -1113,7 +1115,7 @@
   }
 
   late final _clang_EvalResult_getAsLongLongPtr =
-      _lookup<ffi.NativeFunction<ffi.Int64 Function(CXEvalResult)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.LongLong Function(CXEvalResult)>>(
           'clang_EvalResult_getAsLongLong');
   late final _clang_EvalResult_getAsLongLong =
       _clang_EvalResult_getAsLongLongPtr
@@ -1139,7 +1141,7 @@
   /// kind is other than Int or float. User must not free this pointer,
   /// instead call clang_EvalResult_dispose on the CXEvalResult returned
   /// by clang_Cursor_Evaluate.
-  ffi.Pointer<ffi.Int8> clang_EvalResult_getAsStr(
+  ffi.Pointer<pkg_ffi.Char> clang_EvalResult_getAsStr(
     CXEvalResult E,
   ) {
     return _clang_EvalResult_getAsStr(
@@ -1147,11 +1149,11 @@
     );
   }
 
-  late final _clang_EvalResult_getAsStrPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Int8> Function(CXEvalResult)>>(
-          'clang_EvalResult_getAsStr');
+  late final _clang_EvalResult_getAsStrPtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<pkg_ffi.Char> Function(CXEvalResult)>>(
+      'clang_EvalResult_getAsStr');
   late final _clang_EvalResult_getAsStr = _clang_EvalResult_getAsStrPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(CXEvalResult)>();
+      .asFunction<ffi.Pointer<pkg_ffi.Char> Function(CXEvalResult)>();
 
   /// Disposes the created Eval memory.
   void clang_EvalResult_dispose(
@@ -1178,7 +1180,7 @@
 class CXString extends ffi.Struct {
   external ffi.Pointer<ffi.Void> data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int private_flags;
 }
 
@@ -1193,13 +1195,13 @@
   /// The file whose contents have not yet been saved.
   ///
   /// This file must already exist in the file system.
-  external ffi.Pointer<ffi.Int8> Filename;
+  external ffi.Pointer<pkg_ffi.Char> Filename;
 
   /// A buffer containing the unsaved contents of this file.
-  external ffi.Pointer<ffi.Int8> Contents;
+  external ffi.Pointer<pkg_ffi.Char> Contents;
 
   /// The length of the unsaved contents of this buffer.
-  @ffi.Uint64()
+  @pkg_ffi.UnsignedLong()
   external int Length;
 }
 
@@ -1219,7 +1221,7 @@
   @ffi.Array.multi([2])
   external ffi.Array<ffi.Pointer<ffi.Void>> ptr_data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int int_data;
 }
 
@@ -1231,10 +1233,10 @@
   @ffi.Array.multi([2])
   external ffi.Array<ffi.Pointer<ffi.Void>> ptr_data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int begin_int_data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int end_int_data;
 }
 
@@ -2225,7 +2227,7 @@
   @ffi.Int32()
   external int kind;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int xdata;
 
   @ffi.Array.multi([3])
diff --git a/pkgs/ffigen/lib/src/header_parser/parser.dart b/pkgs/ffigen/lib/src/header_parser/parser.dart
index 93dfaa1..ffcfc8f 100644
--- a/pkgs/ffigen/lib/src/header_parser/parser.dart
+++ b/pkgs/ffigen/lib/src/header_parser/parser.dart
@@ -31,6 +31,7 @@
     dartBool: config.dartBool,
     sort: config.sort,
     packingOverride: config.structPackingOverride,
+    libraryImports: c.libraryImports.values.toSet(),
   );
 
   return library;
diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart
index d0d5cd6..431334a 100644
--- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart
+++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart
@@ -192,8 +192,7 @@
 
   final resultCode = clang.clang_visitChildren(
     cursor,
-    Pointer.fromFunction(_compoundMembersVisitor,
-        clang_types.CXChildVisitResult.CXChildVisit_Break),
+    Pointer.fromFunction(_compoundMembersVisitor, exceptional_visitor_return),
     nullptr,
   );
 
diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/enumdecl_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/enumdecl_parser.dart
index 52cb4ba..c4b2ab8 100644
--- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/enumdecl_parser.dart
+++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/enumdecl_parser.dart
@@ -76,8 +76,7 @@
 void _addEnumConstant(clang_types.CXCursor cursor) {
   final resultCode = clang.clang_visitChildren(
     cursor,
-    Pointer.fromFunction(
-        _enumCursorVisitor, clang_types.CXChildVisitResult.CXChildVisit_Break),
+    Pointer.fromFunction(_enumCursorVisitor, exceptional_visitor_return),
     nullptr,
   );
 
diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/functiondecl_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/functiondecl_parser.dart
index 41d877c..3b8cd63 100644
--- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/functiondecl_parser.dart
+++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/functiondecl_parser.dart
@@ -7,7 +7,6 @@
 import 'package:logging/logging.dart';
 
 import '../clang_bindings/clang_bindings.dart' as clang_types;
-import '../data.dart' show clang;
 import '../includer.dart';
 import '../utils.dart';
 
diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/macro_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/macro_parser.dart
index 61db537..cdfe078 100644
--- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/macro_parser.dart
+++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/macro_parser.dart
@@ -80,8 +80,7 @@
 
     final resultCode = clang.clang_visitChildren(
       rootCursor,
-      Pointer.fromFunction(_macroVariablevisitor,
-          clang_types.CXChildVisitResult.CXChildVisit_Break),
+      Pointer.fromFunction(_macroVariablevisitor, exceptional_visitor_return),
       nullptr,
     );
 
@@ -240,7 +239,7 @@
 /// E.g- For a string "Hello\nWorld", The new line character is converted to \n.
 /// Note: The string is considered to be Utf8, but is treated as Extended ASCII,
 /// if the conversion fails.
-String _getWrittenRepresentation(String macroName, Pointer<Int8> strPtr) {
+String _getWrittenRepresentation(String macroName, Pointer<Char> strPtr) {
   final sb = StringBuffer();
   try {
     // Consider string to be Utf8 encoded by default.
diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/unnamed_enumdecl_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/unnamed_enumdecl_parser.dart
index 4cac558..940369a 100644
--- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/unnamed_enumdecl_parser.dart
+++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/unnamed_enumdecl_parser.dart
@@ -19,8 +19,7 @@
 void saveUnNamedEnum(clang_types.CXCursor cursor) {
   final resultCode = clang.clang_visitChildren(
     cursor,
-    Pointer.fromFunction(_unnamedenumCursorVisitor,
-        clang_types.CXChildVisitResult.CXChildVisit_Break),
+    Pointer.fromFunction(_unnamedenumCursorVisitor, exceptional_visitor_return),
     nullptr,
   );
 
diff --git a/pkgs/ffigen/lib/src/header_parser/translation_unit_parser.dart b/pkgs/ffigen/lib/src/header_parser/translation_unit_parser.dart
index 3e5a677..9a576c0 100644
--- a/pkgs/ffigen/lib/src/header_parser/translation_unit_parser.dart
+++ b/pkgs/ffigen/lib/src/header_parser/translation_unit_parser.dart
@@ -26,8 +26,7 @@
   _bindings = {};
   final resultCode = clang.clang_visitChildren(
     translationUnitCursor,
-    Pointer.fromFunction(
-        _rootCursorVisitor, clang_types.CXChildVisitResult.CXChildVisit_Break),
+    Pointer.fromFunction(_rootCursorVisitor, exceptional_visitor_return),
     nullptr,
   );
 
diff --git a/pkgs/ffigen/lib/src/header_parser/type_extractor/cxtypekindmap.dart b/pkgs/ffigen/lib/src/header_parser/type_extractor/cxtypekindmap.dart
index eae99bc..41af99a 100644
--- a/pkgs/ffigen/lib/src/header_parser/type_extractor/cxtypekindmap.dart
+++ b/pkgs/ffigen/lib/src/header_parser/type_extractor/cxtypekindmap.dart
@@ -3,28 +3,23 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'package:ffigen/src/code_generator.dart' show SupportedNativeType;
-import 'package:ffigen/src/header_parser/clang_bindings/clang_bindings.dart'
-    as clang;
+import 'package:ffigen/src/code_generator/imports.dart';
 
-/// Utility to convert CXType to [code_generator.Type].
-///
-/// Key: CXTypekindEnum, Value: TypeString for code_generator
-var cxTypeKindToSupportedNativeTypes = <int, SupportedNativeType>{
-  clang.CXTypeKind.CXType_Void: SupportedNativeType.Void,
-  clang.CXTypeKind.CXType_UChar: SupportedNativeType.Uint8,
-  clang.CXTypeKind.CXType_UShort: SupportedNativeType.Uint16,
-  clang.CXTypeKind.CXType_UInt: SupportedNativeType.Uint32,
-  clang.CXTypeKind.CXType_ULong: SupportedNativeType.Uint64,
-  clang.CXTypeKind.CXType_ULongLong: SupportedNativeType.Uint64,
-  clang.CXTypeKind.CXType_SChar: SupportedNativeType.Int8,
-  clang.CXTypeKind.CXType_Short: SupportedNativeType.Int16,
-  clang.CXTypeKind.CXType_Int: SupportedNativeType.Int32,
-  clang.CXTypeKind.CXType_Long: SupportedNativeType.Int64,
-  clang.CXTypeKind.CXType_LongLong: SupportedNativeType.Int64,
-  clang.CXTypeKind.CXType_Float: SupportedNativeType.Float,
-  clang.CXTypeKind.CXType_Double: SupportedNativeType.Double,
-  clang.CXTypeKind.CXType_Char_S: SupportedNativeType.Int8,
-  clang.CXTypeKind.CXType_Char_U: SupportedNativeType.Uint8,
+var cxTypeKindToImportedTypes = <String, ImportedType>{
+  'void': voidType,
+  'unsigned char': unsignedCharType,
+  'signed char': signedCharType,
+  'char': charType,
+  'unsigned short': unsignedShortType,
+  'short': shortType,
+  'unsigned int': unsignedIntType,
+  'int': intType,
+  'unsigned long': unsignedLongType,
+  'long': longType,
+  'unsigned long long': unsignedLongLongType,
+  'long long': longLongType,
+  'float': floatType,
+  'double': doubleType,
 };
 
 var suportedTypedefToSuportedNativeType = <String, SupportedNativeType>{
@@ -38,3 +33,8 @@
   'int64_t': SupportedNativeType.Int64,
   'intptr_t': SupportedNativeType.IntPtr,
 };
+
+var supportedTypedefToImportedType = <String, ImportedType>{
+  'size_t': sizeType,
+  'wchar_t': wCharType,
+};
diff --git a/pkgs/ffigen/lib/src/header_parser/type_extractor/extractor.dart b/pkgs/ffigen/lib/src/header_parser/type_extractor/extractor.dart
index 43d964c..6063035 100644
--- a/pkgs/ffigen/lib/src/header_parser/type_extractor/extractor.dart
+++ b/pkgs/ffigen/lib/src/header_parser/type_extractor/extractor.dart
@@ -43,9 +43,9 @@
       return Type.pointer(s);
     case clang_types.CXTypeKind.CXType_Typedef:
       final spelling = clang.clang_getTypedefName(cxtype).toStringAndDispose();
-      if (config.typedefNativeTypeMappings.containsKey(spelling)) {
-        _logger.fine('  Type Mapped from typedef-map');
-        return Type.nativeType(config.typedefNativeTypeMappings[spelling]!);
+      if (config.typedefTypeMappings.containsKey(spelling)) {
+        _logger.fine('  Type $spelling mapped from type-map');
+        return Type.importedType(config.typedefTypeMappings[spelling]!);
       }
       // Get name from supported typedef name if config allows.
       if (config.useSupportedTypedefs) {
@@ -53,6 +53,9 @@
           _logger.fine('  Type Mapped from supported typedef');
           return Type.nativeType(
               suportedTypedefToSuportedNativeType[spelling]!);
+        } else if (supportedTypedefToImportedType.containsKey(spelling)) {
+          _logger.fine('  Type Mapped from supported typedef');
+          return Type.importedType(supportedTypedefToImportedType[spelling]!);
         }
       }
 
@@ -119,10 +122,16 @@
     case clang_types.CXTypeKind.CXType_Bool:
       return Type.boolean();
     default:
-      if (cxTypeKindToSupportedNativeTypes.containsKey(kind)) {
-        return Type.nativeType(
-          cxTypeKindToSupportedNativeTypes[kind]!,
-        );
+      var typeSpellKey =
+          clang.clang_getTypeSpelling(cxtype).toStringAndDispose();
+      if (typeSpellKey.startsWith('const ')) {
+        typeSpellKey = typeSpellKey.replaceFirst('const ', '');
+      }
+      if (config.nativeTypeMappings.containsKey(typeSpellKey)) {
+        _logger.fine('  Type $typeSpellKey mapped from type-map.');
+        return Type.importedType(config.nativeTypeMappings[typeSpellKey]!);
+      } else if (cxTypeKindToImportedTypes.containsKey(typeSpellKey)) {
+        return Type.importedType(cxTypeKindToImportedTypes[typeSpellKey]!);
       } else {
         _logger.fine(
             'typedeclarationCursorVisitor: getCodeGenType: Type Not Implemented, ${cxtype.completeStringRepr()}');
@@ -142,22 +151,26 @@
   if (cursorKind == clang_types.CXCursorKind.CXCursor_StructDecl ||
       cursorKind == clang_types.CXCursorKind.CXCursor_UnionDecl) {
     final declUsr = cursor.usr();
+    final declSpelling = cursor.spelling();
 
     // Set includer functions according to compoundType.
     final bool Function(String) isSeenDecl;
     final Compound? Function(String) getSeenDecl;
     final CompoundType compoundType;
+    final Map<String, ImportedType> compoundTypeMappings;
 
     switch (cursorKind) {
       case clang_types.CXCursorKind.CXCursor_StructDecl:
         isSeenDecl = bindingsIndex.isSeenStruct;
         getSeenDecl = bindingsIndex.getSeenStruct;
         compoundType = CompoundType.struct;
+        compoundTypeMappings = config.structTypeMappings;
         break;
       case clang_types.CXCursorKind.CXCursor_UnionDecl:
         isSeenDecl = bindingsIndex.isSeenUnion;
         getSeenDecl = bindingsIndex.getSeenUnion;
         compoundType = CompoundType.union;
+        compoundTypeMappings = config.unionTypeMappings;
         break;
       default:
         throw Exception('Unhandled compound type cursorkind.');
@@ -165,7 +178,10 @@
 
     // Also add a struct binding, if its unseen.
     // TODO(23): Check if we should auto add compound declarations.
-    if (isSeenDecl(declUsr)) {
+    if (compoundTypeMappings.containsKey(declSpelling)) {
+      _logger.fine('  Type Mapped from type-map');
+      return Type.importedType(compoundTypeMappings[declSpelling]!);
+    } else if (isSeenDecl(declUsr)) {
       type = Type.compound(getSeenDecl(declUsr)!);
 
       // This will parse the dependencies if needed.
diff --git a/pkgs/ffigen/lib/src/header_parser/utils.dart b/pkgs/ffigen/lib/src/header_parser/utils.dart
index f602cdf..bac2eaf 100644
--- a/pkgs/ffigen/lib/src/header_parser/utils.dart
+++ b/pkgs/ffigen/lib/src/header_parser/utils.dart
@@ -13,11 +13,14 @@
 import 'data.dart';
 import 'type_extractor/extractor.dart';
 
+const exceptional_visitor_return =
+    clang_types.CXChildVisitResult.CXChildVisit_Break;
+
 /// Check [resultCode] of [clang.clang_visitChildren_wrap].
 ///
-/// Throws exception if resultCode is not 0.
+/// Throws exception if resultCode is not [exceptional_visitor_return].
 void visitChildrenResultChecker(int resultCode) {
-  if (resultCode != 0) {
+  if (resultCode != exceptional_visitor_return) {
     throw Exception(
         'Exception thrown in a dart function called via C, use --verbose to see more details');
   }
@@ -101,9 +104,9 @@
   String sourceFileName() {
     final cxsource = clang.clang_getCursorLocation(this);
     final cxfilePtr = calloc<Pointer<Void>>();
-    final line = calloc<Uint32>();
-    final column = calloc<Uint32>();
-    final offset = calloc<Uint32>();
+    final line = calloc<UnsignedInt>();
+    final column = calloc<UnsignedInt>();
+    final offset = calloc<UnsignedInt>();
 
     // Puts the values in these pointers.
     clang.clang_getFileLocation(cxsource, cxfilePtr, line, column, offset);
diff --git a/pkgs/ffigen/lib/src/strings.dart b/pkgs/ffigen/lib/src/strings.dart
index 5ae3e35..fbbd6b7 100644
--- a/pkgs/ffigen/lib/src/strings.dart
+++ b/pkgs/ffigen/lib/src/strings.dart
@@ -3,7 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 import 'dart:io';
 
-import 'package:ffigen/src/code_generator/type.dart';
+import 'package:ffigen/src/code_generator.dart';
 import 'package:ffigen/src/header_parser/clang_bindings/clang_bindings.dart'
     as clang;
 
@@ -79,9 +79,6 @@
   16: 16,
 };
 
-const sizemap = 'size-map';
-const typedefmap = 'typedef-map';
-
 // Sizemap values.
 const SChar = 'char';
 const UChar = 'unsigned char';
@@ -110,6 +107,27 @@
   Enum: clang.CXTypeKind.CXType_Enum
 };
 
+// Library imports.
+const libraryImports = 'library-imports';
+
+final predefinedLibraryImports = {
+  ffiImport.name: ffiImport,
+  ffiPkgImport.name: ffiPkgImport
+};
+
+const typeMap = 'type-map';
+
+// Sub-fields for type-map.
+const typeMapTypedefs = 'typedefs';
+const typeMapStructs = 'structs';
+const typeMapUnions = 'unions';
+const typeMapNativeTypes = 'native-types';
+
+// Sub-sub-keys for fields under typeMap.
+const lib = 'lib';
+const cType = 'c-type';
+const dartType = 'dart-type';
+
 const supportedNativeType_mappings = <String, SupportedNativeType>{
   'Void': SupportedNativeType.Void,
   'Uint8': SupportedNativeType.Uint8,
diff --git a/pkgs/ffigen/pubspec.yaml b/pkgs/ffigen/pubspec.yaml
index 34a5c3c..e0e03b0 100644
--- a/pkgs/ffigen/pubspec.yaml
+++ b/pkgs/ffigen/pubspec.yaml
@@ -3,15 +3,15 @@
 # BSD-style license that can be found in the LICENSE file.
 
 name: ffigen
-version: 4.1.2
+version: 5.0.0-dev.0
 homepage: https://github.com/dart-lang/ffigen
 description: Generator for FFI bindings, using LibClang to parse C header files.
 
 environment:
-  sdk: '>=2.14.0 <3.0.0'
+  sdk: '>=2.16.0-124.0.dev <3.0.0'
 
 dependencies:
-  ffi: ^1.0.0
+  ffi: ^1.2.0-dev.0
   yaml: ^3.0.0
   path: ^1.8.0
   quiver: ^3.0.0
diff --git a/pkgs/ffigen/test/code_generator_tests/code_generator_test.dart b/pkgs/ffigen/test/code_generator_tests/code_generator_test.dart
index 34905a4..9178cf0 100644
--- a/pkgs/ffigen/test/code_generator_tests/code_generator_test.dart
+++ b/pkgs/ffigen/test/code_generator_tests/code_generator_test.dart
@@ -422,12 +422,12 @@
     _matchLib(library, 'packed_structs');
   });
   test('Union Bindings', () {
-    final struct1 = Struc(name: 'Struct1', members: [
-      Member(name: 'a', type: Type.nativeType(SupportedNativeType.Int8))
-    ]);
-    final union1 = Union(name: 'Union1', members: [
-      Member(name: 'a', type: Type.nativeType(SupportedNativeType.Int8))
-    ]);
+    final struct1 = Struc(
+        name: 'Struct1',
+        members: [Member(name: 'a', type: Type.importedType(charType))]);
+    final union1 = Union(
+        name: 'Union1',
+        members: [Member(name: 'a', type: Type.importedType(charType))]);
     final library = Library(
       name: 'Bindings',
       bindings: [
@@ -435,25 +435,22 @@
         union1,
         Union(name: 'EmptyUnion'),
         Union(name: 'Primitives', members: [
-          Member(name: 'a', type: Type.nativeType(SupportedNativeType.Int8)),
-          Member(name: 'b', type: Type.nativeType(SupportedNativeType.Int32)),
-          Member(name: 'c', type: Type.nativeType(SupportedNativeType.Float)),
-          Member(name: 'd', type: Type.nativeType(SupportedNativeType.Double)),
+          Member(name: 'a', type: Type.importedType(charType)),
+          Member(name: 'b', type: Type.importedType(intType)),
+          Member(name: 'c', type: Type.importedType(floatType)),
+          Member(name: 'd', type: Type.importedType(doubleType)),
         ]),
         Union(name: 'PrimitivesWithPointers', members: [
-          Member(name: 'a', type: Type.nativeType(SupportedNativeType.Int8)),
-          Member(name: 'b', type: Type.nativeType(SupportedNativeType.Float)),
-          Member(
-              name: 'c',
-              type: Type.pointer(Type.nativeType(SupportedNativeType.Double))),
+          Member(name: 'a', type: Type.importedType(charType)),
+          Member(name: 'b', type: Type.importedType(floatType)),
+          Member(name: 'c', type: Type.pointer(Type.importedType(doubleType))),
           Member(name: 'd', type: Type.pointer(Type.union(union1))),
           Member(name: 'd', type: Type.pointer(Type.struct(struct1))),
         ]),
         Union(name: 'WithArray', members: [
           Member(
               name: 'a',
-              type: Type.constantArray(
-                  10, Type.nativeType(SupportedNativeType.Int8))),
+              type: Type.constantArray(10, Type.importedType(charType))),
           Member(name: 'b', type: Type.constantArray(10, Type.union(union1))),
           Member(name: 'b', type: Type.constantArray(10, Type.struct(struct1))),
           Member(
@@ -477,9 +474,7 @@
               type: Type.typealias(Typealias(
                   name: 'Struct2Typealias',
                   type: Type.struct(Struc(name: 'Struct2', members: [
-                    Member(
-                        name: 'a',
-                        type: Type.nativeType(SupportedNativeType.Double))
+                    Member(name: 'a', type: Type.importedType(doubleType))
                   ])))))
         ]),
         Func(
diff --git a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_boolean_dartbool_bindings.dart b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_boolean_dartbool_bindings.dart
index 2e94121..6d81198 100644
--- a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_boolean_dartbool_bindings.dart
+++ b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_boolean_dartbool_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 class Bindings {
   /// Holds the symbol lookup function.
diff --git a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_boolean_no_dartbool_bindings.dart b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_boolean_no_dartbool_bindings.dart
index c44dddd..88d3ce3 100644
--- a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_boolean_no_dartbool_bindings.dart
+++ b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_boolean_no_dartbool_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 class Bindings {
   /// Holds the symbol lookup function.
diff --git a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_constant_bindings.dart b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_constant_bindings.dart
index d01f2b1..4696f26 100644
--- a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_constant_bindings.dart
+++ b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_constant_bindings.dart
@@ -4,6 +4,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 const int test1 = 20;
 
diff --git a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_enumclass_bindings.dart b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_enumclass_bindings.dart
index 0aa2dbb..910654f 100644
--- a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_enumclass_bindings.dart
+++ b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_enumclass_bindings.dart
@@ -4,6 +4,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// test line 1
 /// test line 2
diff --git a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_function_bindings.dart b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_function_bindings.dart
index ada968c..0912744 100644
--- a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_function_bindings.dart
+++ b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_function_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 class Bindings {
   /// Holds the symbol lookup function.
diff --git a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_function_n_struct_bindings.dart b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_function_n_struct_bindings.dart
index 6ccce4e..df895e3 100644
--- a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_function_n_struct_bindings.dart
+++ b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_function_n_struct_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 class Bindings {
   /// Holds the symbol lookup function.
diff --git a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_global_bindings.dart b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_global_bindings.dart
index 0a531fa..766baa1 100644
--- a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_global_bindings.dart
+++ b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_global_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 class Bindings {
   /// Holds the symbol lookup function.
diff --git a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_internal_conflict_resolution_bindings.dart b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_internal_conflict_resolution_bindings.dart
index b6e1378..7b5eca4 100644
--- a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_internal_conflict_resolution_bindings.dart
+++ b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_internal_conflict_resolution_bindings.dart
@@ -4,6 +4,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 class init_dylib1 {
   /// Holds the symbol lookup function.
diff --git a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_packed_structs_bindings.dart b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_packed_structs_bindings.dart
index 4aea89a..b0e76bd 100644
--- a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_packed_structs_bindings.dart
+++ b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_packed_structs_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 class NoPacking extends ffi.Struct {
   @ffi.Uint8()
diff --git a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_sort_bindings_bindings.dart b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_sort_bindings_bindings.dart
index cbae1f8..3bb980f 100644
--- a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_sort_bindings_bindings.dart
+++ b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_sort_bindings_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 class Bindings {
   /// Holds the symbol lookup function.
diff --git a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_struct_bindings.dart b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_struct_bindings.dart
index f84642b..5c39d92 100644
--- a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_struct_bindings.dart
+++ b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_struct_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Just a test struct
 /// heres another line
diff --git a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_typealias_bindings.dart b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_typealias_bindings.dart
index e605db2..e0c4884 100644
--- a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_typealias_bindings.dart
+++ b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_typealias_bindings.dart
@@ -4,6 +4,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 class Bindings {
   /// Holds the symbol lookup function.
diff --git a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_unions_bindings.dart b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_unions_bindings.dart
index c7e7680..3483cb8 100644
--- a/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_unions_bindings.dart
+++ b/pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_unions_bindings.dart
@@ -2,24 +2,25 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 class Struct1 extends ffi.Struct {
-  @ffi.Int8()
+  @pkg_ffi.Char()
   external int a;
 }
 
 class Union1 extends ffi.Union {
-  @ffi.Int8()
+  @pkg_ffi.Char()
   external int a;
 }
 
 class EmptyUnion extends ffi.Opaque {}
 
 class Primitives extends ffi.Union {
-  @ffi.Int8()
+  @pkg_ffi.Char()
   external int a;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int b;
 
   @ffi.Float()
@@ -30,7 +31,7 @@
 }
 
 class PrimitivesWithPointers extends ffi.Union {
-  @ffi.Int8()
+  @pkg_ffi.Char()
   external int a;
 
   @ffi.Float()
@@ -45,7 +46,7 @@
 
 class WithArray extends ffi.Union {
   @ffi.Array.multi([10])
-  external ffi.Array<ffi.Int8> a;
+  external ffi.Array<pkg_ffi.Char> a;
 
   @ffi.Array.multi([10])
   external ffi.Array<Union1> b;
diff --git a/pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_symbol_address_collision_bindings.dart b/pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_symbol_address_collision_bindings.dart
index b45cdcd..e107a2c 100644
--- a/pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_symbol_address_collision_bindings.dart
+++ b/pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_symbol_address_collision_bindings.dart
@@ -4,6 +4,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 class Bindings1 {
   /// Holds the symbol lookup function.
diff --git a/pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_type_name_collision_bindings.dart b/pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_type_name_collision_bindings.dart
index 5dab4a2..7af357a 100644
--- a/pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_type_name_collision_bindings.dart
+++ b/pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_type_name_collision_bindings.dart
@@ -4,17 +4,18 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 class A extends ffi.Struct {
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int a;
 }
 
 class B extends ffi.Struct {
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int B1;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int A;
 }
 
diff --git a/pkgs/ffigen/test/collision_tests/reserved_keyword_collision_test.dart b/pkgs/ffigen/test/collision_tests/reserved_keyword_collision_test.dart
index e38894d..eb2e61c 100644
--- a/pkgs/ffigen/test/collision_tests/reserved_keyword_collision_test.dart
+++ b/pkgs/ffigen/test/collision_tests/reserved_keyword_collision_test.dart
@@ -27,15 +27,15 @@
             name: 'implements',
             parameters: [
               Parameter(
-                type: Type.nativeType(SupportedNativeType.Int32),
+                type: Type.importedType(intType),
                 name: 'if',
               ),
               Parameter(
-                type: Type.nativeType(SupportedNativeType.Int32),
+                type: Type.importedType(intType),
                 name: 'abstract',
               ),
               Parameter(
-                type: Type.nativeType(SupportedNativeType.Int32),
+                type: Type.importedType(intType),
                 name: 'in',
               ),
             ],
@@ -62,15 +62,15 @@
             originalName: 'implements',
             parameters: [
               Parameter(
-                type: Type.nativeType(SupportedNativeType.Int32),
+                type: Type.importedType(intType),
                 name: 'if1',
               ),
               Parameter(
-                type: Type.nativeType(SupportedNativeType.Int32),
+                type: Type.importedType(intType),
                 name: 'abstract1',
               ),
               Parameter(
-                type: Type.nativeType(SupportedNativeType.Int32),
+                type: Type.importedType(intType),
                 name: 'in1',
               ),
             ],
diff --git a/pkgs/ffigen/test/config_tests/compiler_opts_test.dart b/pkgs/ffigen/test/config_tests/compiler_opts_test.dart
index b5e644b..5193d4d 100644
--- a/pkgs/ffigen/test/config_tests/compiler_opts_test.dart
+++ b/pkgs/ffigen/test/config_tests/compiler_opts_test.dart
@@ -3,7 +3,6 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'package:ffigen/ffigen.dart';
-import 'package:ffigen/src/code_generator.dart';
 import 'package:ffigen/src/config_provider/spec_utils.dart';
 import 'package:ffigen/src/strings.dart' as strings;
 import 'package:test/test.dart';
diff --git a/pkgs/ffigen/test/config_tests/unknown_keys_warn_test.dart b/pkgs/ffigen/test/config_tests/unknown_keys_warn_test.dart
new file mode 100644
index 0000000..4fcb680
--- /dev/null
+++ b/pkgs/ffigen/test/config_tests/unknown_keys_warn_test.dart
@@ -0,0 +1,52 @@
+// Copyright (c) 2021, 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.
+
+import 'package:ffigen/ffigen.dart';
+import 'package:ffigen/src/strings.dart' as strings;
+import 'package:logging/logging.dart';
+import 'package:test/test.dart';
+import 'package:yaml/yaml.dart' as yaml;
+
+import '../test_utils.dart';
+
+late Library actual, expected;
+
+void main() {
+  var logString = '';
+  group('unknown_keys_warn_test', () {
+    setUpAll(() {
+      final logArr = <String>[];
+      logWarningsToArray(logArr, Level.WARNING);
+      Config.fromYaml(yaml.loadYaml('''
+${strings.name}: 'NativeLibrary'
+${strings.description}: 'Warn for unknown keys.'
+${strings.output}: 'unused'
+${strings.headers}:
+  ${strings.entryPoints}:
+    - 'test/header_parser_tests/packed_structs.h'
+'warn-1': 'warn'
+${strings.typeMap}:
+  'warn-2': 'warn'
+  'warn-3': 'warn'
+${strings.functions}:
+  'warn-4': 'skip'
+${strings.structs}:
+  'warn-5': 'skip'
+${strings.unions}:
+  'warn-6': 'skip'
+        ''') as yaml.YamlMap);
+      logString = logArr.join("\n");
+    });
+    test('Warn for unknown keys.', () {
+      expect(logString.contains('warn-1'), true);
+      expect(logString.contains('warn-2'), true);
+      expect(logString.contains('warn-3'), true);
+    });
+    test('Do not warn for unknown keys in declarations.', () {
+      expect(logString.contains('warn-4'), false);
+      expect(logString.contains('warn-5'), false);
+      expect(logString.contains('warn-6'), false);
+    });
+  });
+}
diff --git a/pkgs/ffigen/test/example_tests/cjson_example_test.dart b/pkgs/ffigen/test/example_tests/cjson_example_test.dart
index c95bcf2..65d5611 100644
--- a/pkgs/ffigen/test/example_tests/cjson_example_test.dart
+++ b/pkgs/ffigen/test/example_tests/cjson_example_test.dart
@@ -27,8 +27,12 @@
   ${strings.includeDirectives}:
     - '**cJSON.h'
 ${strings.comments}: false
-${strings.typedefmap}:
-  'size_t': 'IntPtr'
+${strings.typeMap}:
+  ${strings.typeMapTypedefs}:
+    'size_t':
+      lib: 'pkg_ffi'
+      c-type: 'Size'
+      dart-type: 'int'
 ${strings.preamble}: |
   // Copyright (c) 2009-2017 Dave Gamble and cJSON contributors
   //
diff --git a/pkgs/ffigen/test/example_tests/libclang_example_test.dart b/pkgs/ffigen/test/example_tests/libclang_example_test.dart
index 1ca9600..e22bd86 100644
--- a/pkgs/ffigen/test/example_tests/libclang_example_test.dart
+++ b/pkgs/ffigen/test/example_tests/libclang_example_test.dart
@@ -43,9 +43,28 @@
   ${strings.include}:
     - 'CXTypeKind'
     - 'CXGlobalOptFlags'
-${strings.typedefmap}:
-    'size_t': 'IntPtr'
-    'time_t': 'Int64'
+${strings.libraryImports}:
+  custom_import: 'custom_import.dart'
+${strings.typeMap}:
+  ${strings.typeMapTypedefs}:
+    'size_t':
+      lib: 'pkg_ffi'
+      c-type: 'Size'
+      dart-type: 'int'
+    'time_t':
+      lib: 'ffi'
+      c-type: 'Int64'
+      dart-type: 'int'
+  ${strings.typeMapNativeTypes}:
+    'unsigned long':
+      lib: 'custom_import'
+      c-type: 'UnsignedLong'
+      dart-type: 'int'
+  ${strings.typeMapStructs}:
+    'CXCursorSetImpl':
+      lib: 'custom_import'
+      c-type: 'CXCursorSetImpl'
+      dart-type: 'CXCursorSetImpl'
 ${strings.name}: 'LibClang'
 ${strings.description}: 'Holds bindings to LibClang.'
 ${strings.comments}:
diff --git a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_comment_markup_bindings.dart b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_comment_markup_bindings.dart
index 6a95e52..b0f806a 100644
--- a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_comment_markup_bindings.dart
+++ b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_comment_markup_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Comment Markup Test
 class NativeLibrary {
@@ -54,7 +55,7 @@
 class Com4 extends ffi.Struct {
   /// Muli-line test comment for struct field
   /// With multiple line and both // and ///.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int a;
 
   /// Single line field comment.
diff --git a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_dart_handle_bindings.dart b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_dart_handle_bindings.dart
index b00eaf9..14b429c 100644
--- a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_dart_handle_bindings.dart
+++ b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_dart_handle_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Dart_Handle Test
 class NativeLibrary {
diff --git a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_forward_decl_bindings.dart b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_forward_decl_bindings.dart
index 01fe05c..c5c194b 100644
--- a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_forward_decl_bindings.dart
+++ b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_forward_decl_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Forward Declaration Test
 class NativeLibrary {
@@ -36,10 +37,10 @@
 }
 
 class A extends ffi.Struct {
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int a;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int b;
 }
 
diff --git a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_functions_bindings.dart b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_functions_bindings.dart
index d42ec32..ae8eb0a 100644
--- a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_functions_bindings.dart
+++ b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_functions_bindings.dart
@@ -4,6 +4,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Functions Test
 class NativeLibrary {
@@ -102,6 +103,22 @@
       void Function(ffi.Pointer<shortHand>,
           ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>>)>();
 
+  int diffChars(
+    int a,
+    int b,
+  ) {
+    return _diffChars(
+      a,
+      b,
+    );
+  }
+
+  late final _diffCharsPtr = _lookup<
+      ffi.NativeFunction<
+          pkg_ffi.Char Function(
+              pkg_ffi.UnsignedChar, pkg_ffi.SignedChar)>>('diffChars');
+  late final _diffChars = _diffCharsPtr.asFunction<int Function(int, int)>();
+
   late final addresses = _SymbolAddresses(this);
 }
 
diff --git a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_native_func_typedef_bindings.dart b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_native_func_typedef_bindings.dart
index 802d838..baf9c6e 100644
--- a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_native_func_typedef_bindings.dart
+++ b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_native_func_typedef_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Native Func Typedef Test.
 class NativeLibrary {
diff --git a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_opaque_dependencies_bindings.dart b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_opaque_dependencies_bindings.dart
index b891dd9..2f07ba0 100644
--- a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_opaque_dependencies_bindings.dart
+++ b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_opaque_dependencies_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Opaque Dependencies Test
 class NativeLibrary {
@@ -63,7 +64,7 @@
 class C extends ffi.Opaque {}
 
 class D extends ffi.Struct {
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int a;
 }
 
@@ -80,6 +81,6 @@
 class UC extends ffi.Opaque {}
 
 class UD extends ffi.Union {
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int a;
 }
diff --git a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_packed_structs_bindings.dart b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_packed_structs_bindings.dart
index d27adc4..2e4740f 100644
--- a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_packed_structs_bindings.dart
+++ b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_packed_structs_bindings.dart
@@ -2,48 +2,49 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 class NormalStruct1 extends ffi.Struct {
-  @ffi.Int8()
+  @pkg_ffi.Char()
   external int a;
 }
 
 /// Should not be packed.
 class StructWithAttr extends ffi.Struct {
-  external ffi.Pointer<ffi.Int32> a;
+  external ffi.Pointer<pkg_ffi.Int> a;
 
-  external ffi.Pointer<ffi.Int32> b;
+  external ffi.Pointer<pkg_ffi.Int> b;
 }
 
 /// Should be packed with 1.
 @ffi.Packed(1)
 class PackedAttr extends ffi.Struct {
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int a;
 }
 
 /// Should be packed with 8.
 @ffi.Packed(8)
 class PackedAttrAlign8 extends ffi.Struct {
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int a;
 }
 
 /// Should be packed with 2.
 @ffi.Packed(2)
 class Pack2WithPragma extends ffi.Struct {
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int a;
 }
 
 /// Should be packed with 4.
 @ffi.Packed(4)
 class Pack4WithPragma extends ffi.Struct {
-  @ffi.Int64()
+  @pkg_ffi.LongLong()
   external int a;
 }
 
 class NormalStruct2 extends ffi.Struct {
-  @ffi.Int8()
+  @pkg_ffi.Char()
   external int a;
 }
diff --git a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_typedef_bindings.dart b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_typedef_bindings.dart
index ec8eb3f..35b0dac 100644
--- a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_typedef_bindings.dart
+++ b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_typedef_bindings.dart
@@ -4,6 +4,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 class Bindings {
   /// Holds the symbol lookup function.
@@ -21,7 +22,7 @@
 
   NamedFunctionProto func1(
     NamedFunctionProto named,
-    ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int32)>> unnamed,
+    ffi.Pointer<ffi.NativeFunction<ffi.Void Function(pkg_ffi.Int)>> unnamed,
   ) {
     return _func1(
       named,
@@ -30,14 +31,15 @@
   }
 
   late final _func1Ptr = _lookup<
-      ffi.NativeFunction<
-          NamedFunctionProto Function(
-              NamedFunctionProto,
-              ffi.Pointer<
-                  ffi.NativeFunction<ffi.Void Function(ffi.Int32)>>)>>('func1');
+          ffi.NativeFunction<
+              NamedFunctionProto Function(
+                  NamedFunctionProto,
+                  ffi.Pointer<
+                      ffi.NativeFunction<ffi.Void Function(pkg_ffi.Int)>>)>>(
+      'func1');
   late final _func1 = _func1Ptr.asFunction<
       NamedFunctionProto Function(NamedFunctionProto,
-          ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int32)>>)>();
+          ffi.Pointer<ffi.NativeFunction<ffi.Void Function(pkg_ffi.Int)>>)>();
 
   void func2(
     ffi.Pointer<NTyperef1> arg0,
diff --git a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_unions_bindings.dart b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_unions_bindings.dart
index 1f62444..d17d65a 100644
--- a/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_unions_bindings.dart
+++ b/pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_unions_bindings.dart
@@ -2,6 +2,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Unions Test
 class NativeLibrary {
@@ -49,7 +50,7 @@
 }
 
 class Union1 extends ffi.Union {
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int a;
 }
 
diff --git a/pkgs/ffigen/test/header_parser_tests/function_n_struct_test.dart b/pkgs/ffigen/test/header_parser_tests/function_n_struct_test.dart
index 3b34013..d56cd4e 100644
--- a/pkgs/ffigen/test/header_parser_tests/function_n_struct_test.dart
+++ b/pkgs/ffigen/test/header_parser_tests/function_n_struct_test.dart
@@ -71,7 +71,7 @@
   final struc1 = Struc(name: 'Struct1', members: [
     Member(
       name: 'a',
-      type: Type.nativeType(SupportedNativeType.Int32),
+      type: Type.importedType(intType),
     ),
   ]);
   final struc2 = Struc(name: 'Struct2', members: [
@@ -108,9 +108,7 @@
       Func(
         name: 'func3',
         parameters: [
-          Parameter(
-              name: 'a',
-              type: Type.pointer(Type.nativeType(SupportedNativeType.Int32))),
+          Parameter(name: 'a', type: Type.pointer(Type.importedType(intType))),
         ],
         returnType: Type.nativeType(
           SupportedNativeType.Void,
@@ -122,9 +120,7 @@
         Member(
             name: 'a',
             type: Type.constantArray(
-                2,
-                Type.constantArray(
-                    10, Type.nativeType(SupportedNativeType.Int32))))
+                2, Type.constantArray(10, Type.importedType(intType))))
       ]),
     ],
   );
diff --git a/pkgs/ffigen/test/header_parser_tests/functions.h b/pkgs/ffigen/test/header_parser_tests/functions.h
index 56ec2be..28b8546 100644
--- a/pkgs/ffigen/test/header_parser_tests/functions.h
+++ b/pkgs/ffigen/test/header_parser_tests/functions.h
@@ -19,3 +19,5 @@
 
 // Should be skipped as inline functions are not supported.
 static inline void inlineFunc();
+
+char diffChars(unsigned char a, signed char b);
diff --git a/pkgs/ffigen/test/header_parser_tests/nested_parsing_test.dart b/pkgs/ffigen/test/header_parser_tests/nested_parsing_test.dart
index d09d972..10dc390 100644
--- a/pkgs/ffigen/test/header_parser_tests/nested_parsing_test.dart
+++ b/pkgs/ffigen/test/header_parser_tests/nested_parsing_test.dart
@@ -64,21 +64,21 @@
   final struc2 = Struc(name: 'Struct2', members: [
     Member(
       name: 'e',
-      type: Type.nativeType(SupportedNativeType.Int32),
+      type: Type.importedType(intType),
     ),
     Member(
       name: 'f',
-      type: Type.nativeType(SupportedNativeType.Int32),
+      type: Type.importedType(intType),
     ),
   ]);
   final unnamedInternalStruc = Struc(name: 'UnnamedStruct1', members: [
     Member(
       name: 'a',
-      type: Type.nativeType(SupportedNativeType.Int32),
+      type: Type.importedType(intType),
     ),
     Member(
       name: 'b',
-      type: Type.nativeType(SupportedNativeType.Int32),
+      type: Type.importedType(intType),
     ),
   ]);
   return Library(
@@ -89,18 +89,18 @@
       Struc(name: 'Struct1', members: [
         Member(
           name: 'a',
-          type: Type.nativeType(SupportedNativeType.Int32),
+          type: Type.importedType(intType),
         ),
         Member(
           name: 'b',
-          type: Type.nativeType(SupportedNativeType.Int32),
+          type: Type.importedType(intType),
         ),
         Member(name: 'struct2', type: Type.pointer(Type.struct(struc2))),
       ]),
       Struc(name: 'Struct3', members: [
         Member(
           name: 'a',
-          type: Type.nativeType(SupportedNativeType.Int32),
+          type: Type.importedType(intType),
         ),
         Member(
           name: 'b',
diff --git a/pkgs/ffigen/test/header_parser_tests/typedef_test.dart b/pkgs/ffigen/test/header_parser_tests/typedef_test.dart
index 6759603..abac0e0 100644
--- a/pkgs/ffigen/test/header_parser_tests/typedef_test.dart
+++ b/pkgs/ffigen/test/header_parser_tests/typedef_test.dart
@@ -32,9 +32,12 @@
   ${strings.exclude}:
     - ExcludedStruct
     - _ExcludedStruct
-${strings.typedefmap}:
-  'SpecifiedTypeAsIntPtr': 'IntPtr'
-
+${strings.typeMap}:
+  ${strings.typeMapTypedefs}:
+    'SpecifiedTypeAsIntPtr':
+        lib: 'ffi'
+        c-type: 'IntPtr'
+        dart-type: 'int'
 ${strings.preamble}: |
   // ignore_for_file: unused_element, unused_field
         ''') as yaml.YamlMap),
diff --git a/pkgs/ffigen/test/large_integration_tests/_expected_cjson_bindings.dart b/pkgs/ffigen/test/large_integration_tests/_expected_cjson_bindings.dart
index f16ca6e..794ef5c 100644
--- a/pkgs/ffigen/test/large_integration_tests/_expected_cjson_bindings.dart
+++ b/pkgs/ffigen/test/large_integration_tests/_expected_cjson_bindings.dart
@@ -4,6 +4,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Bindings to Cjson.
 class CJson {
@@ -20,15 +21,15 @@
           lookup)
       : _lookup = lookup;
 
-  ffi.Pointer<ffi.Int8> cJSON_Version() {
+  ffi.Pointer<pkg_ffi.Char> cJSON_Version() {
     return _cJSON_Version();
   }
 
   late final _cJSON_VersionPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Int8> Function()>>(
+      _lookup<ffi.NativeFunction<ffi.Pointer<pkg_ffi.Char> Function()>>(
           'cJSON_Version');
   late final _cJSON_Version =
-      _cJSON_VersionPtr.asFunction<ffi.Pointer<ffi.Int8> Function()>();
+      _cJSON_VersionPtr.asFunction<ffi.Pointer<pkg_ffi.Char> Function()>();
 
   void cJSON_InitHooks(
     ffi.Pointer<cJSON_Hooks> hooks,
@@ -45,7 +46,7 @@
       _cJSON_InitHooksPtr.asFunction<void Function(ffi.Pointer<cJSON_Hooks>)>();
 
   ffi.Pointer<cJSON> cJSON_Parse(
-    ffi.Pointer<ffi.Int8> value,
+    ffi.Pointer<pkg_ffi.Char> value,
   ) {
     return _cJSON_Parse(
       value,
@@ -54,13 +55,14 @@
 
   late final _cJSON_ParsePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Int8>)>>('cJSON_Parse');
+          ffi.Pointer<cJSON> Function(
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_Parse');
   late final _cJSON_Parse = _cJSON_ParsePtr
-      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Int8>)>();
+      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_ParseWithOpts(
-    ffi.Pointer<ffi.Int8> value,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> return_parse_end,
+    ffi.Pointer<pkg_ffi.Char> value,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> return_parse_end,
     int require_null_terminated,
   ) {
     return _cJSON_ParseWithOpts(
@@ -73,14 +75,14 @@
   late final _cJSON_ParseWithOptsPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
               cJSON_bool)>>('cJSON_ParseWithOpts');
   late final _cJSON_ParseWithOpts = _cJSON_ParseWithOptsPtr.asFunction<
-      ffi.Pointer<cJSON> Function(
-          ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Pointer<ffi.Int8>>, int)>();
+      ffi.Pointer<cJSON> Function(ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>, int)>();
 
-  ffi.Pointer<ffi.Int8> cJSON_Print(
+  ffi.Pointer<pkg_ffi.Char> cJSON_Print(
     ffi.Pointer<cJSON> item,
   ) {
     return _cJSON_Print(
@@ -90,11 +92,12 @@
 
   late final _cJSON_PrintPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<cJSON>)>>('cJSON_Print');
+          ffi.Pointer<pkg_ffi.Char> Function(
+              ffi.Pointer<cJSON>)>>('cJSON_Print');
   late final _cJSON_Print = _cJSON_PrintPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<cJSON>)>();
+      .asFunction<ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<cJSON>)>();
 
-  ffi.Pointer<ffi.Int8> cJSON_PrintUnformatted(
+  ffi.Pointer<pkg_ffi.Char> cJSON_PrintUnformatted(
     ffi.Pointer<cJSON> item,
   ) {
     return _cJSON_PrintUnformatted(
@@ -104,12 +107,12 @@
 
   late final _cJSON_PrintUnformattedPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
+          ffi.Pointer<pkg_ffi.Char> Function(
               ffi.Pointer<cJSON>)>>('cJSON_PrintUnformatted');
   late final _cJSON_PrintUnformatted = _cJSON_PrintUnformattedPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<cJSON>)>();
+      .asFunction<ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<cJSON>)>();
 
-  ffi.Pointer<ffi.Int8> cJSON_PrintBuffered(
+  ffi.Pointer<pkg_ffi.Char> cJSON_PrintBuffered(
     ffi.Pointer<cJSON> item,
     int prebuffer,
     int fmt,
@@ -123,14 +126,14 @@
 
   late final _cJSON_PrintBufferedPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<cJSON>, ffi.Int32,
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<cJSON>, pkg_ffi.Int,
               cJSON_bool)>>('cJSON_PrintBuffered');
   late final _cJSON_PrintBuffered = _cJSON_PrintBufferedPtr.asFunction<
-      ffi.Pointer<ffi.Int8> Function(ffi.Pointer<cJSON>, int, int)>();
+      ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<cJSON>, int, int)>();
 
   int cJSON_PrintPreallocated(
     ffi.Pointer<cJSON> item,
-    ffi.Pointer<ffi.Int8> buffer,
+    ffi.Pointer<pkg_ffi.Char> buffer,
     int length,
     int format,
   ) {
@@ -144,10 +147,10 @@
 
   late final _cJSON_PrintPreallocatedPtr = _lookup<
       ffi.NativeFunction<
-          cJSON_bool Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
-              ffi.Int32, cJSON_bool)>>('cJSON_PrintPreallocated');
+          cJSON_bool Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int, cJSON_bool)>>('cJSON_PrintPreallocated');
   late final _cJSON_PrintPreallocated = _cJSON_PrintPreallocatedPtr.asFunction<
-      int Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, int, int)>();
+      int Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>, int, int)>();
 
   void cJSON_Delete(
     ffi.Pointer<cJSON> item,
@@ -172,7 +175,7 @@
   }
 
   late final _cJSON_GetArraySizePtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<cJSON>)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<cJSON>)>>(
           'cJSON_GetArraySize');
   late final _cJSON_GetArraySize =
       _cJSON_GetArraySizePtr.asFunction<int Function(ffi.Pointer<cJSON>)>();
@@ -190,13 +193,13 @@
   late final _cJSON_GetArrayItemPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<cJSON>, ffi.Int32)>>('cJSON_GetArrayItem');
+              ffi.Pointer<cJSON>, pkg_ffi.Int)>>('cJSON_GetArrayItem');
   late final _cJSON_GetArrayItem = _cJSON_GetArrayItemPtr
       .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, int)>();
 
   ffi.Pointer<cJSON> cJSON_GetObjectItem(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_GetObjectItem(
       object,
@@ -207,13 +210,14 @@
   late final _cJSON_GetObjectItemPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_GetObjectItem');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_GetObjectItem');
   late final _cJSON_GetObjectItem = _cJSON_GetObjectItemPtr.asFunction<
-      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_GetObjectItemCaseSensitive(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_GetObjectItemCaseSensitive(
       object,
@@ -224,15 +228,15 @@
   late final _cJSON_GetObjectItemCaseSensitivePtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_GetObjectItemCaseSensitive');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_GetObjectItemCaseSensitive');
   late final _cJSON_GetObjectItemCaseSensitive =
       _cJSON_GetObjectItemCaseSensitivePtr.asFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+              ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   int cJSON_HasObjectItem(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_HasObjectItem(
       object,
@@ -243,21 +247,21 @@
   late final _cJSON_HasObjectItemPtr = _lookup<
       ffi.NativeFunction<
           cJSON_bool Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_HasObjectItem');
-  late final _cJSON_HasObjectItem = _cJSON_HasObjectItemPtr
-      .asFunction<int Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_HasObjectItem');
+  late final _cJSON_HasObjectItem = _cJSON_HasObjectItemPtr.asFunction<
+      int Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
-  ffi.Pointer<ffi.Int8> cJSON_GetErrorPtr() {
+  ffi.Pointer<pkg_ffi.Char> cJSON_GetErrorPtr() {
     return _cJSON_GetErrorPtr();
   }
 
   late final _cJSON_GetErrorPtrPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Int8> Function()>>(
+      _lookup<ffi.NativeFunction<ffi.Pointer<pkg_ffi.Char> Function()>>(
           'cJSON_GetErrorPtr');
   late final _cJSON_GetErrorPtr =
-      _cJSON_GetErrorPtrPtr.asFunction<ffi.Pointer<ffi.Int8> Function()>();
+      _cJSON_GetErrorPtrPtr.asFunction<ffi.Pointer<pkg_ffi.Char> Function()>();
 
-  ffi.Pointer<ffi.Int8> cJSON_GetStringValue(
+  ffi.Pointer<pkg_ffi.Char> cJSON_GetStringValue(
     ffi.Pointer<cJSON> item,
   ) {
     return _cJSON_GetStringValue(
@@ -267,10 +271,10 @@
 
   late final _cJSON_GetStringValuePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
+          ffi.Pointer<pkg_ffi.Char> Function(
               ffi.Pointer<cJSON>)>>('cJSON_GetStringValue');
   late final _cJSON_GetStringValue = _cJSON_GetStringValuePtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<cJSON>)>();
+      .asFunction<ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<cJSON>)>();
 
   int cJSON_IsInvalid(
     ffi.Pointer<cJSON> item,
@@ -471,7 +475,7 @@
       _cJSON_CreateNumberPtr.asFunction<ffi.Pointer<cJSON> Function(double)>();
 
   ffi.Pointer<cJSON> cJSON_CreateString(
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_CreateString(
       string,
@@ -481,12 +485,12 @@
   late final _cJSON_CreateStringPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<ffi.Int8>)>>('cJSON_CreateString');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_CreateString');
   late final _cJSON_CreateString = _cJSON_CreateStringPtr
-      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Int8>)>();
+      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_CreateRaw(
-    ffi.Pointer<ffi.Int8> raw,
+    ffi.Pointer<pkg_ffi.Char> raw,
   ) {
     return _cJSON_CreateRaw(
       raw,
@@ -496,9 +500,9 @@
   late final _cJSON_CreateRawPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<ffi.Int8>)>>('cJSON_CreateRaw');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_CreateRaw');
   late final _cJSON_CreateRaw = _cJSON_CreateRawPtr
-      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Int8>)>();
+      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_CreateArray() {
     return _cJSON_CreateArray();
@@ -521,7 +525,7 @@
       _cJSON_CreateObjectPtr.asFunction<ffi.Pointer<cJSON> Function()>();
 
   ffi.Pointer<cJSON> cJSON_CreateStringReference(
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_CreateStringReference(
       string,
@@ -531,9 +535,9 @@
   late final _cJSON_CreateStringReferencePtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<ffi.Int8>)>>('cJSON_CreateStringReference');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_CreateStringReference');
   late final _cJSON_CreateStringReference = _cJSON_CreateStringReferencePtr
-      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Int8>)>();
+      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_CreateObjectReference(
     ffi.Pointer<cJSON> child,
@@ -564,7 +568,7 @@
       .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>)>();
 
   ffi.Pointer<cJSON> cJSON_CreateIntArray(
-    ffi.Pointer<ffi.Int32> numbers,
+    ffi.Pointer<pkg_ffi.Int> numbers,
     int count,
   ) {
     return _cJSON_CreateIntArray(
@@ -576,9 +580,9 @@
   late final _cJSON_CreateIntArrayPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<ffi.Int32>, ffi.Int32)>>('cJSON_CreateIntArray');
+              ffi.Pointer<pkg_ffi.Int>, pkg_ffi.Int)>>('cJSON_CreateIntArray');
   late final _cJSON_CreateIntArray = _cJSON_CreateIntArrayPtr
-      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Int32>, int)>();
+      .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<pkg_ffi.Int>, int)>();
 
   ffi.Pointer<cJSON> cJSON_CreateFloatArray(
     ffi.Pointer<ffi.Float> numbers,
@@ -593,7 +597,7 @@
   late final _cJSON_CreateFloatArrayPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<ffi.Float>, ffi.Int32)>>('cJSON_CreateFloatArray');
+              ffi.Pointer<ffi.Float>, pkg_ffi.Int)>>('cJSON_CreateFloatArray');
   late final _cJSON_CreateFloatArray = _cJSON_CreateFloatArrayPtr
       .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Float>, int)>();
 
@@ -609,13 +613,13 @@
 
   late final _cJSON_CreateDoubleArrayPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<cJSON> Function(
-              ffi.Pointer<ffi.Double>, ffi.Int32)>>('cJSON_CreateDoubleArray');
+          ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Double>,
+              pkg_ffi.Int)>>('cJSON_CreateDoubleArray');
   late final _cJSON_CreateDoubleArray = _cJSON_CreateDoubleArrayPtr
       .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Double>, int)>();
 
   ffi.Pointer<cJSON> cJSON_CreateStringArray(
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> strings,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> strings,
     int count,
   ) {
     return _cJSON_CreateStringArray(
@@ -626,10 +630,11 @@
 
   late final _cJSON_CreateStringArrayPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Int32)>>('cJSON_CreateStringArray');
+          ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              pkg_ffi.Int)>>('cJSON_CreateStringArray');
   late final _cJSON_CreateStringArray = _cJSON_CreateStringArrayPtr.asFunction<
-      ffi.Pointer<cJSON> Function(ffi.Pointer<ffi.Pointer<ffi.Int8>>, int)>();
+      ffi.Pointer<cJSON> Function(
+          ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>, int)>();
 
   void cJSON_AddItemToArray(
     ffi.Pointer<cJSON> array,
@@ -650,7 +655,7 @@
 
   void cJSON_AddItemToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
     ffi.Pointer<cJSON> item,
   ) {
     return _cJSON_AddItemToObject(
@@ -662,15 +667,15 @@
 
   late final _cJSON_AddItemToObjectPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
+          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<cJSON>)>>('cJSON_AddItemToObject');
   late final _cJSON_AddItemToObject = _cJSON_AddItemToObjectPtr.asFunction<
       void Function(
-          ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, ffi.Pointer<cJSON>)>();
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<cJSON>)>();
 
   void cJSON_AddItemToObjectCS(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
     ffi.Pointer<cJSON> item,
   ) {
     return _cJSON_AddItemToObjectCS(
@@ -682,11 +687,11 @@
 
   late final _cJSON_AddItemToObjectCSPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
+          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<cJSON>)>>('cJSON_AddItemToObjectCS');
   late final _cJSON_AddItemToObjectCS = _cJSON_AddItemToObjectCSPtr.asFunction<
       void Function(
-          ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, ffi.Pointer<cJSON>)>();
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<cJSON>)>();
 
   void cJSON_AddItemReferenceToArray(
     ffi.Pointer<cJSON> array,
@@ -707,7 +712,7 @@
 
   void cJSON_AddItemReferenceToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
     ffi.Pointer<cJSON> item,
   ) {
     return _cJSON_AddItemReferenceToObject(
@@ -719,12 +724,12 @@
 
   late final _cJSON_AddItemReferenceToObjectPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
+          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<cJSON>)>>('cJSON_AddItemReferenceToObject');
   late final _cJSON_AddItemReferenceToObject =
       _cJSON_AddItemReferenceToObjectPtr.asFunction<
-          void Function(
-              ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, ffi.Pointer<cJSON>)>();
+          void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<cJSON>)>();
 
   ffi.Pointer<cJSON> cJSON_DetachItemViaPointer(
     ffi.Pointer<cJSON> parent,
@@ -758,7 +763,7 @@
   late final _cJSON_DetachItemFromArrayPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<cJSON>, ffi.Int32)>>('cJSON_DetachItemFromArray');
+              ffi.Pointer<cJSON>, pkg_ffi.Int)>>('cJSON_DetachItemFromArray');
   late final _cJSON_DetachItemFromArray = _cJSON_DetachItemFromArrayPtr
       .asFunction<ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, int)>();
 
@@ -773,14 +778,15 @@
   }
 
   late final _cJSON_DeleteItemFromArrayPtr = _lookup<
-          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<cJSON>, ffi.Int32)>>(
-      'cJSON_DeleteItemFromArray');
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<cJSON>, pkg_ffi.Int)>>('cJSON_DeleteItemFromArray');
   late final _cJSON_DeleteItemFromArray = _cJSON_DeleteItemFromArrayPtr
       .asFunction<void Function(ffi.Pointer<cJSON>, int)>();
 
   ffi.Pointer<cJSON> cJSON_DetachItemFromObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_DetachItemFromObject(
       object,
@@ -791,15 +797,15 @@
   late final _cJSON_DetachItemFromObjectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_DetachItemFromObject');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_DetachItemFromObject');
   late final _cJSON_DetachItemFromObject =
       _cJSON_DetachItemFromObjectPtr.asFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+              ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_DetachItemFromObjectCaseSensitive(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_DetachItemFromObjectCaseSensitive(
       object,
@@ -810,16 +816,16 @@
   late final _cJSON_DetachItemFromObjectCaseSensitivePtr = _lookup<
           ffi.NativeFunction<
               ffi.Pointer<cJSON> Function(
-                  ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>>(
+                  ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>>(
       'cJSON_DetachItemFromObjectCaseSensitive');
   late final _cJSON_DetachItemFromObjectCaseSensitive =
       _cJSON_DetachItemFromObjectCaseSensitivePtr.asFunction<
           ffi.Pointer<cJSON> Function(
-              ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+              ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   void cJSON_DeleteItemFromObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_DeleteItemFromObject(
       object,
@@ -830,13 +836,14 @@
   late final _cJSON_DeleteItemFromObjectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Void Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_DeleteItemFromObject');
-  late final _cJSON_DeleteItemFromObject = _cJSON_DeleteItemFromObjectPtr
-      .asFunction<void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_DeleteItemFromObject');
+  late final _cJSON_DeleteItemFromObject =
+      _cJSON_DeleteItemFromObjectPtr.asFunction<
+          void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   void cJSON_DeleteItemFromObjectCaseSensitive(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_DeleteItemFromObjectCaseSensitive(
       object,
@@ -846,11 +853,12 @@
 
   late final _cJSON_DeleteItemFromObjectCaseSensitivePtr = _lookup<
           ffi.NativeFunction<
-              ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>>(
+              ffi.Void Function(
+                  ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>>(
       'cJSON_DeleteItemFromObjectCaseSensitive');
   late final _cJSON_DeleteItemFromObjectCaseSensitive =
       _cJSON_DeleteItemFromObjectCaseSensitivePtr.asFunction<
-          void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+          void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   void cJSON_InsertItemInArray(
     ffi.Pointer<cJSON> array,
@@ -866,7 +874,7 @@
 
   late final _cJSON_InsertItemInArrayPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Int32,
+          ffi.Void Function(ffi.Pointer<cJSON>, pkg_ffi.Int,
               ffi.Pointer<cJSON>)>>('cJSON_InsertItemInArray');
   late final _cJSON_InsertItemInArray = _cJSON_InsertItemInArrayPtr
       .asFunction<void Function(ffi.Pointer<cJSON>, int, ffi.Pointer<cJSON>)>();
@@ -906,14 +914,14 @@
 
   late final _cJSON_ReplaceItemInArrayPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Int32,
+          ffi.Void Function(ffi.Pointer<cJSON>, pkg_ffi.Int,
               ffi.Pointer<cJSON>)>>('cJSON_ReplaceItemInArray');
   late final _cJSON_ReplaceItemInArray = _cJSON_ReplaceItemInArrayPtr
       .asFunction<void Function(ffi.Pointer<cJSON>, int, ffi.Pointer<cJSON>)>();
 
   void cJSON_ReplaceItemInObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
     ffi.Pointer<cJSON> newitem,
   ) {
     return _cJSON_ReplaceItemInObject(
@@ -925,16 +933,16 @@
 
   late final _cJSON_ReplaceItemInObjectPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
+          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<cJSON>)>>('cJSON_ReplaceItemInObject');
   late final _cJSON_ReplaceItemInObject =
       _cJSON_ReplaceItemInObjectPtr.asFunction<
-          void Function(
-              ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, ffi.Pointer<cJSON>)>();
+          void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<cJSON>)>();
 
   void cJSON_ReplaceItemInObjectCaseSensitive(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> string,
     ffi.Pointer<cJSON> newitem,
   ) {
     return _cJSON_ReplaceItemInObjectCaseSensitive(
@@ -946,12 +954,12 @@
 
   late final _cJSON_ReplaceItemInObjectCaseSensitivePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
+          ffi.Void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<cJSON>)>>('cJSON_ReplaceItemInObjectCaseSensitive');
   late final _cJSON_ReplaceItemInObjectCaseSensitive =
       _cJSON_ReplaceItemInObjectCaseSensitivePtr.asFunction<
-          void Function(
-              ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, ffi.Pointer<cJSON>)>();
+          void Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<cJSON>)>();
 
   ffi.Pointer<cJSON> cJSON_Duplicate(
     ffi.Pointer<cJSON> item,
@@ -990,7 +998,7 @@
       .asFunction<int Function(ffi.Pointer<cJSON>, ffi.Pointer<cJSON>, int)>();
 
   void cJSON_Minify(
-    ffi.Pointer<ffi.Int8> json,
+    ffi.Pointer<pkg_ffi.Char> json,
   ) {
     return _cJSON_Minify(
       json,
@@ -998,14 +1006,14 @@
   }
 
   late final _cJSON_MinifyPtr =
-      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Int8>)>>(
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<pkg_ffi.Char>)>>(
           'cJSON_Minify');
   late final _cJSON_Minify =
-      _cJSON_MinifyPtr.asFunction<void Function(ffi.Pointer<ffi.Int8>)>();
+      _cJSON_MinifyPtr.asFunction<void Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_AddNullToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
   ) {
     return _cJSON_AddNullToObject(
       object,
@@ -1016,13 +1024,14 @@
   late final _cJSON_AddNullToObjectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_AddNullToObject');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_AddNullToObject');
   late final _cJSON_AddNullToObject = _cJSON_AddNullToObjectPtr.asFunction<
-      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_AddTrueToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
   ) {
     return _cJSON_AddTrueToObject(
       object,
@@ -1033,13 +1042,14 @@
   late final _cJSON_AddTrueToObjectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_AddTrueToObject');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_AddTrueToObject');
   late final _cJSON_AddTrueToObject = _cJSON_AddTrueToObjectPtr.asFunction<
-      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_AddFalseToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
   ) {
     return _cJSON_AddFalseToObject(
       object,
@@ -1050,13 +1060,14 @@
   late final _cJSON_AddFalseToObjectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_AddFalseToObject');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_AddFalseToObject');
   late final _cJSON_AddFalseToObject = _cJSON_AddFalseToObjectPtr.asFunction<
-      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_AddBoolToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
     int boolean,
   ) {
     return _cJSON_AddBoolToObject(
@@ -1068,15 +1079,15 @@
 
   late final _cJSON_AddBoolToObjectPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
-              cJSON_bool)>>('cJSON_AddBoolToObject');
+          ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
+              ffi.Pointer<pkg_ffi.Char>, cJSON_bool)>>('cJSON_AddBoolToObject');
   late final _cJSON_AddBoolToObject = _cJSON_AddBoolToObjectPtr.asFunction<
       ffi.Pointer<cJSON> Function(
-          ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, int)>();
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>, int)>();
 
   ffi.Pointer<cJSON> cJSON_AddNumberToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
     double number,
   ) {
     return _cJSON_AddNumberToObject(
@@ -1088,16 +1099,18 @@
 
   late final _cJSON_AddNumberToObjectPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<cJSON> Function(
+              ffi.Pointer<cJSON>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Double)>>('cJSON_AddNumberToObject');
   late final _cJSON_AddNumberToObject = _cJSON_AddNumberToObjectPtr.asFunction<
       ffi.Pointer<cJSON> Function(
-          ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, double)>();
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>, double)>();
 
   ffi.Pointer<cJSON> cJSON_AddStringToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
-    ffi.Pointer<ffi.Int8> string,
+    ffi.Pointer<pkg_ffi.Char> name,
+    ffi.Pointer<pkg_ffi.Char> string,
   ) {
     return _cJSON_AddStringToObject(
       object,
@@ -1108,16 +1121,18 @@
 
   late final _cJSON_AddStringToObjectPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_AddStringToObject');
+          ffi.Pointer<cJSON> Function(
+              ffi.Pointer<cJSON>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_AddStringToObject');
   late final _cJSON_AddStringToObject = _cJSON_AddStringToObjectPtr.asFunction<
-      ffi.Pointer<cJSON> Function(
-          ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_AddRawToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
-    ffi.Pointer<ffi.Int8> raw,
+    ffi.Pointer<pkg_ffi.Char> name,
+    ffi.Pointer<pkg_ffi.Char> raw,
   ) {
     return _cJSON_AddRawToObject(
       object,
@@ -1128,15 +1143,17 @@
 
   late final _cJSON_AddRawToObjectPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_AddRawToObject');
+          ffi.Pointer<cJSON> Function(
+              ffi.Pointer<cJSON>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_AddRawToObject');
   late final _cJSON_AddRawToObject = _cJSON_AddRawToObjectPtr.asFunction<
-      ffi.Pointer<cJSON> Function(
-          ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_AddObjectToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
   ) {
     return _cJSON_AddObjectToObject(
       object,
@@ -1147,13 +1164,14 @@
   late final _cJSON_AddObjectToObjectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_AddObjectToObject');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_AddObjectToObject');
   late final _cJSON_AddObjectToObject = _cJSON_AddObjectToObjectPtr.asFunction<
-      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   ffi.Pointer<cJSON> cJSON_AddArrayToObject(
     ffi.Pointer<cJSON> object,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
   ) {
     return _cJSON_AddArrayToObject(
       object,
@@ -1164,9 +1182,10 @@
   late final _cJSON_AddArrayToObjectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>,
-              ffi.Pointer<ffi.Int8>)>>('cJSON_AddArrayToObject');
+              ffi.Pointer<pkg_ffi.Char>)>>('cJSON_AddArrayToObject');
   late final _cJSON_AddArrayToObject = _cJSON_AddArrayToObjectPtr.asFunction<
-      ffi.Pointer<cJSON> Function(ffi.Pointer<cJSON>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<cJSON> Function(
+          ffi.Pointer<cJSON>, ffi.Pointer<pkg_ffi.Char>)>();
 
   double cJSON_SetNumberHelper(
     ffi.Pointer<cJSON> object,
@@ -1194,7 +1213,7 @@
   }
 
   late final _cJSON_mallocPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(ffi.IntPtr)>>(
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(pkg_ffi.Size)>>(
           'cJSON_malloc');
   late final _cJSON_malloc =
       _cJSON_mallocPtr.asFunction<ffi.Pointer<ffi.Void> Function(int)>();
@@ -1221,30 +1240,31 @@
 
   external ffi.Pointer<cJSON> child;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int type;
 
-  external ffi.Pointer<ffi.Int8> valuestring;
+  external ffi.Pointer<pkg_ffi.Char> valuestring;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int valueint;
 
   @ffi.Double()
   external double valuedouble;
 
-  external ffi.Pointer<ffi.Int8> string;
+  external ffi.Pointer<pkg_ffi.Char> string;
 }
 
 class cJSON_Hooks extends ffi.Struct {
   external ffi.Pointer<
-      ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(ffi.IntPtr)>> malloc_fn;
+          ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(pkg_ffi.Size)>>
+      malloc_fn;
 
   external ffi
           .Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
       free_fn;
 }
 
-typedef cJSON_bool = ffi.Int32;
+typedef cJSON_bool = pkg_ffi.Int;
 
 const int CJSON_VERSION_MAJOR = 1;
 
diff --git a/pkgs/ffigen/test/large_integration_tests/_expected_libclang_bindings.dart b/pkgs/ffigen/test/large_integration_tests/_expected_libclang_bindings.dart
index 78cc9c6..2255e6f 100644
--- a/pkgs/ffigen/test/large_integration_tests/_expected_libclang_bindings.dart
+++ b/pkgs/ffigen/test/large_integration_tests/_expected_libclang_bindings.dart
@@ -4,6 +4,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Bindings to LibClang.
 class LibClang {
@@ -21,7 +22,7 @@
       : _lookup = lookup;
 
   /// Retrieve the character data associated with the given string.
-  ffi.Pointer<ffi.Int8> clang_getCString(
+  ffi.Pointer<pkg_ffi.Char> clang_getCString(
     CXString string,
   ) {
     return _clang_getCString(
@@ -30,10 +31,10 @@
   }
 
   late final _clang_getCStringPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Int8> Function(CXString)>>(
+      _lookup<ffi.NativeFunction<ffi.Pointer<pkg_ffi.Char> Function(CXString)>>(
           'clang_getCString');
   late final _clang_getCString = _clang_getCStringPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(CXString)>();
+      .asFunction<ffi.Pointer<pkg_ffi.Char> Function(CXString)>();
 
   /// Free the given string.
   void clang_disposeString(
@@ -72,7 +73,7 @@
   }
 
   late final _clang_getBuildSessionTimestampPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint64 Function()>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedLongLong Function()>>(
           'clang_getBuildSessionTimestamp');
   late final _clang_getBuildSessionTimestamp =
       _clang_getBuildSessionTimestampPtr.asFunction<int Function()>();
@@ -87,9 +88,10 @@
     );
   }
 
-  late final _clang_VirtualFileOverlay_createPtr =
-      _lookup<ffi.NativeFunction<CXVirtualFileOverlay Function(ffi.Uint32)>>(
-          'clang_VirtualFileOverlay_create');
+  late final _clang_VirtualFileOverlay_createPtr = _lookup<
+      ffi.NativeFunction<
+          CXVirtualFileOverlay Function(
+              pkg_ffi.UnsignedInt)>>('clang_VirtualFileOverlay_create');
   late final _clang_VirtualFileOverlay_create =
       _clang_VirtualFileOverlay_createPtr
           .asFunction<CXVirtualFileOverlay Function(int)>();
@@ -98,8 +100,8 @@
   /// path must be canonicalized (not contain "."/"..").
   int clang_VirtualFileOverlay_addFileMapping(
     CXVirtualFileOverlay arg0,
-    ffi.Pointer<ffi.Int8> virtualPath,
-    ffi.Pointer<ffi.Int8> realPath,
+    ffi.Pointer<pkg_ffi.Char> virtualPath,
+    ffi.Pointer<pkg_ffi.Char> realPath,
   ) {
     return _clang_VirtualFileOverlay_addFileMapping(
       arg0,
@@ -110,13 +112,13 @@
 
   late final _clang_VirtualFileOverlay_addFileMappingPtr = _lookup<
           ffi.NativeFunction<
-              ffi.Int32 Function(CXVirtualFileOverlay, ffi.Pointer<ffi.Int8>,
-                  ffi.Pointer<ffi.Int8>)>>(
+              ffi.Int32 Function(CXVirtualFileOverlay,
+                  ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<pkg_ffi.Char>)>>(
       'clang_VirtualFileOverlay_addFileMapping');
   late final _clang_VirtualFileOverlay_addFileMapping =
       _clang_VirtualFileOverlay_addFileMappingPtr.asFunction<
-          int Function(CXVirtualFileOverlay, ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>)>();
+          int Function(CXVirtualFileOverlay, ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>)>();
 
   /// Set the case sensitivity for the CXVirtualFileOverlay object. The
   /// CXVirtualFileOverlay object is case-sensitive by default, this option can
@@ -134,7 +136,7 @@
   late final _clang_VirtualFileOverlay_setCaseSensitivityPtr = _lookup<
       ffi.NativeFunction<
           ffi.Int32 Function(CXVirtualFileOverlay,
-              ffi.Int32)>>('clang_VirtualFileOverlay_setCaseSensitivity');
+              pkg_ffi.Int)>>('clang_VirtualFileOverlay_setCaseSensitivity');
   late final _clang_VirtualFileOverlay_setCaseSensitivity =
       _clang_VirtualFileOverlay_setCaseSensitivityPtr
           .asFunction<int Function(CXVirtualFileOverlay, int)>();
@@ -143,8 +145,8 @@
   int clang_VirtualFileOverlay_writeToBuffer(
     CXVirtualFileOverlay arg0,
     int options,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> out_buffer_ptr,
-    ffi.Pointer<ffi.Uint32> out_buffer_size,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> out_buffer_ptr,
+    ffi.Pointer<pkg_ffi.UnsignedInt> out_buffer_size,
   ) {
     return _clang_VirtualFileOverlay_writeToBuffer(
       arg0,
@@ -158,14 +160,17 @@
           ffi.NativeFunction<
               ffi.Int32 Function(
                   CXVirtualFileOverlay,
-                  ffi.Uint32,
-                  ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-                  ffi.Pointer<ffi.Uint32>)>>(
+                  pkg_ffi.UnsignedInt,
+                  ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+                  ffi.Pointer<pkg_ffi.UnsignedInt>)>>(
       'clang_VirtualFileOverlay_writeToBuffer');
   late final _clang_VirtualFileOverlay_writeToBuffer =
       _clang_VirtualFileOverlay_writeToBufferPtr.asFunction<
-          int Function(CXVirtualFileOverlay, int,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>, ffi.Pointer<ffi.Uint32>)>();
+          int Function(
+              CXVirtualFileOverlay,
+              int,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>();
 
   /// free memory allocated by libclang, such as the buffer returned by
   /// CXVirtualFileOverlay() or clang_ModuleMapDescriptor_writeToBuffer().
@@ -209,9 +214,10 @@
     );
   }
 
-  late final _clang_ModuleMapDescriptor_createPtr =
-      _lookup<ffi.NativeFunction<CXModuleMapDescriptor Function(ffi.Uint32)>>(
-          'clang_ModuleMapDescriptor_create');
+  late final _clang_ModuleMapDescriptor_createPtr = _lookup<
+      ffi.NativeFunction<
+          CXModuleMapDescriptor Function(
+              pkg_ffi.UnsignedInt)>>('clang_ModuleMapDescriptor_create');
   late final _clang_ModuleMapDescriptor_create =
       _clang_ModuleMapDescriptor_createPtr
           .asFunction<CXModuleMapDescriptor Function(int)>();
@@ -219,7 +225,7 @@
   /// Sets the framework module name that the module.map describes.
   int clang_ModuleMapDescriptor_setFrameworkModuleName(
     CXModuleMapDescriptor arg0,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
   ) {
     return _clang_ModuleMapDescriptor_setFrameworkModuleName(
       arg0,
@@ -230,16 +236,16 @@
   late final _clang_ModuleMapDescriptor_setFrameworkModuleNamePtr = _lookup<
           ffi.NativeFunction<
               ffi.Int32 Function(
-                  CXModuleMapDescriptor, ffi.Pointer<ffi.Int8>)>>(
+                  CXModuleMapDescriptor, ffi.Pointer<pkg_ffi.Char>)>>(
       'clang_ModuleMapDescriptor_setFrameworkModuleName');
   late final _clang_ModuleMapDescriptor_setFrameworkModuleName =
       _clang_ModuleMapDescriptor_setFrameworkModuleNamePtr.asFunction<
-          int Function(CXModuleMapDescriptor, ffi.Pointer<ffi.Int8>)>();
+          int Function(CXModuleMapDescriptor, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// Sets the umbrealla header name that the module.map describes.
   int clang_ModuleMapDescriptor_setUmbrellaHeader(
     CXModuleMapDescriptor arg0,
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
   ) {
     return _clang_ModuleMapDescriptor_setUmbrellaHeader(
       arg0,
@@ -250,18 +256,18 @@
   late final _clang_ModuleMapDescriptor_setUmbrellaHeaderPtr = _lookup<
           ffi.NativeFunction<
               ffi.Int32 Function(
-                  CXModuleMapDescriptor, ffi.Pointer<ffi.Int8>)>>(
+                  CXModuleMapDescriptor, ffi.Pointer<pkg_ffi.Char>)>>(
       'clang_ModuleMapDescriptor_setUmbrellaHeader');
   late final _clang_ModuleMapDescriptor_setUmbrellaHeader =
       _clang_ModuleMapDescriptor_setUmbrellaHeaderPtr.asFunction<
-          int Function(CXModuleMapDescriptor, ffi.Pointer<ffi.Int8>)>();
+          int Function(CXModuleMapDescriptor, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// Write out the CXModuleMapDescriptor object to a char buffer.
   int clang_ModuleMapDescriptor_writeToBuffer(
     CXModuleMapDescriptor arg0,
     int options,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> out_buffer_ptr,
-    ffi.Pointer<ffi.Uint32> out_buffer_size,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> out_buffer_ptr,
+    ffi.Pointer<pkg_ffi.UnsignedInt> out_buffer_size,
   ) {
     return _clang_ModuleMapDescriptor_writeToBuffer(
       arg0,
@@ -275,14 +281,17 @@
           ffi.NativeFunction<
               ffi.Int32 Function(
                   CXModuleMapDescriptor,
-                  ffi.Uint32,
-                  ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-                  ffi.Pointer<ffi.Uint32>)>>(
+                  pkg_ffi.UnsignedInt,
+                  ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+                  ffi.Pointer<pkg_ffi.UnsignedInt>)>>(
       'clang_ModuleMapDescriptor_writeToBuffer');
   late final _clang_ModuleMapDescriptor_writeToBuffer =
       _clang_ModuleMapDescriptor_writeToBufferPtr.asFunction<
-          int Function(CXModuleMapDescriptor, int,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>, ffi.Pointer<ffi.Uint32>)>();
+          int Function(
+              CXModuleMapDescriptor,
+              int,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>();
 
   /// Dispose a CXModuleMapDescriptor object.
   void clang_ModuleMapDescriptor_dispose(
@@ -312,7 +321,7 @@
   }
 
   late final _clang_createIndexPtr =
-      _lookup<ffi.NativeFunction<CXIndex Function(ffi.Int32, ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<CXIndex Function(pkg_ffi.Int, pkg_ffi.Int)>>(
           'clang_createIndex');
   late final _clang_createIndex =
       _clang_createIndexPtr.asFunction<CXIndex Function(int, int)>();
@@ -343,9 +352,9 @@
     );
   }
 
-  late final _clang_CXIndex_setGlobalOptionsPtr =
-      _lookup<ffi.NativeFunction<ffi.Void Function(CXIndex, ffi.Uint32)>>(
-          'clang_CXIndex_setGlobalOptions');
+  late final _clang_CXIndex_setGlobalOptionsPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CXIndex, pkg_ffi.UnsignedInt)>>(
+      'clang_CXIndex_setGlobalOptions');
   late final _clang_CXIndex_setGlobalOptions =
       _clang_CXIndex_setGlobalOptionsPtr
           .asFunction<void Function(CXIndex, int)>();
@@ -360,7 +369,7 @@
   }
 
   late final _clang_CXIndex_getGlobalOptionsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXIndex)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXIndex)>>(
           'clang_CXIndex_getGlobalOptions');
   late final _clang_CXIndex_getGlobalOptions =
       _clang_CXIndex_getGlobalOptionsPtr.asFunction<int Function(CXIndex)>();
@@ -368,7 +377,7 @@
   /// Sets the invocation emission path option in a CXIndex.
   void clang_CXIndex_setInvocationEmissionPathOption(
     CXIndex arg0,
-    ffi.Pointer<ffi.Int8> Path,
+    ffi.Pointer<pkg_ffi.Char> Path,
   ) {
     return _clang_CXIndex_setInvocationEmissionPathOption(
       arg0,
@@ -378,11 +387,11 @@
 
   late final _clang_CXIndex_setInvocationEmissionPathOptionPtr = _lookup<
           ffi.NativeFunction<
-              ffi.Void Function(CXIndex, ffi.Pointer<ffi.Int8>)>>(
+              ffi.Void Function(CXIndex, ffi.Pointer<pkg_ffi.Char>)>>(
       'clang_CXIndex_setInvocationEmissionPathOption');
   late final _clang_CXIndex_setInvocationEmissionPathOption =
       _clang_CXIndex_setInvocationEmissionPathOptionPtr
-          .asFunction<void Function(CXIndex, ffi.Pointer<ffi.Int8>)>();
+          .asFunction<void Function(CXIndex, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// Retrieve the complete file and path name of the given file.
   CXString clang_getFileName(
@@ -427,7 +436,7 @@
 
   late final _clang_getFileUniqueIDPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               CXFile, ffi.Pointer<CXFileUniqueID>)>>('clang_getFileUniqueID');
   late final _clang_getFileUniqueID = _clang_getFileUniqueIDPtr
       .asFunction<int Function(CXFile, ffi.Pointer<CXFileUniqueID>)>();
@@ -446,8 +455,9 @@
   }
 
   late final _clang_isFileMultipleIncludeGuardedPtr = _lookup<
-          ffi.NativeFunction<ffi.Uint32 Function(CXTranslationUnit, CXFile)>>(
-      'clang_isFileMultipleIncludeGuarded');
+      ffi.NativeFunction<
+          pkg_ffi.UnsignedInt Function(CXTranslationUnit,
+              CXFile)>>('clang_isFileMultipleIncludeGuarded');
   late final _clang_isFileMultipleIncludeGuarded =
       _clang_isFileMultipleIncludeGuardedPtr
           .asFunction<int Function(CXTranslationUnit, CXFile)>();
@@ -455,7 +465,7 @@
   /// Retrieve a file handle within the given translation unit.
   CXFile clang_getFile(
     CXTranslationUnit tu,
-    ffi.Pointer<ffi.Int8> file_name,
+    ffi.Pointer<pkg_ffi.Char> file_name,
   ) {
     return _clang_getFile(
       tu,
@@ -466,15 +476,15 @@
   late final _clang_getFilePtr = _lookup<
       ffi.NativeFunction<
           CXFile Function(
-              CXTranslationUnit, ffi.Pointer<ffi.Int8>)>>('clang_getFile');
-  late final _clang_getFile = _clang_getFilePtr
-      .asFunction<CXFile Function(CXTranslationUnit, ffi.Pointer<ffi.Int8>)>();
+              CXTranslationUnit, ffi.Pointer<pkg_ffi.Char>)>>('clang_getFile');
+  late final _clang_getFile = _clang_getFilePtr.asFunction<
+      CXFile Function(CXTranslationUnit, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// Retrieve the buffer associated with the given file.
-  ffi.Pointer<ffi.Int8> clang_getFileContents(
+  ffi.Pointer<pkg_ffi.Char> clang_getFileContents(
     CXTranslationUnit tu,
     CXFile file,
-    ffi.Pointer<ffi.IntPtr> size,
+    ffi.Pointer<pkg_ffi.Size> size,
   ) {
     return _clang_getFileContents(
       tu,
@@ -485,11 +495,11 @@
 
   late final _clang_getFileContentsPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(CXTranslationUnit, CXFile,
-              ffi.Pointer<ffi.IntPtr>)>>('clang_getFileContents');
+          ffi.Pointer<pkg_ffi.Char> Function(CXTranslationUnit, CXFile,
+              ffi.Pointer<pkg_ffi.Size>)>>('clang_getFileContents');
   late final _clang_getFileContents = _clang_getFileContentsPtr.asFunction<
-      ffi.Pointer<ffi.Int8> Function(
-          CXTranslationUnit, CXFile, ffi.Pointer<ffi.IntPtr>)>();
+      ffi.Pointer<pkg_ffi.Char> Function(
+          CXTranslationUnit, CXFile, ffi.Pointer<pkg_ffi.Size>)>();
 
   /// Returns non-zero if the file1 and file2 point to the same file, or they
   /// are both NULL.
@@ -504,7 +514,7 @@
   }
 
   late final _clang_File_isEqualPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXFile, CXFile)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXFile, CXFile)>>(
           'clang_File_isEqual');
   late final _clang_File_isEqual =
       _clang_File_isEqualPtr.asFunction<int Function(CXFile, CXFile)>();
@@ -549,7 +559,7 @@
 
   late final _clang_equalLocationsPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Uint32 Function(
+          pkg_ffi.UnsignedInt Function(
               CXSourceLocation, CXSourceLocation)>>('clang_equalLocations');
   late final _clang_equalLocations = _clang_equalLocationsPtr
       .asFunction<int Function(CXSourceLocation, CXSourceLocation)>();
@@ -572,8 +582,8 @@
 
   late final _clang_getLocationPtr = _lookup<
       ffi.NativeFunction<
-          CXSourceLocation Function(CXTranslationUnit, CXFile, ffi.Uint32,
-              ffi.Uint32)>>('clang_getLocation');
+          CXSourceLocation Function(CXTranslationUnit, CXFile,
+              pkg_ffi.UnsignedInt, pkg_ffi.UnsignedInt)>>('clang_getLocation');
   late final _clang_getLocation = _clang_getLocationPtr.asFunction<
       CXSourceLocation Function(CXTranslationUnit, CXFile, int, int)>();
 
@@ -594,7 +604,7 @@
   late final _clang_getLocationForOffsetPtr = _lookup<
       ffi.NativeFunction<
           CXSourceLocation Function(CXTranslationUnit, CXFile,
-              ffi.Uint32)>>('clang_getLocationForOffset');
+              pkg_ffi.UnsignedInt)>>('clang_getLocationForOffset');
   late final _clang_getLocationForOffset = _clang_getLocationForOffsetPtr
       .asFunction<CXSourceLocation Function(CXTranslationUnit, CXFile, int)>();
 
@@ -608,7 +618,7 @@
   }
 
   late final _clang_Location_isInSystemHeaderPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXSourceLocation)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXSourceLocation)>>(
           'clang_Location_isInSystemHeader');
   late final _clang_Location_isInSystemHeader =
       _clang_Location_isInSystemHeaderPtr
@@ -625,7 +635,7 @@
   }
 
   late final _clang_Location_isFromMainFilePtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXSourceLocation)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXSourceLocation)>>(
           'clang_Location_isFromMainFile');
   late final _clang_Location_isFromMainFile = _clang_Location_isFromMainFilePtr
       .asFunction<int Function(CXSourceLocation)>();
@@ -672,7 +682,7 @@
 
   late final _clang_equalRangesPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Uint32 Function(
+          pkg_ffi.UnsignedInt Function(
               CXSourceRange, CXSourceRange)>>('clang_equalRanges');
   late final _clang_equalRanges = _clang_equalRangesPtr
       .asFunction<int Function(CXSourceRange, CXSourceRange)>();
@@ -687,7 +697,7 @@
   }
 
   late final _clang_Range_isNullPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXSourceRange)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXSourceRange)>>(
           'clang_Range_isNull');
   late final _clang_Range_isNull =
       _clang_Range_isNullPtr.asFunction<int Function(CXSourceRange)>();
@@ -697,9 +707,9 @@
   void clang_getExpansionLocation(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset,
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset,
   ) {
     return _clang_getExpansionLocation(
       location,
@@ -715,25 +725,25 @@
           ffi.Void Function(
               CXSourceLocation,
               ffi.Pointer<CXFile>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>)>>('clang_getExpansionLocation');
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>>('clang_getExpansionLocation');
   late final _clang_getExpansionLocation =
       _clang_getExpansionLocationPtr.asFunction<
           void Function(
               CXSourceLocation,
               ffi.Pointer<CXFile>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>)>();
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>();
 
   /// Retrieve the file, line and column represented by the given source
   /// location, as specified in a # line directive.
   void clang_getPresumedLocation(
     CXSourceLocation location,
     ffi.Pointer<CXString> filename,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
   ) {
     return _clang_getPresumedLocation(
       location,
@@ -748,21 +758,24 @@
           ffi.Void Function(
               CXSourceLocation,
               ffi.Pointer<CXString>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>)>>('clang_getPresumedLocation');
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>>('clang_getPresumedLocation');
   late final _clang_getPresumedLocation =
       _clang_getPresumedLocationPtr.asFunction<
-          void Function(CXSourceLocation, ffi.Pointer<CXString>,
-              ffi.Pointer<ffi.Uint32>, ffi.Pointer<ffi.Uint32>)>();
+          void Function(
+              CXSourceLocation,
+              ffi.Pointer<CXString>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>();
 
   /// Legacy API to retrieve the file, line, column, and offset represented by
   /// the given source location.
   void clang_getInstantiationLocation(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset,
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset,
   ) {
     return _clang_getInstantiationLocation(
       location,
@@ -774,30 +787,31 @@
   }
 
   late final _clang_getInstantiationLocationPtr = _lookup<
-      ffi.NativeFunction<
-          ffi.Void Function(
-              CXSourceLocation,
-              ffi.Pointer<CXFile>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>)>>('clang_getInstantiationLocation');
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  CXSourceLocation,
+                  ffi.Pointer<CXFile>,
+                  ffi.Pointer<pkg_ffi.UnsignedInt>,
+                  ffi.Pointer<pkg_ffi.UnsignedInt>,
+                  ffi.Pointer<pkg_ffi.UnsignedInt>)>>(
+      'clang_getInstantiationLocation');
   late final _clang_getInstantiationLocation =
       _clang_getInstantiationLocationPtr.asFunction<
           void Function(
               CXSourceLocation,
               ffi.Pointer<CXFile>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>)>();
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>();
 
   /// Retrieve the file, line, column, and offset represented by the given
   /// source location.
   void clang_getSpellingLocation(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset,
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset,
   ) {
     return _clang_getSpellingLocation(
       location,
@@ -813,26 +827,26 @@
           ffi.Void Function(
               CXSourceLocation,
               ffi.Pointer<CXFile>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>)>>('clang_getSpellingLocation');
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>>('clang_getSpellingLocation');
   late final _clang_getSpellingLocation =
       _clang_getSpellingLocationPtr.asFunction<
           void Function(
               CXSourceLocation,
               ffi.Pointer<CXFile>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>)>();
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>();
 
   /// Retrieve the file, line, column, and offset represented by the given
   /// source location.
   void clang_getFileLocation(
     CXSourceLocation location,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset,
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset,
   ) {
     return _clang_getFileLocation(
       location,
@@ -848,16 +862,16 @@
           ffi.Void Function(
               CXSourceLocation,
               ffi.Pointer<CXFile>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>)>>('clang_getFileLocation');
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>>('clang_getFileLocation');
   late final _clang_getFileLocation = _clang_getFileLocationPtr.asFunction<
       void Function(
           CXSourceLocation,
           ffi.Pointer<CXFile>,
-          ffi.Pointer<ffi.Uint32>,
-          ffi.Pointer<ffi.Uint32>,
-          ffi.Pointer<ffi.Uint32>)>();
+          ffi.Pointer<pkg_ffi.UnsignedInt>,
+          ffi.Pointer<pkg_ffi.UnsignedInt>,
+          ffi.Pointer<pkg_ffi.UnsignedInt>)>();
 
   /// Retrieve a source location representing the first character within a
   /// source range.
@@ -950,9 +964,9 @@
     );
   }
 
-  late final _clang_getNumDiagnosticsInSetPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXDiagnosticSet)>>(
-          'clang_getNumDiagnosticsInSet');
+  late final _clang_getNumDiagnosticsInSetPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXDiagnosticSet)>>(
+      'clang_getNumDiagnosticsInSet');
   late final _clang_getNumDiagnosticsInSet = _clang_getNumDiagnosticsInSetPtr
       .asFunction<int Function(CXDiagnosticSet)>();
 
@@ -969,14 +983,14 @@
 
   late final _clang_getDiagnosticInSetPtr = _lookup<
       ffi.NativeFunction<
-          CXDiagnostic Function(
-              CXDiagnosticSet, ffi.Uint32)>>('clang_getDiagnosticInSet');
+          CXDiagnostic Function(CXDiagnosticSet,
+              pkg_ffi.UnsignedInt)>>('clang_getDiagnosticInSet');
   late final _clang_getDiagnosticInSet = _clang_getDiagnosticInSetPtr
       .asFunction<CXDiagnostic Function(CXDiagnosticSet, int)>();
 
   /// Deserialize a set of diagnostics from a Clang diagnostics bitcode file.
   CXDiagnosticSet clang_loadDiagnostics(
-    ffi.Pointer<ffi.Int8> file,
+    ffi.Pointer<pkg_ffi.Char> file,
     ffi.Pointer<ffi.Int32> error,
     ffi.Pointer<CXString> errorString,
   ) {
@@ -990,12 +1004,12 @@
   late final _clang_loadDiagnosticsPtr = _lookup<
       ffi.NativeFunction<
           CXDiagnosticSet Function(
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<ffi.Int32>,
               ffi.Pointer<CXString>)>>('clang_loadDiagnostics');
   late final _clang_loadDiagnostics = _clang_loadDiagnosticsPtr.asFunction<
-      CXDiagnosticSet Function(ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int32>,
-          ffi.Pointer<CXString>)>();
+      CXDiagnosticSet Function(ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<ffi.Int32>, ffi.Pointer<CXString>)>();
 
   /// Release a CXDiagnosticSet and all of its contained diagnostics.
   void clang_disposeDiagnosticSet(
@@ -1037,9 +1051,9 @@
     );
   }
 
-  late final _clang_getNumDiagnosticsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXTranslationUnit)>>(
-          'clang_getNumDiagnostics');
+  late final _clang_getNumDiagnosticsPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXTranslationUnit)>>(
+      'clang_getNumDiagnostics');
   late final _clang_getNumDiagnostics =
       _clang_getNumDiagnosticsPtr.asFunction<int Function(CXTranslationUnit)>();
 
@@ -1057,7 +1071,7 @@
   late final _clang_getDiagnosticPtr = _lookup<
       ffi.NativeFunction<
           CXDiagnostic Function(
-              CXTranslationUnit, ffi.Uint32)>>('clang_getDiagnostic');
+              CXTranslationUnit, pkg_ffi.UnsignedInt)>>('clang_getDiagnostic');
   late final _clang_getDiagnostic = _clang_getDiagnosticPtr
       .asFunction<CXDiagnostic Function(CXTranslationUnit, int)>();
 
@@ -1103,9 +1117,10 @@
     );
   }
 
-  late final _clang_formatDiagnosticPtr =
-      _lookup<ffi.NativeFunction<CXString Function(CXDiagnostic, ffi.Uint32)>>(
-          'clang_formatDiagnostic');
+  late final _clang_formatDiagnosticPtr = _lookup<
+      ffi.NativeFunction<
+          CXString Function(
+              CXDiagnostic, pkg_ffi.UnsignedInt)>>('clang_formatDiagnostic');
   late final _clang_formatDiagnostic = _clang_formatDiagnosticPtr
       .asFunction<CXString Function(CXDiagnostic, int)>();
 
@@ -1116,7 +1131,7 @@
   }
 
   late final _clang_defaultDiagnosticDisplayOptionsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function()>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function()>>(
           'clang_defaultDiagnosticDisplayOptions');
   late final _clang_defaultDiagnosticDisplayOptions =
       _clang_defaultDiagnosticDisplayOptionsPtr.asFunction<int Function()>();
@@ -1194,7 +1209,7 @@
   }
 
   late final _clang_getDiagnosticCategoryPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXDiagnostic)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXDiagnostic)>>(
           'clang_getDiagnosticCategory');
   late final _clang_getDiagnosticCategory =
       _clang_getDiagnosticCategoryPtr.asFunction<int Function(CXDiagnostic)>();
@@ -1210,7 +1225,7 @@
   }
 
   late final _clang_getDiagnosticCategoryNamePtr =
-      _lookup<ffi.NativeFunction<CXString Function(ffi.Uint32)>>(
+      _lookup<ffi.NativeFunction<CXString Function(pkg_ffi.UnsignedInt)>>(
           'clang_getDiagnosticCategoryName');
   late final _clang_getDiagnosticCategoryName =
       _clang_getDiagnosticCategoryNamePtr.asFunction<CXString Function(int)>();
@@ -1242,7 +1257,7 @@
   }
 
   late final _clang_getDiagnosticNumRangesPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXDiagnostic)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXDiagnostic)>>(
           'clang_getDiagnosticNumRanges');
   late final _clang_getDiagnosticNumRanges =
       _clang_getDiagnosticNumRangesPtr.asFunction<int Function(CXDiagnostic)>();
@@ -1259,8 +1274,9 @@
   }
 
   late final _clang_getDiagnosticRangePtr = _lookup<
-          ffi.NativeFunction<CXSourceRange Function(CXDiagnostic, ffi.Uint32)>>(
-      'clang_getDiagnosticRange');
+      ffi.NativeFunction<
+          CXSourceRange Function(
+              CXDiagnostic, pkg_ffi.UnsignedInt)>>('clang_getDiagnosticRange');
   late final _clang_getDiagnosticRange = _clang_getDiagnosticRangePtr
       .asFunction<CXSourceRange Function(CXDiagnostic, int)>();
 
@@ -1274,7 +1290,7 @@
   }
 
   late final _clang_getDiagnosticNumFixItsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXDiagnostic)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXDiagnostic)>>(
           'clang_getDiagnosticNumFixIts');
   late final _clang_getDiagnosticNumFixIts =
       _clang_getDiagnosticNumFixItsPtr.asFunction<int Function(CXDiagnostic)>();
@@ -1294,7 +1310,7 @@
 
   late final _clang_getDiagnosticFixItPtr = _lookup<
       ffi.NativeFunction<
-          CXString Function(CXDiagnostic, ffi.Uint32,
+          CXString Function(CXDiagnostic, pkg_ffi.UnsignedInt,
               ffi.Pointer<CXSourceRange>)>>('clang_getDiagnosticFixIt');
   late final _clang_getDiagnosticFixIt =
       _clang_getDiagnosticFixItPtr.asFunction<
@@ -1320,9 +1336,9 @@
   /// command line arguments one would pass to the compiler.
   CXTranslationUnit clang_createTranslationUnitFromSourceFile(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
     int num_clang_command_line_args,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> clang_command_line_args,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> clang_command_line_args,
     int num_unsaved_files,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
   ) {
@@ -1340,19 +1356,19 @@
           ffi.NativeFunction<
               CXTranslationUnit Function(
                   CXIndex,
-                  ffi.Pointer<ffi.Int8>,
-                  ffi.Int32,
-                  ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-                  ffi.Uint32,
+                  ffi.Pointer<pkg_ffi.Char>,
+                  pkg_ffi.Int,
+                  ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+                  pkg_ffi.UnsignedInt,
                   ffi.Pointer<CXUnsavedFile>)>>(
       'clang_createTranslationUnitFromSourceFile');
   late final _clang_createTranslationUnitFromSourceFile =
       _clang_createTranslationUnitFromSourceFilePtr.asFunction<
           CXTranslationUnit Function(
               CXIndex,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               int,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
               int,
               ffi.Pointer<CXUnsavedFile>)>();
 
@@ -1361,7 +1377,7 @@
   /// CXTranslationUnit, without further detailed error codes.
   CXTranslationUnit clang_createTranslationUnit(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> ast_filename,
+    ffi.Pointer<pkg_ffi.Char> ast_filename,
   ) {
     return _clang_createTranslationUnit(
       CIdx,
@@ -1371,15 +1387,16 @@
 
   late final _clang_createTranslationUnitPtr = _lookup<
       ffi.NativeFunction<
-          CXTranslationUnit Function(
-              CXIndex, ffi.Pointer<ffi.Int8>)>>('clang_createTranslationUnit');
-  late final _clang_createTranslationUnit = _clang_createTranslationUnitPtr
-      .asFunction<CXTranslationUnit Function(CXIndex, ffi.Pointer<ffi.Int8>)>();
+          CXTranslationUnit Function(CXIndex,
+              ffi.Pointer<pkg_ffi.Char>)>>('clang_createTranslationUnit');
+  late final _clang_createTranslationUnit =
+      _clang_createTranslationUnitPtr.asFunction<
+          CXTranslationUnit Function(CXIndex, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// Create a translation unit from an AST file ( -emit-ast).
   int clang_createTranslationUnit2(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> ast_filename,
+    ffi.Pointer<pkg_ffi.Char> ast_filename,
     ffi.Pointer<CXTranslationUnit> out_TU,
   ) {
     return _clang_createTranslationUnit2(
@@ -1391,11 +1408,11 @@
 
   late final _clang_createTranslationUnit2Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(CXIndex, ffi.Pointer<ffi.Int8>,
+          ffi.Int32 Function(CXIndex, ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<CXTranslationUnit>)>>('clang_createTranslationUnit2');
   late final _clang_createTranslationUnit2 =
       _clang_createTranslationUnit2Ptr.asFunction<
-          int Function(CXIndex, ffi.Pointer<ffi.Int8>,
+          int Function(CXIndex, ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<CXTranslationUnit>)>();
 
   /// Returns the set of flags that is suitable for parsing a translation unit
@@ -1405,7 +1422,7 @@
   }
 
   late final _clang_defaultEditingTranslationUnitOptionsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function()>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function()>>(
           'clang_defaultEditingTranslationUnitOptions');
   late final _clang_defaultEditingTranslationUnitOptions =
       _clang_defaultEditingTranslationUnitOptionsPtr
@@ -1416,8 +1433,8 @@
   /// CXTranslationUnit, without further detailed error codes.
   CXTranslationUnit clang_parseTranslationUnit(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
@@ -1438,18 +1455,18 @@
       ffi.NativeFunction<
           CXTranslationUnit Function(
               CXIndex,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Int32,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              pkg_ffi.Int,
               ffi.Pointer<CXUnsavedFile>,
-              ffi.Uint32,
-              ffi.Uint32)>>('clang_parseTranslationUnit');
+              pkg_ffi.UnsignedInt,
+              pkg_ffi.UnsignedInt)>>('clang_parseTranslationUnit');
   late final _clang_parseTranslationUnit =
       _clang_parseTranslationUnitPtr.asFunction<
           CXTranslationUnit Function(
               CXIndex,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
               int,
               ffi.Pointer<CXUnsavedFile>,
               int,
@@ -1459,8 +1476,8 @@
   /// file.
   int clang_parseTranslationUnit2(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
@@ -1483,19 +1500,19 @@
       ffi.NativeFunction<
           ffi.Int32 Function(
               CXIndex,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Int32,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              pkg_ffi.Int,
               ffi.Pointer<CXUnsavedFile>,
-              ffi.Uint32,
-              ffi.Uint32,
+              pkg_ffi.UnsignedInt,
+              pkg_ffi.UnsignedInt,
               ffi.Pointer<CXTranslationUnit>)>>('clang_parseTranslationUnit2');
   late final _clang_parseTranslationUnit2 =
       _clang_parseTranslationUnit2Ptr.asFunction<
           int Function(
               CXIndex,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
               int,
               ffi.Pointer<CXUnsavedFile>,
               int,
@@ -1507,8 +1524,8 @@
   /// library paths are relative to the binary.
   int clang_parseTranslationUnit2FullArgv(
     CXIndex CIdx,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
@@ -1531,20 +1548,20 @@
           ffi.NativeFunction<
               ffi.Int32 Function(
                   CXIndex,
-                  ffi.Pointer<ffi.Int8>,
-                  ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-                  ffi.Int32,
+                  ffi.Pointer<pkg_ffi.Char>,
+                  ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+                  pkg_ffi.Int,
                   ffi.Pointer<CXUnsavedFile>,
-                  ffi.Uint32,
-                  ffi.Uint32,
+                  pkg_ffi.UnsignedInt,
+                  pkg_ffi.UnsignedInt,
                   ffi.Pointer<CXTranslationUnit>)>>(
       'clang_parseTranslationUnit2FullArgv');
   late final _clang_parseTranslationUnit2FullArgv =
       _clang_parseTranslationUnit2FullArgvPtr.asFunction<
           int Function(
               CXIndex,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
               int,
               ffi.Pointer<CXUnsavedFile>,
               int,
@@ -1560,9 +1577,9 @@
     );
   }
 
-  late final _clang_defaultSaveOptionsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXTranslationUnit)>>(
-          'clang_defaultSaveOptions');
+  late final _clang_defaultSaveOptionsPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXTranslationUnit)>>(
+      'clang_defaultSaveOptions');
   late final _clang_defaultSaveOptions = _clang_defaultSaveOptionsPtr
       .asFunction<int Function(CXTranslationUnit)>();
 
@@ -1570,7 +1587,7 @@
   /// translation unit on disk.
   int clang_saveTranslationUnit(
     CXTranslationUnit TU,
-    ffi.Pointer<ffi.Int8> FileName,
+    ffi.Pointer<pkg_ffi.Char> FileName,
     int options,
   ) {
     return _clang_saveTranslationUnit(
@@ -1582,11 +1599,11 @@
 
   late final _clang_saveTranslationUnitPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(CXTranslationUnit, ffi.Pointer<ffi.Int8>,
-              ffi.Uint32)>>('clang_saveTranslationUnit');
+          pkg_ffi.Int Function(CXTranslationUnit, ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.UnsignedInt)>>('clang_saveTranslationUnit');
   late final _clang_saveTranslationUnit =
       _clang_saveTranslationUnitPtr.asFunction<
-          int Function(CXTranslationUnit, ffi.Pointer<ffi.Int8>, int)>();
+          int Function(CXTranslationUnit, ffi.Pointer<pkg_ffi.Char>, int)>();
 
   /// Suspend a translation unit in order to free memory associated with it.
   int clang_suspendTranslationUnit(
@@ -1597,9 +1614,9 @@
     );
   }
 
-  late final _clang_suspendTranslationUnitPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXTranslationUnit)>>(
-          'clang_suspendTranslationUnit');
+  late final _clang_suspendTranslationUnitPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXTranslationUnit)>>(
+      'clang_suspendTranslationUnit');
   late final _clang_suspendTranslationUnit = _clang_suspendTranslationUnitPtr
       .asFunction<int Function(CXTranslationUnit)>();
 
@@ -1628,9 +1645,9 @@
     );
   }
 
-  late final _clang_defaultReparseOptionsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXTranslationUnit)>>(
-          'clang_defaultReparseOptions');
+  late final _clang_defaultReparseOptionsPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXTranslationUnit)>>(
+      'clang_defaultReparseOptions');
   late final _clang_defaultReparseOptions = _clang_defaultReparseOptionsPtr
       .asFunction<int Function(CXTranslationUnit)>();
 
@@ -1651,11 +1668,11 @@
 
   late final _clang_reparseTranslationUnitPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               CXTranslationUnit,
-              ffi.Uint32,
+              pkg_ffi.UnsignedInt,
               ffi.Pointer<CXUnsavedFile>,
-              ffi.Uint32)>>('clang_reparseTranslationUnit');
+              pkg_ffi.UnsignedInt)>>('clang_reparseTranslationUnit');
   late final _clang_reparseTranslationUnit =
       _clang_reparseTranslationUnitPtr.asFunction<
           int Function(
@@ -1663,7 +1680,7 @@
 
   /// Returns the human-readable null-terminated C string that represents the
   /// name of the memory category. This string should never be freed.
-  ffi.Pointer<ffi.Int8> clang_getTUResourceUsageName(
+  ffi.Pointer<pkg_ffi.Char> clang_getTUResourceUsageName(
     int kind,
   ) {
     return _clang_getTUResourceUsageName(
@@ -1671,11 +1688,11 @@
     );
   }
 
-  late final _clang_getTUResourceUsageNamePtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Int8> Function(ffi.Int32)>>(
-          'clang_getTUResourceUsageName');
+  late final _clang_getTUResourceUsageNamePtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<pkg_ffi.Char> Function(ffi.Int32)>>(
+      'clang_getTUResourceUsageName');
   late final _clang_getTUResourceUsageName = _clang_getTUResourceUsageNamePtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(int)>();
+      .asFunction<ffi.Pointer<pkg_ffi.Char> Function(int)>();
 
   /// Return the memory usage of a translation unit. This object should be
   /// released with clang_disposeCXTUResourceUsage().
@@ -1764,7 +1781,7 @@
   }
 
   late final _clang_TargetInfo_getPointerWidthPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXTargetInfo)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXTargetInfo)>>(
           'clang_TargetInfo_getPointerWidth');
   late final _clang_TargetInfo_getPointerWidth =
       _clang_TargetInfo_getPointerWidthPtr
@@ -1807,9 +1824,9 @@
     );
   }
 
-  late final _clang_equalCursorsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor, CXCursor)>>(
-          'clang_equalCursors');
+  late final _clang_equalCursorsPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor, CXCursor)>>(
+      'clang_equalCursors');
   late final _clang_equalCursors =
       _clang_equalCursorsPtr.asFunction<int Function(CXCursor, CXCursor)>();
 
@@ -1823,7 +1840,7 @@
   }
 
   late final _clang_Cursor_isNullPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXCursor)>>(
           'clang_Cursor_isNull');
   late final _clang_Cursor_isNull =
       _clang_Cursor_isNullPtr.asFunction<int Function(CXCursor)>();
@@ -1838,7 +1855,7 @@
   }
 
   late final _clang_hashCursorPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_hashCursor');
   late final _clang_hashCursor =
       _clang_hashCursorPtr.asFunction<int Function(CXCursor)>();
@@ -1868,7 +1885,7 @@
   }
 
   late final _clang_isDeclarationPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(ffi.Int32)>>(
           'clang_isDeclaration');
   late final _clang_isDeclaration =
       _clang_isDeclarationPtr.asFunction<int Function(int)>();
@@ -1883,7 +1900,7 @@
   }
 
   late final _clang_isInvalidDeclarationPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_isInvalidDeclaration');
   late final _clang_isInvalidDeclaration =
       _clang_isInvalidDeclarationPtr.asFunction<int Function(CXCursor)>();
@@ -1898,7 +1915,7 @@
   }
 
   late final _clang_isReferencePtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(ffi.Int32)>>(
           'clang_isReference');
   late final _clang_isReference =
       _clang_isReferencePtr.asFunction<int Function(int)>();
@@ -1913,7 +1930,7 @@
   }
 
   late final _clang_isExpressionPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(ffi.Int32)>>(
           'clang_isExpression');
   late final _clang_isExpression =
       _clang_isExpressionPtr.asFunction<int Function(int)>();
@@ -1928,7 +1945,7 @@
   }
 
   late final _clang_isStatementPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(ffi.Int32)>>(
           'clang_isStatement');
   late final _clang_isStatement =
       _clang_isStatementPtr.asFunction<int Function(int)>();
@@ -1943,7 +1960,7 @@
   }
 
   late final _clang_isAttributePtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(ffi.Int32)>>(
           'clang_isAttribute');
   late final _clang_isAttribute =
       _clang_isAttributePtr.asFunction<int Function(int)>();
@@ -1958,7 +1975,7 @@
   }
 
   late final _clang_Cursor_hasAttrsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_hasAttrs');
   late final _clang_Cursor_hasAttrs =
       _clang_Cursor_hasAttrsPtr.asFunction<int Function(CXCursor)>();
@@ -1973,7 +1990,7 @@
   }
 
   late final _clang_isInvalidPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(ffi.Int32)>>(
           'clang_isInvalid');
   late final _clang_isInvalid =
       _clang_isInvalidPtr.asFunction<int Function(int)>();
@@ -1988,7 +2005,7 @@
   }
 
   late final _clang_isTranslationUnitPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(ffi.Int32)>>(
           'clang_isTranslationUnit');
   late final _clang_isTranslationUnit =
       _clang_isTranslationUnitPtr.asFunction<int Function(int)>();
@@ -2004,7 +2021,7 @@
   }
 
   late final _clang_isPreprocessingPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(ffi.Int32)>>(
           'clang_isPreprocessing');
   late final _clang_isPreprocessing =
       _clang_isPreprocessingPtr.asFunction<int Function(int)>();
@@ -2020,7 +2037,7 @@
   }
 
   late final _clang_isUnexposedPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(ffi.Int32)>>(
           'clang_isUnexposed');
   late final _clang_isUnexposed =
       _clang_isUnexposedPtr.asFunction<int Function(int)>();
@@ -2075,9 +2092,9 @@
   /// platforms for which availability information is known.
   int clang_getCursorPlatformAvailability(
     CXCursor cursor,
-    ffi.Pointer<ffi.Int32> always_deprecated,
+    ffi.Pointer<pkg_ffi.Int> always_deprecated,
     ffi.Pointer<CXString> deprecated_message,
-    ffi.Pointer<ffi.Int32> always_unavailable,
+    ffi.Pointer<pkg_ffi.Int> always_unavailable,
     ffi.Pointer<CXString> unavailable_message,
     ffi.Pointer<CXPlatformAvailability> availability,
     int availability_size,
@@ -2095,21 +2112,21 @@
 
   late final _clang_getCursorPlatformAvailabilityPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               CXCursor,
-              ffi.Pointer<ffi.Int32>,
+              ffi.Pointer<pkg_ffi.Int>,
               ffi.Pointer<CXString>,
-              ffi.Pointer<ffi.Int32>,
+              ffi.Pointer<pkg_ffi.Int>,
               ffi.Pointer<CXString>,
               ffi.Pointer<CXPlatformAvailability>,
-              ffi.Int32)>>('clang_getCursorPlatformAvailability');
+              pkg_ffi.Int)>>('clang_getCursorPlatformAvailability');
   late final _clang_getCursorPlatformAvailability =
       _clang_getCursorPlatformAvailabilityPtr.asFunction<
           int Function(
               CXCursor,
-              ffi.Pointer<ffi.Int32>,
+              ffi.Pointer<pkg_ffi.Int>,
               ffi.Pointer<CXString>,
-              ffi.Pointer<ffi.Int32>,
+              ffi.Pointer<pkg_ffi.Int>,
               ffi.Pointer<CXString>,
               ffi.Pointer<CXPlatformAvailability>,
               int)>();
@@ -2215,9 +2232,10 @@
     );
   }
 
-  late final _clang_CXCursorSet_containsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursorSet, CXCursor)>>(
-          'clang_CXCursorSet_contains');
+  late final _clang_CXCursorSet_containsPtr = _lookup<
+      ffi.NativeFunction<
+          pkg_ffi.UnsignedInt Function(
+              CXCursorSet, CXCursor)>>('clang_CXCursorSet_contains');
   late final _clang_CXCursorSet_contains = _clang_CXCursorSet_containsPtr
       .asFunction<int Function(CXCursorSet, CXCursor)>();
 
@@ -2232,9 +2250,10 @@
     );
   }
 
-  late final _clang_CXCursorSet_insertPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursorSet, CXCursor)>>(
-          'clang_CXCursorSet_insert');
+  late final _clang_CXCursorSet_insertPtr = _lookup<
+      ffi.NativeFunction<
+          pkg_ffi.UnsignedInt Function(
+              CXCursorSet, CXCursor)>>('clang_CXCursorSet_insert');
   late final _clang_CXCursorSet_insert = _clang_CXCursorSet_insertPtr
       .asFunction<int Function(CXCursorSet, CXCursor)>();
 
@@ -2272,7 +2291,7 @@
   void clang_getOverriddenCursors(
     CXCursor cursor,
     ffi.Pointer<ffi.Pointer<CXCursor>> overridden,
-    ffi.Pointer<ffi.Uint32> num_overridden,
+    ffi.Pointer<pkg_ffi.UnsignedInt> num_overridden,
   ) {
     return _clang_getOverriddenCursors(
       cursor,
@@ -2284,11 +2303,11 @@
   late final _clang_getOverriddenCursorsPtr = _lookup<
       ffi.NativeFunction<
           ffi.Void Function(CXCursor, ffi.Pointer<ffi.Pointer<CXCursor>>,
-              ffi.Pointer<ffi.Uint32>)>>('clang_getOverriddenCursors');
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>>('clang_getOverriddenCursors');
   late final _clang_getOverriddenCursors =
       _clang_getOverriddenCursorsPtr.asFunction<
           void Function(CXCursor, ffi.Pointer<ffi.Pointer<CXCursor>>,
-              ffi.Pointer<ffi.Uint32>)>();
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>();
 
   /// Free the set of overridden cursors returned by
   /// clang_getOverriddenCursors().
@@ -2447,7 +2466,7 @@
   }
 
   late final _clang_getEnumConstantDeclValuePtr =
-      _lookup<ffi.NativeFunction<ffi.Int64 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.LongLong Function(CXCursor)>>(
           'clang_getEnumConstantDeclValue');
   late final _clang_getEnumConstantDeclValue =
       _clang_getEnumConstantDeclValuePtr.asFunction<int Function(CXCursor)>();
@@ -2463,7 +2482,7 @@
   }
 
   late final _clang_getEnumConstantDeclUnsignedValuePtr =
-      _lookup<ffi.NativeFunction<ffi.Uint64 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedLongLong Function(CXCursor)>>(
           'clang_getEnumConstantDeclUnsignedValue');
   late final _clang_getEnumConstantDeclUnsignedValue =
       _clang_getEnumConstantDeclUnsignedValuePtr
@@ -2479,7 +2498,7 @@
   }
 
   late final _clang_getFieldDeclBitWidthPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXCursor)>>(
           'clang_getFieldDeclBitWidth');
   late final _clang_getFieldDeclBitWidth =
       _clang_getFieldDeclBitWidthPtr.asFunction<int Function(CXCursor)>();
@@ -2495,7 +2514,7 @@
   }
 
   late final _clang_Cursor_getNumArgumentsPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXCursor)>>(
           'clang_Cursor_getNumArguments');
   late final _clang_Cursor_getNumArguments =
       _clang_Cursor_getNumArgumentsPtr.asFunction<int Function(CXCursor)>();
@@ -2511,9 +2530,9 @@
     );
   }
 
-  late final _clang_Cursor_getArgumentPtr =
-      _lookup<ffi.NativeFunction<CXCursor Function(CXCursor, ffi.Uint32)>>(
-          'clang_Cursor_getArgument');
+  late final _clang_Cursor_getArgumentPtr = _lookup<
+          ffi.NativeFunction<CXCursor Function(CXCursor, pkg_ffi.UnsignedInt)>>(
+      'clang_Cursor_getArgument');
   late final _clang_Cursor_getArgument = _clang_Cursor_getArgumentPtr
       .asFunction<CXCursor Function(CXCursor, int)>();
 
@@ -2528,7 +2547,7 @@
   }
 
   late final _clang_Cursor_getNumTemplateArgumentsPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXCursor)>>(
           'clang_Cursor_getNumTemplateArguments');
   late final _clang_Cursor_getNumTemplateArguments =
       _clang_Cursor_getNumTemplateArgumentsPtr
@@ -2545,9 +2564,10 @@
     );
   }
 
-  late final _clang_Cursor_getTemplateArgumentKindPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXCursor, ffi.Uint32)>>(
-          'clang_Cursor_getTemplateArgumentKind');
+  late final _clang_Cursor_getTemplateArgumentKindPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(CXCursor,
+              pkg_ffi.UnsignedInt)>>('clang_Cursor_getTemplateArgumentKind');
   late final _clang_Cursor_getTemplateArgumentKind =
       _clang_Cursor_getTemplateArgumentKindPtr
           .asFunction<int Function(CXCursor, int)>();
@@ -2564,9 +2584,9 @@
     );
   }
 
-  late final _clang_Cursor_getTemplateArgumentTypePtr =
-      _lookup<ffi.NativeFunction<CXType Function(CXCursor, ffi.Uint32)>>(
-          'clang_Cursor_getTemplateArgumentType');
+  late final _clang_Cursor_getTemplateArgumentTypePtr = _lookup<
+          ffi.NativeFunction<CXType Function(CXCursor, pkg_ffi.UnsignedInt)>>(
+      'clang_Cursor_getTemplateArgumentType');
   late final _clang_Cursor_getTemplateArgumentType =
       _clang_Cursor_getTemplateArgumentTypePtr
           .asFunction<CXType Function(CXCursor, int)>();
@@ -2583,9 +2603,10 @@
     );
   }
 
-  late final _clang_Cursor_getTemplateArgumentValuePtr =
-      _lookup<ffi.NativeFunction<ffi.Int64 Function(CXCursor, ffi.Uint32)>>(
-          'clang_Cursor_getTemplateArgumentValue');
+  late final _clang_Cursor_getTemplateArgumentValuePtr = _lookup<
+      ffi.NativeFunction<
+          pkg_ffi.LongLong Function(CXCursor,
+              pkg_ffi.UnsignedInt)>>('clang_Cursor_getTemplateArgumentValue');
   late final _clang_Cursor_getTemplateArgumentValue =
       _clang_Cursor_getTemplateArgumentValuePtr
           .asFunction<int Function(CXCursor, int)>();
@@ -2602,9 +2623,11 @@
     );
   }
 
-  late final _clang_Cursor_getTemplateArgumentUnsignedValuePtr =
-      _lookup<ffi.NativeFunction<ffi.Uint64 Function(CXCursor, ffi.Uint32)>>(
-          'clang_Cursor_getTemplateArgumentUnsignedValue');
+  late final _clang_Cursor_getTemplateArgumentUnsignedValuePtr = _lookup<
+          ffi.NativeFunction<
+              pkg_ffi.UnsignedLongLong Function(
+                  CXCursor, pkg_ffi.UnsignedInt)>>(
+      'clang_Cursor_getTemplateArgumentUnsignedValue');
   late final _clang_Cursor_getTemplateArgumentUnsignedValue =
       _clang_Cursor_getTemplateArgumentUnsignedValuePtr
           .asFunction<int Function(CXCursor, int)>();
@@ -2621,7 +2644,7 @@
   }
 
   late final _clang_equalTypesPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXType, CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXType, CXType)>>(
           'clang_equalTypes');
   late final _clang_equalTypes =
       _clang_equalTypesPtr.asFunction<int Function(CXType, CXType)>();
@@ -2652,7 +2675,7 @@
   }
 
   late final _clang_isConstQualifiedTypePtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXType)>>(
           'clang_isConstQualifiedType');
   late final _clang_isConstQualifiedType =
       _clang_isConstQualifiedTypePtr.asFunction<int Function(CXType)>();
@@ -2667,7 +2690,7 @@
   }
 
   late final _clang_Cursor_isMacroFunctionLikePtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_isMacroFunctionLike');
   late final _clang_Cursor_isMacroFunctionLike =
       _clang_Cursor_isMacroFunctionLikePtr.asFunction<int Function(CXCursor)>();
@@ -2682,7 +2705,7 @@
   }
 
   late final _clang_Cursor_isMacroBuiltinPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_isMacroBuiltin');
   late final _clang_Cursor_isMacroBuiltin =
       _clang_Cursor_isMacroBuiltinPtr.asFunction<int Function(CXCursor)>();
@@ -2698,7 +2721,7 @@
   }
 
   late final _clang_Cursor_isFunctionInlinedPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_isFunctionInlined');
   late final _clang_Cursor_isFunctionInlined =
       _clang_Cursor_isFunctionInlinedPtr.asFunction<int Function(CXCursor)>();
@@ -2715,7 +2738,7 @@
   }
 
   late final _clang_isVolatileQualifiedTypePtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXType)>>(
           'clang_isVolatileQualifiedType');
   late final _clang_isVolatileQualifiedType =
       _clang_isVolatileQualifiedTypePtr.asFunction<int Function(CXType)>();
@@ -2732,7 +2755,7 @@
   }
 
   late final _clang_isRestrictQualifiedTypePtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXType)>>(
           'clang_isRestrictQualifiedType');
   late final _clang_isRestrictQualifiedType =
       _clang_isRestrictQualifiedTypePtr.asFunction<int Function(CXType)>();
@@ -2747,7 +2770,7 @@
   }
 
   late final _clang_getAddressSpacePtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXType)>>(
           'clang_getAddressSpace');
   late final _clang_getAddressSpace =
       _clang_getAddressSpacePtr.asFunction<int Function(CXType)>();
@@ -2883,7 +2906,7 @@
   }
 
   late final _clang_getExceptionSpecificationTypePtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXType)>>(
           'clang_getExceptionSpecificationType');
   late final _clang_getExceptionSpecificationType =
       _clang_getExceptionSpecificationTypePtr
@@ -2900,7 +2923,7 @@
   }
 
   late final _clang_getNumArgTypesPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXType)>>(
           'clang_getNumArgTypes');
   late final _clang_getNumArgTypes =
       _clang_getNumArgTypesPtr.asFunction<int Function(CXType)>();
@@ -2917,7 +2940,7 @@
   }
 
   late final _clang_getArgTypePtr =
-      _lookup<ffi.NativeFunction<CXType Function(CXType, ffi.Uint32)>>(
+      _lookup<ffi.NativeFunction<CXType Function(CXType, pkg_ffi.UnsignedInt)>>(
           'clang_getArgType');
   late final _clang_getArgType =
       _clang_getArgTypePtr.asFunction<CXType Function(CXType, int)>();
@@ -2949,7 +2972,7 @@
   }
 
   late final _clang_Type_getNumObjCProtocolRefsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXType)>>(
           'clang_Type_getNumObjCProtocolRefs');
   late final _clang_Type_getNumObjCProtocolRefs =
       _clang_Type_getNumObjCProtocolRefsPtr.asFunction<int Function(CXType)>();
@@ -2965,9 +2988,9 @@
     );
   }
 
-  late final _clang_Type_getObjCProtocolDeclPtr =
-      _lookup<ffi.NativeFunction<CXCursor Function(CXType, ffi.Uint32)>>(
-          'clang_Type_getObjCProtocolDecl');
+  late final _clang_Type_getObjCProtocolDeclPtr = _lookup<
+          ffi.NativeFunction<CXCursor Function(CXType, pkg_ffi.UnsignedInt)>>(
+      'clang_Type_getObjCProtocolDecl');
   late final _clang_Type_getObjCProtocolDecl =
       _clang_Type_getObjCProtocolDeclPtr
           .asFunction<CXCursor Function(CXType, int)>();
@@ -2982,7 +3005,7 @@
   }
 
   late final _clang_Type_getNumObjCTypeArgsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXType)>>(
           'clang_Type_getNumObjCTypeArgs');
   late final _clang_Type_getNumObjCTypeArgs =
       _clang_Type_getNumObjCTypeArgsPtr.asFunction<int Function(CXType)>();
@@ -2999,7 +3022,7 @@
   }
 
   late final _clang_Type_getObjCTypeArgPtr =
-      _lookup<ffi.NativeFunction<CXType Function(CXType, ffi.Uint32)>>(
+      _lookup<ffi.NativeFunction<CXType Function(CXType, pkg_ffi.UnsignedInt)>>(
           'clang_Type_getObjCTypeArg');
   late final _clang_Type_getObjCTypeArg =
       _clang_Type_getObjCTypeArgPtr.asFunction<CXType Function(CXType, int)>();
@@ -3014,7 +3037,7 @@
   }
 
   late final _clang_isFunctionTypeVariadicPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXType)>>(
           'clang_isFunctionTypeVariadic');
   late final _clang_isFunctionTypeVariadic =
       _clang_isFunctionTypeVariadicPtr.asFunction<int Function(CXType)>();
@@ -3045,7 +3068,7 @@
   }
 
   late final _clang_getCursorExceptionSpecificationTypePtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXCursor)>>(
           'clang_getCursorExceptionSpecificationType');
   late final _clang_getCursorExceptionSpecificationType =
       _clang_getCursorExceptionSpecificationTypePtr
@@ -3061,7 +3084,7 @@
   }
 
   late final _clang_isPODTypePtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXType)>>(
           'clang_isPODType');
   late final _clang_isPODType =
       _clang_isPODTypePtr.asFunction<int Function(CXType)>();
@@ -3091,7 +3114,7 @@
   }
 
   late final _clang_getNumElementsPtr =
-      _lookup<ffi.NativeFunction<ffi.Int64 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.LongLong Function(CXType)>>(
           'clang_getNumElements');
   late final _clang_getNumElements =
       _clang_getNumElementsPtr.asFunction<int Function(CXType)>();
@@ -3121,7 +3144,7 @@
   }
 
   late final _clang_getArraySizePtr =
-      _lookup<ffi.NativeFunction<ffi.Int64 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.LongLong Function(CXType)>>(
           'clang_getArraySize');
   late final _clang_getArraySize =
       _clang_getArraySizePtr.asFunction<int Function(CXType)>();
@@ -3151,7 +3174,7 @@
   }
 
   late final _clang_Type_isTransparentTagTypedefPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXType)>>(
           'clang_Type_isTransparentTagTypedef');
   late final _clang_Type_isTransparentTagTypedef =
       _clang_Type_isTransparentTagTypedefPtr.asFunction<int Function(CXType)>();
@@ -3181,7 +3204,7 @@
   }
 
   late final _clang_Type_getAlignOfPtr =
-      _lookup<ffi.NativeFunction<ffi.Int64 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.LongLong Function(CXType)>>(
           'clang_Type_getAlignOf');
   late final _clang_Type_getAlignOf =
       _clang_Type_getAlignOfPtr.asFunction<int Function(CXType)>();
@@ -3211,7 +3234,7 @@
   }
 
   late final _clang_Type_getSizeOfPtr =
-      _lookup<ffi.NativeFunction<ffi.Int64 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.LongLong Function(CXType)>>(
           'clang_Type_getSizeOf');
   late final _clang_Type_getSizeOf =
       _clang_Type_getSizeOfPtr.asFunction<int Function(CXType)>();
@@ -3220,7 +3243,7 @@
   /// would be returned by __offsetof__ as per C++11[18.2p4]
   int clang_Type_getOffsetOf(
     CXType T,
-    ffi.Pointer<ffi.Int8> S,
+    ffi.Pointer<pkg_ffi.Char> S,
   ) {
     return _clang_Type_getOffsetOf(
       T,
@@ -3230,10 +3253,10 @@
 
   late final _clang_Type_getOffsetOfPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int64 Function(
-              CXType, ffi.Pointer<ffi.Int8>)>>('clang_Type_getOffsetOf');
+          pkg_ffi.LongLong Function(
+              CXType, ffi.Pointer<pkg_ffi.Char>)>>('clang_Type_getOffsetOf');
   late final _clang_Type_getOffsetOf = _clang_Type_getOffsetOfPtr
-      .asFunction<int Function(CXType, ffi.Pointer<ffi.Int8>)>();
+      .asFunction<int Function(CXType, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// Return the type that was modified by this attributed type.
   CXType clang_Type_getModifiedType(
@@ -3260,7 +3283,7 @@
   }
 
   late final _clang_Cursor_getOffsetOfFieldPtr =
-      _lookup<ffi.NativeFunction<ffi.Int64 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.LongLong Function(CXCursor)>>(
           'clang_Cursor_getOffsetOfField');
   late final _clang_Cursor_getOffsetOfField =
       _clang_Cursor_getOffsetOfFieldPtr.asFunction<int Function(CXCursor)>();
@@ -3276,7 +3299,7 @@
   }
 
   late final _clang_Cursor_isAnonymousPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_isAnonymous');
   late final _clang_Cursor_isAnonymous =
       _clang_Cursor_isAnonymousPtr.asFunction<int Function(CXCursor)>();
@@ -3292,7 +3315,7 @@
   }
 
   late final _clang_Cursor_isAnonymousRecordDeclPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_isAnonymousRecordDecl');
   late final _clang_Cursor_isAnonymousRecordDecl =
       _clang_Cursor_isAnonymousRecordDeclPtr
@@ -3309,7 +3332,7 @@
   }
 
   late final _clang_Cursor_isInlineNamespacePtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_isInlineNamespace');
   late final _clang_Cursor_isInlineNamespace =
       _clang_Cursor_isInlineNamespacePtr.asFunction<int Function(CXCursor)>();
@@ -3325,7 +3348,7 @@
   }
 
   late final _clang_Type_getNumTemplateArgumentsPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXType)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXType)>>(
           'clang_Type_getNumTemplateArguments');
   late final _clang_Type_getNumTemplateArguments =
       _clang_Type_getNumTemplateArgumentsPtr.asFunction<int Function(CXType)>();
@@ -3343,7 +3366,7 @@
   }
 
   late final _clang_Type_getTemplateArgumentAsTypePtr =
-      _lookup<ffi.NativeFunction<CXType Function(CXType, ffi.Uint32)>>(
+      _lookup<ffi.NativeFunction<CXType Function(CXType, pkg_ffi.UnsignedInt)>>(
           'clang_Type_getTemplateArgumentAsType');
   late final _clang_Type_getTemplateArgumentAsType =
       _clang_Type_getTemplateArgumentAsTypePtr
@@ -3375,7 +3398,7 @@
   }
 
   late final _clang_Cursor_isBitFieldPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_isBitField');
   late final _clang_Cursor_isBitField =
       _clang_Cursor_isBitFieldPtr.asFunction<int Function(CXCursor)>();
@@ -3391,7 +3414,7 @@
   }
 
   late final _clang_isVirtualBasePtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_isVirtualBase');
   late final _clang_isVirtualBase =
       _clang_isVirtualBasePtr.asFunction<int Function(CXCursor)>();
@@ -3437,7 +3460,7 @@
   }
 
   late final _clang_getNumOverloadedDeclsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_getNumOverloadedDecls');
   late final _clang_getNumOverloadedDecls =
       _clang_getNumOverloadedDeclsPtr.asFunction<int Function(CXCursor)>();
@@ -3454,9 +3477,9 @@
     );
   }
 
-  late final _clang_getOverloadedDeclPtr =
-      _lookup<ffi.NativeFunction<CXCursor Function(CXCursor, ffi.Uint32)>>(
-          'clang_getOverloadedDecl');
+  late final _clang_getOverloadedDeclPtr = _lookup<
+          ffi.NativeFunction<CXCursor Function(CXCursor, pkg_ffi.UnsignedInt)>>(
+      'clang_getOverloadedDecl');
   late final _clang_getOverloadedDecl = _clang_getOverloadedDeclPtr
       .asFunction<CXCursor Function(CXCursor, int)>();
 
@@ -3492,7 +3515,7 @@
 
   late final _clang_visitChildrenPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Uint32 Function(
+          pkg_ffi.UnsignedInt Function(
               CXCursor, CXCursorVisitor, CXClientData)>>('clang_visitChildren');
   late final _clang_visitChildren = _clang_visitChildrenPtr
       .asFunction<int Function(CXCursor, CXCursorVisitor, CXClientData)>();
@@ -3515,7 +3538,7 @@
 
   /// Construct a USR for a specified Objective-C class.
   CXString clang_constructUSR_ObjCClass(
-    ffi.Pointer<ffi.Int8> class_name,
+    ffi.Pointer<pkg_ffi.Char> class_name,
   ) {
     return _clang_constructUSR_ObjCClass(
       class_name,
@@ -3523,15 +3546,15 @@
   }
 
   late final _clang_constructUSR_ObjCClassPtr =
-      _lookup<ffi.NativeFunction<CXString Function(ffi.Pointer<ffi.Int8>)>>(
+      _lookup<ffi.NativeFunction<CXString Function(ffi.Pointer<pkg_ffi.Char>)>>(
           'clang_constructUSR_ObjCClass');
   late final _clang_constructUSR_ObjCClass = _clang_constructUSR_ObjCClassPtr
-      .asFunction<CXString Function(ffi.Pointer<ffi.Int8>)>();
+      .asFunction<CXString Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   /// Construct a USR for a specified Objective-C category.
   CXString clang_constructUSR_ObjCCategory(
-    ffi.Pointer<ffi.Int8> class_name,
-    ffi.Pointer<ffi.Int8> category_name,
+    ffi.Pointer<pkg_ffi.Char> class_name,
+    ffi.Pointer<pkg_ffi.Char> category_name,
   ) {
     return _clang_constructUSR_ObjCCategory(
       class_name,
@@ -3541,15 +3564,16 @@
 
   late final _clang_constructUSR_ObjCCategoryPtr = _lookup<
       ffi.NativeFunction<
-          CXString Function(ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>)>>('clang_constructUSR_ObjCCategory');
+          CXString Function(ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>)>>('clang_constructUSR_ObjCCategory');
   late final _clang_constructUSR_ObjCCategory =
       _clang_constructUSR_ObjCCategoryPtr.asFunction<
-          CXString Function(ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>)>();
+          CXString Function(
+              ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// Construct a USR for a specified Objective-C protocol.
   CXString clang_constructUSR_ObjCProtocol(
-    ffi.Pointer<ffi.Int8> protocol_name,
+    ffi.Pointer<pkg_ffi.Char> protocol_name,
   ) {
     return _clang_constructUSR_ObjCProtocol(
       protocol_name,
@@ -3557,16 +3581,16 @@
   }
 
   late final _clang_constructUSR_ObjCProtocolPtr =
-      _lookup<ffi.NativeFunction<CXString Function(ffi.Pointer<ffi.Int8>)>>(
+      _lookup<ffi.NativeFunction<CXString Function(ffi.Pointer<pkg_ffi.Char>)>>(
           'clang_constructUSR_ObjCProtocol');
   late final _clang_constructUSR_ObjCProtocol =
       _clang_constructUSR_ObjCProtocolPtr
-          .asFunction<CXString Function(ffi.Pointer<ffi.Int8>)>();
+          .asFunction<CXString Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   /// Construct a USR for a specified Objective-C instance variable and the USR
   /// for its containing class.
   CXString clang_constructUSR_ObjCIvar(
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
     CXString classUSR,
   ) {
     return _clang_constructUSR_ObjCIvar(
@@ -3577,15 +3601,15 @@
 
   late final _clang_constructUSR_ObjCIvarPtr = _lookup<
       ffi.NativeFunction<
-          CXString Function(
-              ffi.Pointer<ffi.Int8>, CXString)>>('clang_constructUSR_ObjCIvar');
+          CXString Function(ffi.Pointer<pkg_ffi.Char>,
+              CXString)>>('clang_constructUSR_ObjCIvar');
   late final _clang_constructUSR_ObjCIvar = _clang_constructUSR_ObjCIvarPtr
-      .asFunction<CXString Function(ffi.Pointer<ffi.Int8>, CXString)>();
+      .asFunction<CXString Function(ffi.Pointer<pkg_ffi.Char>, CXString)>();
 
   /// Construct a USR for a specified Objective-C method and the USR for its
   /// containing class.
   CXString clang_constructUSR_ObjCMethod(
-    ffi.Pointer<ffi.Int8> name,
+    ffi.Pointer<pkg_ffi.Char> name,
     int isInstanceMethod,
     CXString classUSR,
   ) {
@@ -3598,15 +3622,16 @@
 
   late final _clang_constructUSR_ObjCMethodPtr = _lookup<
       ffi.NativeFunction<
-          CXString Function(ffi.Pointer<ffi.Int8>, ffi.Uint32,
+          CXString Function(ffi.Pointer<pkg_ffi.Char>, pkg_ffi.UnsignedInt,
               CXString)>>('clang_constructUSR_ObjCMethod');
-  late final _clang_constructUSR_ObjCMethod = _clang_constructUSR_ObjCMethodPtr
-      .asFunction<CXString Function(ffi.Pointer<ffi.Int8>, int, CXString)>();
+  late final _clang_constructUSR_ObjCMethod =
+      _clang_constructUSR_ObjCMethodPtr.asFunction<
+          CXString Function(ffi.Pointer<pkg_ffi.Char>, int, CXString)>();
 
   /// Construct a USR for a specified Objective-C property and the USR for its
   /// containing class.
   CXString clang_constructUSR_ObjCProperty(
-    ffi.Pointer<ffi.Int8> property,
+    ffi.Pointer<pkg_ffi.Char> property,
     CXString classUSR,
   ) {
     return _clang_constructUSR_ObjCProperty(
@@ -3617,11 +3642,11 @@
 
   late final _clang_constructUSR_ObjCPropertyPtr = _lookup<
       ffi.NativeFunction<
-          CXString Function(ffi.Pointer<ffi.Int8>,
+          CXString Function(ffi.Pointer<pkg_ffi.Char>,
               CXString)>>('clang_constructUSR_ObjCProperty');
   late final _clang_constructUSR_ObjCProperty =
       _clang_constructUSR_ObjCPropertyPtr
-          .asFunction<CXString Function(ffi.Pointer<ffi.Int8>, CXString)>();
+          .asFunction<CXString Function(ffi.Pointer<pkg_ffi.Char>, CXString)>();
 
   /// Retrieve a name for the entity referenced by this cursor.
   CXString clang_getCursorSpelling(
@@ -3656,8 +3681,8 @@
 
   late final _clang_Cursor_getSpellingNameRangePtr = _lookup<
       ffi.NativeFunction<
-          CXSourceRange Function(CXCursor, ffi.Uint32,
-              ffi.Uint32)>>('clang_Cursor_getSpellingNameRange');
+          CXSourceRange Function(CXCursor, pkg_ffi.UnsignedInt,
+              pkg_ffi.UnsignedInt)>>('clang_Cursor_getSpellingNameRange');
   late final _clang_Cursor_getSpellingNameRange =
       _clang_Cursor_getSpellingNameRangePtr
           .asFunction<CXSourceRange Function(CXCursor, int, int)>();
@@ -3674,8 +3699,9 @@
   }
 
   late final _clang_PrintingPolicy_getPropertyPtr = _lookup<
-          ffi.NativeFunction<ffi.Uint32 Function(CXPrintingPolicy, ffi.Int32)>>(
-      'clang_PrintingPolicy_getProperty');
+      ffi.NativeFunction<
+          pkg_ffi.UnsignedInt Function(CXPrintingPolicy,
+              ffi.Int32)>>('clang_PrintingPolicy_getProperty');
   late final _clang_PrintingPolicy_getProperty =
       _clang_PrintingPolicy_getPropertyPtr
           .asFunction<int Function(CXPrintingPolicy, int)>();
@@ -3696,7 +3722,7 @@
   late final _clang_PrintingPolicy_setPropertyPtr = _lookup<
       ffi.NativeFunction<
           ffi.Void Function(CXPrintingPolicy, ffi.Int32,
-              ffi.Uint32)>>('clang_PrintingPolicy_setProperty');
+              pkg_ffi.UnsignedInt)>>('clang_PrintingPolicy_setProperty');
   late final _clang_PrintingPolicy_setProperty =
       _clang_PrintingPolicy_setPropertyPtr
           .asFunction<void Function(CXPrintingPolicy, int, int)>();
@@ -3806,7 +3832,7 @@
   }
 
   late final _clang_isCursorDefinitionPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_isCursorDefinition');
   late final _clang_isCursorDefinition =
       _clang_isCursorDefinitionPtr.asFunction<int Function(CXCursor)>();
@@ -3837,7 +3863,7 @@
   }
 
   late final _clang_Cursor_getObjCSelectorIndexPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXCursor)>>(
           'clang_Cursor_getObjCSelectorIndex');
   late final _clang_Cursor_getObjCSelectorIndex =
       _clang_Cursor_getObjCSelectorIndexPtr
@@ -3854,7 +3880,7 @@
   }
 
   late final _clang_Cursor_isDynamicCallPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXCursor)>>(
           'clang_Cursor_isDynamicCall');
   late final _clang_Cursor_isDynamicCall =
       _clang_Cursor_isDynamicCallPtr.asFunction<int Function(CXCursor)>();
@@ -3888,9 +3914,10 @@
     );
   }
 
-  late final _clang_Cursor_getObjCPropertyAttributesPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor, ffi.Uint32)>>(
-          'clang_Cursor_getObjCPropertyAttributes');
+  late final _clang_Cursor_getObjCPropertyAttributesPtr = _lookup<
+      ffi.NativeFunction<
+          pkg_ffi.UnsignedInt Function(CXCursor,
+              pkg_ffi.UnsignedInt)>>('clang_Cursor_getObjCPropertyAttributes');
   late final _clang_Cursor_getObjCPropertyAttributes =
       _clang_Cursor_getObjCPropertyAttributesPtr
           .asFunction<int Function(CXCursor, int)>();
@@ -3942,7 +3969,7 @@
   }
 
   late final _clang_Cursor_getObjCDeclQualifiersPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_getObjCDeclQualifiers');
   late final _clang_Cursor_getObjCDeclQualifiers =
       _clang_Cursor_getObjCDeclQualifiersPtr
@@ -3961,7 +3988,7 @@
   }
 
   late final _clang_Cursor_isObjCOptionalPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_isObjCOptional');
   late final _clang_Cursor_isObjCOptional =
       _clang_Cursor_isObjCOptionalPtr.asFunction<int Function(CXCursor)>();
@@ -3976,7 +4003,7 @@
   }
 
   late final _clang_Cursor_isVariadicPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_Cursor_isVariadic');
   late final _clang_Cursor_isVariadic =
       _clang_Cursor_isVariadicPtr.asFunction<int Function(CXCursor)>();
@@ -3987,7 +4014,7 @@
     CXCursor C,
     ffi.Pointer<CXString> language,
     ffi.Pointer<CXString> definedIn,
-    ffi.Pointer<ffi.Uint32> isGenerated,
+    ffi.Pointer<pkg_ffi.UnsignedInt> isGenerated,
   ) {
     return _clang_Cursor_isExternalSymbol(
       C,
@@ -3998,16 +4025,14 @@
   }
 
   late final _clang_Cursor_isExternalSymbolPtr = _lookup<
-      ffi.NativeFunction<
-          ffi.Uint32 Function(
-              CXCursor,
-              ffi.Pointer<CXString>,
-              ffi.Pointer<CXString>,
-              ffi.Pointer<ffi.Uint32>)>>('clang_Cursor_isExternalSymbol');
+          ffi.NativeFunction<
+              pkg_ffi.UnsignedInt Function(CXCursor, ffi.Pointer<CXString>,
+                  ffi.Pointer<CXString>, ffi.Pointer<pkg_ffi.UnsignedInt>)>>(
+      'clang_Cursor_isExternalSymbol');
   late final _clang_Cursor_isExternalSymbol =
       _clang_Cursor_isExternalSymbolPtr.asFunction<
           int Function(CXCursor, ffi.Pointer<CXString>, ffi.Pointer<CXString>,
-              ffi.Pointer<ffi.Uint32>)>();
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>();
 
   /// Given a cursor that represents a declaration, return the associated
   /// comment's source range. The range may include multiple consecutive
@@ -4212,7 +4237,7 @@
   }
 
   late final _clang_Module_isSystemPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXModule)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXModule)>>(
           'clang_Module_isSystem');
   late final _clang_Module_isSystem =
       _clang_Module_isSystemPtr.asFunction<int Function(CXModule)>();
@@ -4229,8 +4254,9 @@
   }
 
   late final _clang_Module_getNumTopLevelHeadersPtr = _lookup<
-          ffi.NativeFunction<ffi.Uint32 Function(CXTranslationUnit, CXModule)>>(
-      'clang_Module_getNumTopLevelHeaders');
+      ffi.NativeFunction<
+          pkg_ffi.UnsignedInt Function(CXTranslationUnit,
+              CXModule)>>('clang_Module_getNumTopLevelHeaders');
   late final _clang_Module_getNumTopLevelHeaders =
       _clang_Module_getNumTopLevelHeadersPtr
           .asFunction<int Function(CXTranslationUnit, CXModule)>();
@@ -4251,7 +4277,7 @@
   late final _clang_Module_getTopLevelHeaderPtr = _lookup<
       ffi.NativeFunction<
           CXFile Function(CXTranslationUnit, CXModule,
-              ffi.Uint32)>>('clang_Module_getTopLevelHeader');
+              pkg_ffi.UnsignedInt)>>('clang_Module_getTopLevelHeader');
   late final _clang_Module_getTopLevelHeader =
       _clang_Module_getTopLevelHeaderPtr
           .asFunction<CXFile Function(CXTranslationUnit, CXModule, int)>();
@@ -4266,7 +4292,7 @@
   }
 
   late final _clang_CXXConstructor_isConvertingConstructorPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_CXXConstructor_isConvertingConstructor');
   late final _clang_CXXConstructor_isConvertingConstructor =
       _clang_CXXConstructor_isConvertingConstructorPtr
@@ -4282,7 +4308,7 @@
   }
 
   late final _clang_CXXConstructor_isCopyConstructorPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_CXXConstructor_isCopyConstructor');
   late final _clang_CXXConstructor_isCopyConstructor =
       _clang_CXXConstructor_isCopyConstructorPtr
@@ -4298,7 +4324,7 @@
   }
 
   late final _clang_CXXConstructor_isDefaultConstructorPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_CXXConstructor_isDefaultConstructor');
   late final _clang_CXXConstructor_isDefaultConstructor =
       _clang_CXXConstructor_isDefaultConstructorPtr
@@ -4314,7 +4340,7 @@
   }
 
   late final _clang_CXXConstructor_isMoveConstructorPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_CXXConstructor_isMoveConstructor');
   late final _clang_CXXConstructor_isMoveConstructor =
       _clang_CXXConstructor_isMoveConstructorPtr
@@ -4330,7 +4356,7 @@
   }
 
   late final _clang_CXXField_isMutablePtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_CXXField_isMutable');
   late final _clang_CXXField_isMutable =
       _clang_CXXField_isMutablePtr.asFunction<int Function(CXCursor)>();
@@ -4345,7 +4371,7 @@
   }
 
   late final _clang_CXXMethod_isDefaultedPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_CXXMethod_isDefaulted');
   late final _clang_CXXMethod_isDefaulted =
       _clang_CXXMethod_isDefaultedPtr.asFunction<int Function(CXCursor)>();
@@ -4361,7 +4387,7 @@
   }
 
   late final _clang_CXXMethod_isPureVirtualPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_CXXMethod_isPureVirtual');
   late final _clang_CXXMethod_isPureVirtual =
       _clang_CXXMethod_isPureVirtualPtr.asFunction<int Function(CXCursor)>();
@@ -4377,7 +4403,7 @@
   }
 
   late final _clang_CXXMethod_isStaticPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_CXXMethod_isStatic');
   late final _clang_CXXMethod_isStatic =
       _clang_CXXMethod_isStaticPtr.asFunction<int Function(CXCursor)>();
@@ -4394,7 +4420,7 @@
   }
 
   late final _clang_CXXMethod_isVirtualPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_CXXMethod_isVirtual');
   late final _clang_CXXMethod_isVirtual =
       _clang_CXXMethod_isVirtualPtr.asFunction<int Function(CXCursor)>();
@@ -4410,7 +4436,7 @@
   }
 
   late final _clang_CXXRecord_isAbstractPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_CXXRecord_isAbstract');
   late final _clang_CXXRecord_isAbstract =
       _clang_CXXRecord_isAbstractPtr.asFunction<int Function(CXCursor)>();
@@ -4425,7 +4451,7 @@
   }
 
   late final _clang_EnumDecl_isScopedPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_EnumDecl_isScoped');
   late final _clang_EnumDecl_isScoped =
       _clang_EnumDecl_isScopedPtr.asFunction<int Function(CXCursor)>();
@@ -4441,7 +4467,7 @@
   }
 
   late final _clang_CXXMethod_isConstPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCursor)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCursor)>>(
           'clang_CXXMethod_isConst');
   late final _clang_CXXMethod_isConst =
       _clang_CXXMethod_isConstPtr.asFunction<int Function(CXCursor)>();
@@ -4496,8 +4522,8 @@
 
   late final _clang_getCursorReferenceNameRangePtr = _lookup<
       ffi.NativeFunction<
-          CXSourceRange Function(CXCursor, ffi.Uint32,
-              ffi.Uint32)>>('clang_getCursorReferenceNameRange');
+          CXSourceRange Function(CXCursor, pkg_ffi.UnsignedInt,
+              pkg_ffi.UnsignedInt)>>('clang_getCursorReferenceNameRange');
   late final _clang_getCursorReferenceNameRange =
       _clang_getCursorReferenceNameRangePtr
           .asFunction<CXSourceRange Function(CXCursor, int, int)>();
@@ -4594,7 +4620,7 @@
     CXTranslationUnit TU,
     CXSourceRange Range,
     ffi.Pointer<ffi.Pointer<CXToken>> Tokens,
-    ffi.Pointer<ffi.Uint32> NumTokens,
+    ffi.Pointer<pkg_ffi.UnsignedInt> NumTokens,
   ) {
     return _clang_tokenize(
       TU,
@@ -4610,10 +4636,13 @@
               CXTranslationUnit,
               CXSourceRange,
               ffi.Pointer<ffi.Pointer<CXToken>>,
-              ffi.Pointer<ffi.Uint32>)>>('clang_tokenize');
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>>('clang_tokenize');
   late final _clang_tokenize = _clang_tokenizePtr.asFunction<
-      void Function(CXTranslationUnit, CXSourceRange,
-          ffi.Pointer<ffi.Pointer<CXToken>>, ffi.Pointer<ffi.Uint32>)>();
+      void Function(
+          CXTranslationUnit,
+          CXSourceRange,
+          ffi.Pointer<ffi.Pointer<CXToken>>,
+          ffi.Pointer<pkg_ffi.UnsignedInt>)>();
 
   /// Annotate the given set of tokens by providing cursors for each token that
   /// can be mapped to a specific entity within the abstract syntax tree.
@@ -4633,7 +4662,10 @@
 
   late final _clang_annotateTokensPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(CXTranslationUnit, ffi.Pointer<CXToken>, ffi.Uint32,
+          ffi.Void Function(
+              CXTranslationUnit,
+              ffi.Pointer<CXToken>,
+              pkg_ffi.UnsignedInt,
               ffi.Pointer<CXCursor>)>>('clang_annotateTokens');
   late final _clang_annotateTokens = _clang_annotateTokensPtr.asFunction<
       void Function(CXTranslationUnit, ffi.Pointer<CXToken>, int,
@@ -4655,7 +4687,7 @@
   late final _clang_disposeTokensPtr = _lookup<
       ffi.NativeFunction<
           ffi.Void Function(CXTranslationUnit, ffi.Pointer<CXToken>,
-              ffi.Uint32)>>('clang_disposeTokens');
+              pkg_ffi.UnsignedInt)>>('clang_disposeTokens');
   late final _clang_disposeTokens = _clang_disposeTokensPtr.asFunction<
       void Function(CXTranslationUnit, ffi.Pointer<CXToken>, int)>();
 
@@ -4677,12 +4709,12 @@
 
   void clang_getDefinitionSpellingAndExtent(
     CXCursor arg0,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> startBuf,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> endBuf,
-    ffi.Pointer<ffi.Uint32> startLine,
-    ffi.Pointer<ffi.Uint32> startColumn,
-    ffi.Pointer<ffi.Uint32> endLine,
-    ffi.Pointer<ffi.Uint32> endColumn,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> startBuf,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> endBuf,
+    ffi.Pointer<pkg_ffi.UnsignedInt> startLine,
+    ffi.Pointer<pkg_ffi.UnsignedInt> startColumn,
+    ffi.Pointer<pkg_ffi.UnsignedInt> endLine,
+    ffi.Pointer<pkg_ffi.UnsignedInt> endColumn,
   ) {
     return _clang_getDefinitionSpellingAndExtent(
       arg0,
@@ -4699,23 +4731,23 @@
           ffi.NativeFunction<
               ffi.Void Function(
                   CXCursor,
-                  ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-                  ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-                  ffi.Pointer<ffi.Uint32>,
-                  ffi.Pointer<ffi.Uint32>,
-                  ffi.Pointer<ffi.Uint32>,
-                  ffi.Pointer<ffi.Uint32>)>>(
+                  ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+                  ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+                  ffi.Pointer<pkg_ffi.UnsignedInt>,
+                  ffi.Pointer<pkg_ffi.UnsignedInt>,
+                  ffi.Pointer<pkg_ffi.UnsignedInt>,
+                  ffi.Pointer<pkg_ffi.UnsignedInt>)>>(
       'clang_getDefinitionSpellingAndExtent');
   late final _clang_getDefinitionSpellingAndExtent =
       _clang_getDefinitionSpellingAndExtentPtr.asFunction<
           void Function(
               CXCursor,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>)>();
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>();
 
   void clang_enableStackTraces() {
     return _clang_enableStackTraces();
@@ -4746,7 +4778,7 @@
               ffi.Pointer<
                   ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>,
               ffi.Pointer<ffi.Void>,
-              ffi.Uint32)>>('clang_executeOnThread');
+              pkg_ffi.UnsignedInt)>>('clang_executeOnThread');
   late final _clang_executeOnThread = _clang_executeOnThreadPtr.asFunction<
       void Function(
           ffi.Pointer<
@@ -4767,8 +4799,8 @@
 
   late final _clang_getCompletionChunkKindPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              CXCompletionString, ffi.Uint32)>>('clang_getCompletionChunkKind');
+          ffi.Int32 Function(CXCompletionString,
+              pkg_ffi.UnsignedInt)>>('clang_getCompletionChunkKind');
   late final _clang_getCompletionChunkKind = _clang_getCompletionChunkKindPtr
       .asFunction<int Function(CXCompletionString, int)>();
 
@@ -4786,8 +4818,8 @@
 
   late final _clang_getCompletionChunkTextPtr = _lookup<
       ffi.NativeFunction<
-          CXString Function(
-              CXCompletionString, ffi.Uint32)>>('clang_getCompletionChunkText');
+          CXString Function(CXCompletionString,
+              pkg_ffi.UnsignedInt)>>('clang_getCompletionChunkText');
   late final _clang_getCompletionChunkText = _clang_getCompletionChunkTextPtr
       .asFunction<CXString Function(CXCompletionString, int)>();
 
@@ -4804,9 +4836,10 @@
   }
 
   late final _clang_getCompletionChunkCompletionStringPtr = _lookup<
-      ffi.NativeFunction<
-          CXCompletionString Function(CXCompletionString,
-              ffi.Uint32)>>('clang_getCompletionChunkCompletionString');
+          ffi.NativeFunction<
+              CXCompletionString Function(
+                  CXCompletionString, pkg_ffi.UnsignedInt)>>(
+      'clang_getCompletionChunkCompletionString');
   late final _clang_getCompletionChunkCompletionString =
       _clang_getCompletionChunkCompletionStringPtr
           .asFunction<CXCompletionString Function(CXCompletionString, int)>();
@@ -4820,9 +4853,9 @@
     );
   }
 
-  late final _clang_getNumCompletionChunksPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCompletionString)>>(
-          'clang_getNumCompletionChunks');
+  late final _clang_getNumCompletionChunksPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCompletionString)>>(
+      'clang_getNumCompletionChunks');
   late final _clang_getNumCompletionChunks = _clang_getNumCompletionChunksPtr
       .asFunction<int Function(CXCompletionString)>();
 
@@ -4835,9 +4868,9 @@
     );
   }
 
-  late final _clang_getCompletionPriorityPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCompletionString)>>(
-          'clang_getCompletionPriority');
+  late final _clang_getCompletionPriorityPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCompletionString)>>(
+      'clang_getCompletionPriority');
   late final _clang_getCompletionPriority = _clang_getCompletionPriorityPtr
       .asFunction<int Function(CXCompletionString)>();
 
@@ -4868,9 +4901,9 @@
     );
   }
 
-  late final _clang_getCompletionNumAnnotationsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXCompletionString)>>(
-          'clang_getCompletionNumAnnotations');
+  late final _clang_getCompletionNumAnnotationsPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXCompletionString)>>(
+      'clang_getCompletionNumAnnotations');
   late final _clang_getCompletionNumAnnotations =
       _clang_getCompletionNumAnnotationsPtr
           .asFunction<int Function(CXCompletionString)>();
@@ -4889,7 +4922,7 @@
   late final _clang_getCompletionAnnotationPtr = _lookup<
       ffi.NativeFunction<
           CXString Function(CXCompletionString,
-              ffi.Uint32)>>('clang_getCompletionAnnotation');
+              pkg_ffi.UnsignedInt)>>('clang_getCompletionAnnotation');
   late final _clang_getCompletionAnnotation = _clang_getCompletionAnnotationPtr
       .asFunction<CXString Function(CXCompletionString, int)>();
 
@@ -4959,8 +4992,8 @@
 
   late final _clang_getCompletionNumFixItsPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Uint32 Function(ffi.Pointer<CXCodeCompleteResults>,
-              ffi.Uint32)>>('clang_getCompletionNumFixIts');
+          pkg_ffi.UnsignedInt Function(ffi.Pointer<CXCodeCompleteResults>,
+              pkg_ffi.UnsignedInt)>>('clang_getCompletionNumFixIts');
   late final _clang_getCompletionNumFixIts = _clang_getCompletionNumFixItsPtr
       .asFunction<int Function(ffi.Pointer<CXCodeCompleteResults>, int)>();
 
@@ -4984,8 +5017,8 @@
       ffi.NativeFunction<
           CXString Function(
               ffi.Pointer<CXCodeCompleteResults>,
-              ffi.Uint32,
-              ffi.Uint32,
+              pkg_ffi.UnsignedInt,
+              pkg_ffi.UnsignedInt,
               ffi.Pointer<CXSourceRange>)>>('clang_getCompletionFixIt');
   late final _clang_getCompletionFixIt =
       _clang_getCompletionFixItPtr.asFunction<
@@ -4999,7 +5032,7 @@
   }
 
   late final _clang_defaultCodeCompleteOptionsPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function()>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function()>>(
           'clang_defaultCodeCompleteOptions');
   late final _clang_defaultCodeCompleteOptions =
       _clang_defaultCodeCompleteOptionsPtr.asFunction<int Function()>();
@@ -5007,7 +5040,7 @@
   /// Perform code completion at a given location in a translation unit.
   ffi.Pointer<CXCodeCompleteResults> clang_codeCompleteAt(
     CXTranslationUnit TU,
-    ffi.Pointer<ffi.Int8> complete_filename,
+    ffi.Pointer<pkg_ffi.Char> complete_filename,
     int complete_line,
     int complete_column,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
@@ -5029,16 +5062,16 @@
       ffi.NativeFunction<
           ffi.Pointer<CXCodeCompleteResults> Function(
               CXTranslationUnit,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Uint32,
-              ffi.Uint32,
+              ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.UnsignedInt,
+              pkg_ffi.UnsignedInt,
               ffi.Pointer<CXUnsavedFile>,
-              ffi.Uint32,
-              ffi.Uint32)>>('clang_codeCompleteAt');
+              pkg_ffi.UnsignedInt,
+              pkg_ffi.UnsignedInt)>>('clang_codeCompleteAt');
   late final _clang_codeCompleteAt = _clang_codeCompleteAtPtr.asFunction<
       ffi.Pointer<CXCodeCompleteResults> Function(
           CXTranslationUnit,
-          ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<pkg_ffi.Char>,
           int,
           int,
           ffi.Pointer<CXUnsavedFile>,
@@ -5059,7 +5092,7 @@
   late final _clang_sortCodeCompletionResultsPtr = _lookup<
       ffi.NativeFunction<
           ffi.Void Function(ffi.Pointer<CXCompletionResult>,
-              ffi.Uint32)>>('clang_sortCodeCompletionResults');
+              pkg_ffi.UnsignedInt)>>('clang_sortCodeCompletionResults');
   late final _clang_sortCodeCompletionResults =
       _clang_sortCodeCompletionResultsPtr
           .asFunction<void Function(ffi.Pointer<CXCompletionResult>, int)>();
@@ -5093,7 +5126,8 @@
 
   late final _clang_codeCompleteGetNumDiagnosticsPtr = _lookup<
           ffi.NativeFunction<
-              ffi.Uint32 Function(ffi.Pointer<CXCodeCompleteResults>)>>(
+              pkg_ffi.UnsignedInt Function(
+                  ffi.Pointer<CXCodeCompleteResults>)>>(
       'clang_codeCompleteGetNumDiagnostics');
   late final _clang_codeCompleteGetNumDiagnostics =
       _clang_codeCompleteGetNumDiagnosticsPtr
@@ -5113,7 +5147,7 @@
   late final _clang_codeCompleteGetDiagnosticPtr = _lookup<
       ffi.NativeFunction<
           CXDiagnostic Function(ffi.Pointer<CXCodeCompleteResults>,
-              ffi.Uint32)>>('clang_codeCompleteGetDiagnostic');
+              pkg_ffi.UnsignedInt)>>('clang_codeCompleteGetDiagnostic');
   late final _clang_codeCompleteGetDiagnostic =
       _clang_codeCompleteGetDiagnosticPtr.asFunction<
           CXDiagnostic Function(ffi.Pointer<CXCodeCompleteResults>, int)>();
@@ -5130,7 +5164,8 @@
 
   late final _clang_codeCompleteGetContextsPtr = _lookup<
           ffi.NativeFunction<
-              ffi.Uint64 Function(ffi.Pointer<CXCodeCompleteResults>)>>(
+              pkg_ffi.UnsignedLongLong Function(
+                  ffi.Pointer<CXCodeCompleteResults>)>>(
       'clang_codeCompleteGetContexts');
   late final _clang_codeCompleteGetContexts = _clang_codeCompleteGetContextsPtr
       .asFunction<int Function(ffi.Pointer<CXCodeCompleteResults>)>();
@@ -5141,7 +5176,7 @@
   /// there is not a container, this function will return CXCursor_InvalidCode.
   int clang_codeCompleteGetContainerKind(
     ffi.Pointer<CXCodeCompleteResults> Results,
-    ffi.Pointer<ffi.Uint32> IsIncomplete,
+    ffi.Pointer<pkg_ffi.UnsignedInt> IsIncomplete,
   ) {
     return _clang_codeCompleteGetContainerKind(
       Results,
@@ -5150,13 +5185,14 @@
   }
 
   late final _clang_codeCompleteGetContainerKindPtr = _lookup<
-      ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<CXCodeCompleteResults>,
-              ffi.Pointer<ffi.Uint32>)>>('clang_codeCompleteGetContainerKind');
+          ffi.NativeFunction<
+              ffi.Int32 Function(ffi.Pointer<CXCodeCompleteResults>,
+                  ffi.Pointer<pkg_ffi.UnsignedInt>)>>(
+      'clang_codeCompleteGetContainerKind');
   late final _clang_codeCompleteGetContainerKind =
       _clang_codeCompleteGetContainerKindPtr.asFunction<
-          int Function(
-              ffi.Pointer<CXCodeCompleteResults>, ffi.Pointer<ffi.Uint32>)>();
+          int Function(ffi.Pointer<CXCodeCompleteResults>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>();
 
   /// Returns the USR for the container for the current code completion context.
   /// If there is not a container for the current context, this function will
@@ -5218,7 +5254,7 @@
   }
 
   late final _clang_toggleCrashRecoveryPtr =
-      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Uint32)>>(
+      _lookup<ffi.NativeFunction<ffi.Void Function(pkg_ffi.UnsignedInt)>>(
           'clang_toggleCrashRecovery');
   late final _clang_toggleCrashRecovery =
       _clang_toggleCrashRecoveryPtr.asFunction<void Function(int)>();
@@ -5288,7 +5324,7 @@
   }
 
   late final _clang_EvalResult_getAsIntPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(CXEvalResult)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(CXEvalResult)>>(
           'clang_EvalResult_getAsInt');
   late final _clang_EvalResult_getAsInt =
       _clang_EvalResult_getAsIntPtr.asFunction<int Function(CXEvalResult)>();
@@ -5305,7 +5341,7 @@
   }
 
   late final _clang_EvalResult_getAsLongLongPtr =
-      _lookup<ffi.NativeFunction<ffi.Int64 Function(CXEvalResult)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.LongLong Function(CXEvalResult)>>(
           'clang_EvalResult_getAsLongLong');
   late final _clang_EvalResult_getAsLongLong =
       _clang_EvalResult_getAsLongLongPtr
@@ -5322,7 +5358,7 @@
   }
 
   late final _clang_EvalResult_isUnsignedIntPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXEvalResult)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXEvalResult)>>(
           'clang_EvalResult_isUnsignedInt');
   late final _clang_EvalResult_isUnsignedInt =
       _clang_EvalResult_isUnsignedIntPtr
@@ -5338,9 +5374,9 @@
     );
   }
 
-  late final _clang_EvalResult_getAsUnsignedPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint64 Function(CXEvalResult)>>(
-          'clang_EvalResult_getAsUnsigned');
+  late final _clang_EvalResult_getAsUnsignedPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.UnsignedLongLong Function(CXEvalResult)>>(
+      'clang_EvalResult_getAsUnsigned');
   late final _clang_EvalResult_getAsUnsigned =
       _clang_EvalResult_getAsUnsignedPtr
           .asFunction<int Function(CXEvalResult)>();
@@ -5364,7 +5400,7 @@
   /// than Int or float. User must not free this pointer, instead call
   /// clang_EvalResult_dispose on the CXEvalResult returned by
   /// clang_Cursor_Evaluate.
-  ffi.Pointer<ffi.Int8> clang_EvalResult_getAsStr(
+  ffi.Pointer<pkg_ffi.Char> clang_EvalResult_getAsStr(
     CXEvalResult E,
   ) {
     return _clang_EvalResult_getAsStr(
@@ -5372,11 +5408,11 @@
     );
   }
 
-  late final _clang_EvalResult_getAsStrPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Int8> Function(CXEvalResult)>>(
-          'clang_EvalResult_getAsStr');
+  late final _clang_EvalResult_getAsStrPtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<pkg_ffi.Char> Function(CXEvalResult)>>(
+      'clang_EvalResult_getAsStr');
   late final _clang_EvalResult_getAsStr = _clang_EvalResult_getAsStrPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(CXEvalResult)>();
+      .asFunction<ffi.Pointer<pkg_ffi.Char> Function(CXEvalResult)>();
 
   /// Disposes the created Eval memory.
   void clang_EvalResult_dispose(
@@ -5395,22 +5431,22 @@
 
   /// Retrieve a remapping.
   CXRemapping clang_getRemappings(
-    ffi.Pointer<ffi.Int8> path,
+    ffi.Pointer<pkg_ffi.Char> path,
   ) {
     return _clang_getRemappings(
       path,
     );
   }
 
-  late final _clang_getRemappingsPtr =
-      _lookup<ffi.NativeFunction<CXRemapping Function(ffi.Pointer<ffi.Int8>)>>(
-          'clang_getRemappings');
+  late final _clang_getRemappingsPtr = _lookup<
+          ffi.NativeFunction<CXRemapping Function(ffi.Pointer<pkg_ffi.Char>)>>(
+      'clang_getRemappings');
   late final _clang_getRemappings = _clang_getRemappingsPtr
-      .asFunction<CXRemapping Function(ffi.Pointer<ffi.Int8>)>();
+      .asFunction<CXRemapping Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   /// Retrieve a remapping.
   CXRemapping clang_getRemappingsFromFileList(
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> filePaths,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> filePaths,
     int numFiles,
   ) {
     return _clang_getRemappingsFromFileList(
@@ -5421,11 +5457,11 @@
 
   late final _clang_getRemappingsFromFileListPtr = _lookup<
       ffi.NativeFunction<
-          CXRemapping Function(ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Uint32)>>('clang_getRemappingsFromFileList');
+          CXRemapping Function(ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              pkg_ffi.UnsignedInt)>>('clang_getRemappingsFromFileList');
   late final _clang_getRemappingsFromFileList =
       _clang_getRemappingsFromFileListPtr.asFunction<
-          CXRemapping Function(ffi.Pointer<ffi.Pointer<ffi.Int8>>, int)>();
+          CXRemapping Function(ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>, int)>();
 
   /// Determine the number of remappings.
   int clang_remap_getNumFiles(
@@ -5437,7 +5473,7 @@
   }
 
   late final _clang_remap_getNumFilesPtr =
-      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CXRemapping)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.UnsignedInt Function(CXRemapping)>>(
           'clang_remap_getNumFiles');
   late final _clang_remap_getNumFiles =
       _clang_remap_getNumFilesPtr.asFunction<int Function(CXRemapping)>();
@@ -5459,7 +5495,10 @@
 
   late final _clang_remap_getFilenamesPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(CXRemapping, ffi.Uint32, ffi.Pointer<CXString>,
+          ffi.Void Function(
+              CXRemapping,
+              pkg_ffi.UnsignedInt,
+              ffi.Pointer<CXString>,
               ffi.Pointer<CXString>)>>('clang_remap_getFilenames');
   late final _clang_remap_getFilenames =
       _clang_remap_getFilenamesPtr.asFunction<
@@ -5531,7 +5570,7 @@
   }
 
   late final _clang_index_isEntityObjCContainerKindPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Int32)>>(
           'clang_index_isEntityObjCContainerKind');
   late final _clang_index_isEntityObjCContainerKind =
       _clang_index_isEntityObjCContainerKindPtr.asFunction<int Function(int)>();
@@ -5774,8 +5813,8 @@
     ffi.Pointer<IndexerCallbacks> index_callbacks,
     int index_callbacks_size,
     int index_options,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
@@ -5800,19 +5839,19 @@
 
   late final _clang_indexSourceFilePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               CXIndexAction,
               CXClientData,
               ffi.Pointer<IndexerCallbacks>,
-              ffi.Uint32,
-              ffi.Uint32,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Int32,
+              pkg_ffi.UnsignedInt,
+              pkg_ffi.UnsignedInt,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              pkg_ffi.Int,
               ffi.Pointer<CXUnsavedFile>,
-              ffi.Uint32,
+              pkg_ffi.UnsignedInt,
               ffi.Pointer<CXTranslationUnit>,
-              ffi.Uint32)>>('clang_indexSourceFile');
+              pkg_ffi.UnsignedInt)>>('clang_indexSourceFile');
   late final _clang_indexSourceFile = _clang_indexSourceFilePtr.asFunction<
       int Function(
           CXIndexAction,
@@ -5820,8 +5859,8 @@
           ffi.Pointer<IndexerCallbacks>,
           int,
           int,
-          ffi.Pointer<ffi.Int8>,
-          ffi.Pointer<ffi.Pointer<ffi.Int8>>,
+          ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
           int,
           ffi.Pointer<CXUnsavedFile>,
           int,
@@ -5837,8 +5876,8 @@
     ffi.Pointer<IndexerCallbacks> index_callbacks,
     int index_callbacks_size,
     int index_options,
-    ffi.Pointer<ffi.Int8> source_filename,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
+    ffi.Pointer<pkg_ffi.Char> source_filename,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> command_line_args,
     int num_command_line_args,
     ffi.Pointer<CXUnsavedFile> unsaved_files,
     int num_unsaved_files,
@@ -5863,19 +5902,19 @@
 
   late final _clang_indexSourceFileFullArgvPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               CXIndexAction,
               CXClientData,
               ffi.Pointer<IndexerCallbacks>,
-              ffi.Uint32,
-              ffi.Uint32,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Int32,
+              pkg_ffi.UnsignedInt,
+              pkg_ffi.UnsignedInt,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              pkg_ffi.Int,
               ffi.Pointer<CXUnsavedFile>,
-              ffi.Uint32,
+              pkg_ffi.UnsignedInt,
               ffi.Pointer<CXTranslationUnit>,
-              ffi.Uint32)>>('clang_indexSourceFileFullArgv');
+              pkg_ffi.UnsignedInt)>>('clang_indexSourceFileFullArgv');
   late final _clang_indexSourceFileFullArgv =
       _clang_indexSourceFileFullArgvPtr.asFunction<
           int Function(
@@ -5884,8 +5923,8 @@
               ffi.Pointer<IndexerCallbacks>,
               int,
               int,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
               int,
               ffi.Pointer<CXUnsavedFile>,
               int,
@@ -5914,12 +5953,12 @@
 
   late final _clang_indexTranslationUnitPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               CXIndexAction,
               CXClientData,
               ffi.Pointer<IndexerCallbacks>,
-              ffi.Uint32,
-              ffi.Uint32,
+              pkg_ffi.UnsignedInt,
+              pkg_ffi.UnsignedInt,
               CXTranslationUnit)>>('clang_indexTranslationUnit');
   late final _clang_indexTranslationUnit =
       _clang_indexTranslationUnitPtr.asFunction<
@@ -5932,9 +5971,9 @@
     CXIdxLoc loc,
     ffi.Pointer<CXIdxClientFile> indexFile,
     ffi.Pointer<CXFile> file,
-    ffi.Pointer<ffi.Uint32> line,
-    ffi.Pointer<ffi.Uint32> column,
-    ffi.Pointer<ffi.Uint32> offset,
+    ffi.Pointer<pkg_ffi.UnsignedInt> line,
+    ffi.Pointer<pkg_ffi.UnsignedInt> column,
+    ffi.Pointer<pkg_ffi.UnsignedInt> offset,
   ) {
     return _clang_indexLoc_getFileLocation(
       loc,
@@ -5947,23 +5986,24 @@
   }
 
   late final _clang_indexLoc_getFileLocationPtr = _lookup<
-      ffi.NativeFunction<
-          ffi.Void Function(
-              CXIdxLoc,
-              ffi.Pointer<CXIdxClientFile>,
-              ffi.Pointer<CXFile>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>)>>('clang_indexLoc_getFileLocation');
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  CXIdxLoc,
+                  ffi.Pointer<CXIdxClientFile>,
+                  ffi.Pointer<CXFile>,
+                  ffi.Pointer<pkg_ffi.UnsignedInt>,
+                  ffi.Pointer<pkg_ffi.UnsignedInt>,
+                  ffi.Pointer<pkg_ffi.UnsignedInt>)>>(
+      'clang_indexLoc_getFileLocation');
   late final _clang_indexLoc_getFileLocation =
       _clang_indexLoc_getFileLocationPtr.asFunction<
           void Function(
               CXIdxLoc,
               ffi.Pointer<CXIdxClientFile>,
               ffi.Pointer<CXFile>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>,
-              ffi.Pointer<ffi.Uint32>)>();
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>,
+              ffi.Pointer<pkg_ffi.UnsignedInt>)>();
 
   /// Retrieve the CXSourceLocation represented by the given CXIdxLoc.
   CXSourceLocation clang_indexLoc_getCXSourceLocation(
@@ -5996,7 +6036,7 @@
 
   late final _clang_Type_visitFieldsPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Uint32 Function(
+          pkg_ffi.UnsignedInt Function(
               CXType, CXFieldVisitor, CXClientData)>>('clang_Type_visitFields');
   late final _clang_Type_visitFields = _clang_Type_visitFieldsPtr
       .asFunction<int Function(CXType, CXFieldVisitor, CXClientData)>();
@@ -6024,14 +6064,14 @@
 class CXString extends ffi.Struct {
   external ffi.Pointer<ffi.Void> data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int private_flags;
 }
 
 class CXStringSet extends ffi.Struct {
   external ffi.Pointer<CXString> Strings;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int Count;
 }
 
@@ -6053,13 +6093,13 @@
 /// Provides the contents of a file that has not yet been saved to disk.
 class CXUnsavedFile extends ffi.Struct {
   /// The file whose contents have not yet been saved.
-  external ffi.Pointer<ffi.Int8> Filename;
+  external ffi.Pointer<pkg_ffi.Char> Filename;
 
   /// A buffer containing the unsaved contents of this file.
-  external ffi.Pointer<ffi.Int8> Contents;
+  external ffi.Pointer<pkg_ffi.Char> Contents;
 
   /// The length of the unsaved contents of this buffer.
-  @ffi.Uint64()
+  @pkg_ffi.UnsignedLong()
   external int Length;
 }
 
@@ -6086,18 +6126,18 @@
 class CXVersion extends ffi.Struct {
   /// The major version number, e.g., the '10' in '10.7.3'. A negative value
   /// indicates that there is no version number at all.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int Major;
 
   /// The minor version number, e.g., the '7' in '10.7.3'. This value will be
   /// negative if no minor version number was provided, e.g., for version '10'.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int Minor;
 
   /// The subminor version number, e.g., the '3' in '10.7.3'. This value will be
   /// negative if no minor or subminor version number was provided, e.g., in
   /// version '10' or '10.7'.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int Subminor;
 }
 
@@ -6162,7 +6202,7 @@
 /// across an indexing session.
 class CXFileUniqueID extends ffi.Struct {
   @ffi.Array.multi([3])
-  external ffi.Array<ffi.Uint64> data;
+  external ffi.Array<pkg_ffi.UnsignedLongLong> data;
 }
 
 /// A single translation unit, which resides in an index.
@@ -6173,7 +6213,7 @@
   @ffi.Array.multi([2])
   external ffi.Array<ffi.Pointer<ffi.Void>> ptr_data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int int_data;
 }
 
@@ -6182,17 +6222,17 @@
   @ffi.Array.multi([2])
   external ffi.Array<ffi.Pointer<ffi.Void>> ptr_data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int begin_int_data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int end_int_data;
 }
 
 /// Identifies an array of ranges.
 class CXSourceRangeList extends ffi.Struct {
   /// The number of ranges in the ranges array.
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int count;
 
   /// An array of CXSourceRanges.
@@ -6388,7 +6428,7 @@
   @ffi.Int32()
   external int kind;
 
-  @ffi.Uint64()
+  @pkg_ffi.UnsignedLong()
   external int amount;
 }
 
@@ -6396,7 +6436,7 @@
 class CXTUResourceUsage extends ffi.Struct {
   external ffi.Pointer<ffi.Void> data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int numEntries;
 
   external ffi.Pointer<CXTUResourceUsageEntry> entries;
@@ -7063,7 +7103,7 @@
   @ffi.Int32()
   external int kind;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int xdata;
 
   @ffi.Array.multi([3])
@@ -7125,7 +7165,7 @@
   external CXVersion Obsoleted;
 
   /// Whether the entity is unconditionally unavailable on this platform.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int Unavailable;
 
   /// An optional message to provide to a user of this API, e.g., to suggest
@@ -7523,7 +7563,7 @@
 /// Describes a single preprocessing token.
 class CXToken extends ffi.Struct {
   @ffi.Array.multi([4])
-  external ffi.Array<ffi.Uint32> int_data;
+  external ffi.Array<pkg_ffi.UnsignedInt> int_data;
 
   external ffi.Pointer<ffi.Void> ptr_data;
 }
@@ -7621,7 +7661,7 @@
   external ffi.Pointer<CXCompletionResult> Results;
 
   /// The number of code-completion results stored in the Results array.
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int NumResults;
 }
 
@@ -7746,8 +7786,8 @@
 /// clang_getInclusions()).
 typedef CXInclusionVisitor = ffi.Pointer<
     ffi.NativeFunction<
-        ffi.Void Function(
-            CXFile, ffi.Pointer<CXSourceLocation>, ffi.Uint32, CXClientData)>>;
+        ffi.Void Function(CXFile, ffi.Pointer<CXSourceLocation>,
+            pkg_ffi.UnsignedInt, CXClientData)>>;
 
 abstract class CXEvalResultKind {
   static const int CXEval_Int = 1;
@@ -7796,7 +7836,7 @@
   @ffi.Array.multi([2])
   external ffi.Array<ffi.Pointer<ffi.Void>> ptr_data;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int int_data;
 }
 
@@ -7806,19 +7846,19 @@
   external CXIdxLoc hashLoc;
 
   /// Filename as written in the #include/#import directive.
-  external ffi.Pointer<ffi.Int8> filename;
+  external ffi.Pointer<pkg_ffi.Char> filename;
 
   /// The actual file that the #include/#import directive resolved to.
   external CXFile file;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isImport;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isAngled;
 
   /// Non-zero if the directive was automatically turned into a module import.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isModuleImport;
 }
 
@@ -7835,7 +7875,7 @@
 
   /// Non-zero if an inclusion directive was automatically turned into a module
   /// import. Applicable only for modules.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isImplicit;
 }
 
@@ -7914,15 +7954,15 @@
   @ffi.Int32()
   external int lang;
 
-  external ffi.Pointer<ffi.Int8> name;
+  external ffi.Pointer<pkg_ffi.Char> name;
 
-  external ffi.Pointer<ffi.Int8> USR;
+  external ffi.Pointer<pkg_ffi.Char> USR;
 
   external CXCursor cursor;
 
   external ffi.Pointer<ffi.Pointer<CXIdxAttrInfo>> attributes;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int numAttributes;
 }
 
@@ -7957,28 +7997,28 @@
   /// out-of-line C++ member functions.
   external ffi.Pointer<CXIdxContainerInfo> lexicalContainer;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isRedeclaration;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isDefinition;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isContainer;
 
   external ffi.Pointer<CXIdxContainerInfo> declAsContainer;
 
   /// Whether the declaration exists in code or was created implicitly by the
   /// compiler, e.g. implicit Objective-C methods for properties.
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int isImplicit;
 
   external ffi.Pointer<ffi.Pointer<CXIdxAttrInfo>> attributes;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int numAttributes;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int flags;
 }
 
@@ -8014,7 +8054,7 @@
 class CXIdxObjCProtocolRefListInfo extends ffi.Struct {
   external ffi.Pointer<ffi.Pointer<CXIdxObjCProtocolRefInfo>> protocols;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int numProtocols;
 }
 
@@ -8051,7 +8091,7 @@
 
   external ffi.Pointer<ffi.Pointer<CXIdxBaseClassInfo>> bases;
 
-  @ffi.Uint32()
+  @pkg_ffi.UnsignedInt()
   external int numBases;
 }
 
@@ -8109,8 +8149,9 @@
   /// Called periodically to check whether indexing should be aborted. Should
   /// return 0 to continue, and non-zero to abort.
   external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Int32 Function(CXClientData, ffi.Pointer<ffi.Void>)>> abortQuery;
+          ffi.NativeFunction<
+              pkg_ffi.Int Function(CXClientData, ffi.Pointer<ffi.Void>)>>
+      abortQuery;
 
   /// Called at the end of indexing; passes the complete diagnostic set.
   external ffi.Pointer<
diff --git a/pkgs/ffigen/test/large_integration_tests/_expected_sqlite_bindings.dart b/pkgs/ffigen/test/large_integration_tests/_expected_sqlite_bindings.dart
index 2980faa..6e13fec 100644
--- a/pkgs/ffigen/test/large_integration_tests/_expected_sqlite_bindings.dart
+++ b/pkgs/ffigen/test/large_integration_tests/_expected_sqlite_bindings.dart
@@ -4,6 +4,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Bindings to SQLite.
 class SQLite {
@@ -50,59 +51,59 @@
   /// of the hash might be different from [SQLITE_SOURCE_ID].)^
   ///
   /// See also: [sqlite_version()] and [sqlite_source_id()].
-  late final ffi.Pointer<ffi.Pointer<ffi.Int8>> _sqlite3_version =
-      _lookup<ffi.Pointer<ffi.Int8>>('sqlite3_version');
+  late final ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> _sqlite3_version =
+      _lookup<ffi.Pointer<pkg_ffi.Char>>('sqlite3_version');
 
-  ffi.Pointer<ffi.Int8> get sqlite3_version => _sqlite3_version.value;
+  ffi.Pointer<pkg_ffi.Char> get sqlite3_version => _sqlite3_version.value;
 
-  set sqlite3_version(ffi.Pointer<ffi.Int8> value) =>
+  set sqlite3_version(ffi.Pointer<pkg_ffi.Char> value) =>
       _sqlite3_version.value = value;
 
-  ffi.Pointer<ffi.Int8> sqlite3_libversion() {
+  ffi.Pointer<pkg_ffi.Char> sqlite3_libversion() {
     return _sqlite3_libversion();
   }
 
   late final _sqlite3_libversionPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Int8> Function()>>(
+      _lookup<ffi.NativeFunction<ffi.Pointer<pkg_ffi.Char> Function()>>(
           'sqlite3_libversion');
   late final _sqlite3_libversion =
-      _sqlite3_libversionPtr.asFunction<ffi.Pointer<ffi.Int8> Function()>();
+      _sqlite3_libversionPtr.asFunction<ffi.Pointer<pkg_ffi.Char> Function()>();
 
-  ffi.Pointer<ffi.Int8> sqlite3_sourceid() {
+  ffi.Pointer<pkg_ffi.Char> sqlite3_sourceid() {
     return _sqlite3_sourceid();
   }
 
   late final _sqlite3_sourceidPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Int8> Function()>>(
+      _lookup<ffi.NativeFunction<ffi.Pointer<pkg_ffi.Char> Function()>>(
           'sqlite3_sourceid');
   late final _sqlite3_sourceid =
-      _sqlite3_sourceidPtr.asFunction<ffi.Pointer<ffi.Int8> Function()>();
+      _sqlite3_sourceidPtr.asFunction<ffi.Pointer<pkg_ffi.Char> Function()>();
 
   int sqlite3_libversion_number() {
     return _sqlite3_libversion_number();
   }
 
   late final _sqlite3_libversion_numberPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function()>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function()>>(
           'sqlite3_libversion_number');
   late final _sqlite3_libversion_number =
       _sqlite3_libversion_numberPtr.asFunction<int Function()>();
 
   int sqlite3_compileoption_used(
-    ffi.Pointer<ffi.Int8> zOptName,
+    ffi.Pointer<pkg_ffi.Char> zOptName,
   ) {
     return _sqlite3_compileoption_used(
       zOptName,
     );
   }
 
-  late final _sqlite3_compileoption_usedPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<ffi.Int8>)>>(
-          'sqlite3_compileoption_used');
+  late final _sqlite3_compileoption_usedPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<pkg_ffi.Char>)>>(
+      'sqlite3_compileoption_used');
   late final _sqlite3_compileoption_used = _sqlite3_compileoption_usedPtr
-      .asFunction<int Function(ffi.Pointer<ffi.Int8>)>();
+      .asFunction<int Function(ffi.Pointer<pkg_ffi.Char>)>();
 
-  ffi.Pointer<ffi.Int8> sqlite3_compileoption_get(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_compileoption_get(
     int N,
   ) {
     return _sqlite3_compileoption_get(
@@ -110,11 +111,11 @@
     );
   }
 
-  late final _sqlite3_compileoption_getPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Int8> Function(ffi.Int32)>>(
-          'sqlite3_compileoption_get');
+  late final _sqlite3_compileoption_getPtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<pkg_ffi.Char> Function(pkg_ffi.Int)>>(
+      'sqlite3_compileoption_get');
   late final _sqlite3_compileoption_get = _sqlite3_compileoption_getPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(int)>();
+      .asFunction<ffi.Pointer<pkg_ffi.Char> Function(int)>();
 
   /// CAPI3REF: Test To See If The Library Is Threadsafe
   ///
@@ -155,7 +156,7 @@
   }
 
   late final _sqlite3_threadsafePtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function()>>('sqlite3_threadsafe');
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function()>>('sqlite3_threadsafe');
   late final _sqlite3_threadsafe =
       _sqlite3_threadsafePtr.asFunction<int Function()>();
 
@@ -204,7 +205,7 @@
   }
 
   late final _sqlite3_closePtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3>)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3>)>>(
           'sqlite3_close');
   late final _sqlite3_close =
       _sqlite3_closePtr.asFunction<int Function(ffi.Pointer<sqlite3>)>();
@@ -218,7 +219,7 @@
   }
 
   late final _sqlite3_close_v2Ptr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3>)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3>)>>(
           'sqlite3_close_v2');
   late final _sqlite3_close_v2 =
       _sqlite3_close_v2Ptr.asFunction<int Function(ffi.Pointer<sqlite3>)>();
@@ -285,17 +286,17 @@
   /// </ul>
   int sqlite3_exec(
     ffi.Pointer<sqlite3> arg0,
-    ffi.Pointer<ffi.Int8> sql,
+    ffi.Pointer<pkg_ffi.Char> sql,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Int32 Function(
+                pkg_ffi.Int Function(
                     ffi.Pointer<ffi.Void>,
-                    ffi.Int32,
-                    ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-                    ffi.Pointer<ffi.Pointer<ffi.Int8>>)>>
+                    pkg_ffi.Int,
+                    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+                    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>>
         callback,
     ffi.Pointer<ffi.Void> arg3,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> errmsg,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> errmsg,
   ) {
     return _sqlite3_exec(
       arg0,
@@ -308,31 +309,31 @@
 
   late final _sqlite3_execPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(
+                      pkg_ffi.Int Function(
                           ffi.Pointer<ffi.Void>,
-                          ffi.Int32,
-                          ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-                          ffi.Pointer<ffi.Pointer<ffi.Int8>>)>>,
+                          pkg_ffi.Int,
+                          ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+                          ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>>,
               ffi.Pointer<ffi.Void>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>)>>('sqlite3_exec');
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>>('sqlite3_exec');
   late final _sqlite3_exec = _sqlite3_execPtr.asFunction<
       int Function(
           ffi.Pointer<sqlite3>,
-          ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<pkg_ffi.Char>,
           ffi.Pointer<
               ffi.NativeFunction<
-                  ffi.Int32 Function(
+                  pkg_ffi.Int Function(
                       ffi.Pointer<ffi.Void>,
-                      ffi.Int32,
-                      ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-                      ffi.Pointer<ffi.Pointer<ffi.Int8>>)>>,
+                      pkg_ffi.Int,
+                      ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+                      ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>>,
           ffi.Pointer<ffi.Void>,
-          ffi.Pointer<ffi.Pointer<ffi.Int8>>)>();
+          ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>();
 
   /// CAPI3REF: Initialize The SQLite Library
   ///
@@ -412,7 +413,7 @@
   }
 
   late final _sqlite3_initializePtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function()>>('sqlite3_initialize');
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function()>>('sqlite3_initialize');
   late final _sqlite3_initialize =
       _sqlite3_initializePtr.asFunction<int Function()>();
 
@@ -421,7 +422,7 @@
   }
 
   late final _sqlite3_shutdownPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function()>>('sqlite3_shutdown');
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function()>>('sqlite3_shutdown');
   late final _sqlite3_shutdown =
       _sqlite3_shutdownPtr.asFunction<int Function()>();
 
@@ -430,7 +431,7 @@
   }
 
   late final _sqlite3_os_initPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function()>>('sqlite3_os_init');
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function()>>('sqlite3_os_init');
   late final _sqlite3_os_init =
       _sqlite3_os_initPtr.asFunction<int Function()>();
 
@@ -439,7 +440,7 @@
   }
 
   late final _sqlite3_os_endPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function()>>('sqlite3_os_end');
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function()>>('sqlite3_os_end');
   late final _sqlite3_os_end = _sqlite3_os_endPtr.asFunction<int Function()>();
 
   /// CAPI3REF: Configuring The SQLite Library
@@ -480,7 +481,7 @@
   }
 
   late final _sqlite3_configPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(pkg_ffi.Int)>>(
           'sqlite3_config');
   late final _sqlite3_config =
       _sqlite3_configPtr.asFunction<int Function(int)>();
@@ -512,8 +513,8 @@
 
   late final _sqlite3_db_configPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<sqlite3>, ffi.Int32)>>('sqlite3_db_config');
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3>, pkg_ffi.Int)>>('sqlite3_db_config');
   late final _sqlite3_db_config = _sqlite3_db_configPtr
       .asFunction<int Function(ffi.Pointer<sqlite3>, int)>();
 
@@ -535,8 +536,8 @@
 
   late final _sqlite3_extended_result_codesPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3>,
-              ffi.Int32)>>('sqlite3_extended_result_codes');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3>,
+              pkg_ffi.Int)>>('sqlite3_extended_result_codes');
   late final _sqlite3_extended_result_codes = _sqlite3_extended_result_codesPtr
       .asFunction<int Function(ffi.Pointer<sqlite3>, int)>();
 
@@ -698,7 +699,7 @@
   }
 
   late final _sqlite3_changesPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3>)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3>)>>(
           'sqlite3_changes');
   late final _sqlite3_changes =
       _sqlite3_changesPtr.asFunction<int Function(ffi.Pointer<sqlite3>)>();
@@ -745,7 +746,7 @@
   }
 
   late final _sqlite3_total_changesPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3>)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3>)>>(
           'sqlite3_total_changes');
   late final _sqlite3_total_changes = _sqlite3_total_changesPtr
       .asFunction<int Function(ffi.Pointer<sqlite3>)>();
@@ -829,18 +830,18 @@
   /// The input to [sqlite3_complete16()] must be a zero-terminated
   /// UTF-16 string in native byte order.
   int sqlite3_complete(
-    ffi.Pointer<ffi.Int8> sql,
+    ffi.Pointer<pkg_ffi.Char> sql,
   ) {
     return _sqlite3_complete(
       sql,
     );
   }
 
-  late final _sqlite3_completePtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<ffi.Int8>)>>(
-          'sqlite3_complete');
-  late final _sqlite3_complete =
-      _sqlite3_completePtr.asFunction<int Function(ffi.Pointer<ffi.Int8>)>();
+  late final _sqlite3_completePtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<pkg_ffi.Char>)>>(
+      'sqlite3_complete');
+  late final _sqlite3_complete = _sqlite3_completePtr
+      .asFunction<int Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   int sqlite3_complete16(
     ffi.Pointer<ffi.Void> sql,
@@ -851,7 +852,7 @@
   }
 
   late final _sqlite3_complete16Ptr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<ffi.Void>)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<ffi.Void>)>>(
           'sqlite3_complete16');
   late final _sqlite3_complete16 =
       _sqlite3_complete16Ptr.asFunction<int Function(ffi.Pointer<ffi.Void>)>();
@@ -917,7 +918,7 @@
     ffi.Pointer<sqlite3> arg0,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Int32 Function(ffi.Pointer<ffi.Void>, ffi.Int32)>>
+                pkg_ffi.Int Function(ffi.Pointer<ffi.Void>, pkg_ffi.Int)>>
         arg1,
     ffi.Pointer<ffi.Void> arg2,
   ) {
@@ -930,18 +931,19 @@
 
   late final _sqlite3_busy_handlerPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(ffi.Pointer<ffi.Void>, ffi.Int32)>>,
+                      pkg_ffi.Int Function(
+                          ffi.Pointer<ffi.Void>, pkg_ffi.Int)>>,
               ffi.Pointer<ffi.Void>)>>('sqlite3_busy_handler');
   late final _sqlite3_busy_handler = _sqlite3_busy_handlerPtr.asFunction<
       int Function(
           ffi.Pointer<sqlite3>,
           ffi.Pointer<
               ffi.NativeFunction<
-                  ffi.Int32 Function(ffi.Pointer<ffi.Void>, ffi.Int32)>>,
+                  pkg_ffi.Int Function(ffi.Pointer<ffi.Void>, pkg_ffi.Int)>>,
           ffi.Pointer<ffi.Void>)>();
 
   /// CAPI3REF: Set A Busy Timeout
@@ -975,8 +977,8 @@
 
   late final _sqlite3_busy_timeoutPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<sqlite3>, ffi.Int32)>>('sqlite3_busy_timeout');
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3>, pkg_ffi.Int)>>('sqlite3_busy_timeout');
   late final _sqlite3_busy_timeout = _sqlite3_busy_timeoutPtr
       .asFunction<int Function(ffi.Pointer<sqlite3>, int)>();
 
@@ -1053,11 +1055,11 @@
   /// [sqlite3_errmsg()].
   int sqlite3_get_table(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zSql,
-    ffi.Pointer<ffi.Pointer<ffi.Pointer<ffi.Int8>>> pazResult,
-    ffi.Pointer<ffi.Int32> pnRow,
-    ffi.Pointer<ffi.Int32> pnColumn,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> pzErrmsg,
+    ffi.Pointer<pkg_ffi.Char> zSql,
+    ffi.Pointer<ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>> pazResult,
+    ffi.Pointer<pkg_ffi.Int> pnRow,
+    ffi.Pointer<pkg_ffi.Int> pnColumn,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> pzErrmsg,
   ) {
     return _sqlite3_get_table(
       db,
@@ -1071,24 +1073,24 @@
 
   late final _sqlite3_get_tablePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Pointer<ffi.Int8>>>,
-              ffi.Pointer<ffi.Int32>,
-              ffi.Pointer<ffi.Int32>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>)>>('sqlite3_get_table');
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>>,
+              ffi.Pointer<pkg_ffi.Int>,
+              ffi.Pointer<pkg_ffi.Int>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>>('sqlite3_get_table');
   late final _sqlite3_get_table = _sqlite3_get_tablePtr.asFunction<
       int Function(
           ffi.Pointer<sqlite3>,
-          ffi.Pointer<ffi.Int8>,
-          ffi.Pointer<ffi.Pointer<ffi.Pointer<ffi.Int8>>>,
-          ffi.Pointer<ffi.Int32>,
-          ffi.Pointer<ffi.Int32>,
-          ffi.Pointer<ffi.Pointer<ffi.Int8>>)>();
+          ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>>,
+          ffi.Pointer<pkg_ffi.Int>,
+          ffi.Pointer<pkg_ffi.Int>,
+          ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>();
 
   void sqlite3_free_table(
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> result,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> result,
   ) {
     return _sqlite3_free_table(
       result,
@@ -1098,9 +1100,9 @@
   late final _sqlite3_free_tablePtr = _lookup<
       ffi.NativeFunction<
           ffi.Void Function(
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>)>>('sqlite3_free_table');
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>>('sqlite3_free_table');
   late final _sqlite3_free_table = _sqlite3_free_tablePtr
-      .asFunction<void Function(ffi.Pointer<ffi.Pointer<ffi.Int8>>)>();
+      .asFunction<void Function(ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>();
 
   /// CAPI3REF: Formatted String Printing Functions
   ///
@@ -1140,8 +1142,8 @@
   /// ^The sqlite3_vsnprintf() routine is a varargs version of sqlite3_snprintf().
   ///
   /// See also:  [built-in printf()], [printf() SQL function]
-  ffi.Pointer<ffi.Int8> sqlite3_mprintf(
-    ffi.Pointer<ffi.Int8> arg0,
+  ffi.Pointer<pkg_ffi.Char> sqlite3_mprintf(
+    ffi.Pointer<pkg_ffi.Char> arg0,
   ) {
     return _sqlite3_mprintf(
       arg0,
@@ -1150,15 +1152,15 @@
 
   late final _sqlite3_mprintfPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_mprintf');
-  late final _sqlite3_mprintf = _sqlite3_mprintfPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<ffi.Int8>)>();
+          ffi.Pointer<pkg_ffi.Char> Function(
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_mprintf');
+  late final _sqlite3_mprintf = _sqlite3_mprintfPtr.asFunction<
+      ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<pkg_ffi.Char>)>();
 
-  ffi.Pointer<ffi.Int8> sqlite3_snprintf(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_snprintf(
     int arg0,
-    ffi.Pointer<ffi.Int8> arg1,
-    ffi.Pointer<ffi.Int8> arg2,
+    ffi.Pointer<pkg_ffi.Char> arg1,
+    ffi.Pointer<pkg_ffi.Char> arg2,
   ) {
     return _sqlite3_snprintf(
       arg0,
@@ -1169,11 +1171,13 @@
 
   late final _sqlite3_snprintfPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Int32, ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_snprintf');
+          ffi.Pointer<pkg_ffi.Char> Function(
+              pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_snprintf');
   late final _sqlite3_snprintf = _sqlite3_snprintfPtr.asFunction<
-      ffi.Pointer<ffi.Int8> Function(
-          int, ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<pkg_ffi.Char> Function(
+          int, ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// CAPI3REF: Memory Allocation Subsystem
   ///
@@ -1257,7 +1261,7 @@
   }
 
   late final _sqlite3_mallocPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(pkg_ffi.Int)>>(
           'sqlite3_malloc');
   late final _sqlite3_malloc =
       _sqlite3_mallocPtr.asFunction<ffi.Pointer<ffi.Void> Function(int)>();
@@ -1289,7 +1293,7 @@
   late final _sqlite3_reallocPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<ffi.Void> Function(
-              ffi.Pointer<ffi.Void>, ffi.Int32)>>('sqlite3_realloc');
+              ffi.Pointer<ffi.Void>, pkg_ffi.Int)>>('sqlite3_realloc');
   late final _sqlite3_realloc = _sqlite3_reallocPtr
       .asFunction<ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>, int)>();
 
@@ -1378,7 +1382,7 @@
   }
 
   late final _sqlite3_memory_highwaterPtr =
-      _lookup<ffi.NativeFunction<sqlite3_int64 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<sqlite3_int64 Function(pkg_ffi.Int)>>(
           'sqlite3_memory_highwater');
   late final _sqlite3_memory_highwater =
       _sqlite3_memory_highwaterPtr.asFunction<int Function(int)>();
@@ -1415,7 +1419,7 @@
   late final _sqlite3_randomnessPtr = _lookup<
       ffi.NativeFunction<
           ffi.Void Function(
-              ffi.Int32, ffi.Pointer<ffi.Void>)>>('sqlite3_randomness');
+              pkg_ffi.Int, ffi.Pointer<ffi.Void>)>>('sqlite3_randomness');
   late final _sqlite3_randomness = _sqlite3_randomnessPtr
       .asFunction<void Function(int, ffi.Pointer<ffi.Void>)>();
 
@@ -1510,13 +1514,13 @@
     ffi.Pointer<sqlite3> arg0,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Int32 Function(
+                pkg_ffi.Int Function(
                     ffi.Pointer<ffi.Void>,
-                    ffi.Int32,
-                    ffi.Pointer<ffi.Int8>,
-                    ffi.Pointer<ffi.Int8>,
-                    ffi.Pointer<ffi.Int8>,
-                    ffi.Pointer<ffi.Int8>)>>
+                    pkg_ffi.Int,
+                    ffi.Pointer<pkg_ffi.Char>,
+                    ffi.Pointer<pkg_ffi.Char>,
+                    ffi.Pointer<pkg_ffi.Char>,
+                    ffi.Pointer<pkg_ffi.Char>)>>
         xAuth,
     ffi.Pointer<ffi.Void> pUserData,
   ) {
@@ -1529,30 +1533,30 @@
 
   late final _sqlite3_set_authorizerPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(
+                      pkg_ffi.Int Function(
                           ffi.Pointer<ffi.Void>,
-                          ffi.Int32,
-                          ffi.Pointer<ffi.Int8>,
-                          ffi.Pointer<ffi.Int8>,
-                          ffi.Pointer<ffi.Int8>,
-                          ffi.Pointer<ffi.Int8>)>>,
+                          pkg_ffi.Int,
+                          ffi.Pointer<pkg_ffi.Char>,
+                          ffi.Pointer<pkg_ffi.Char>,
+                          ffi.Pointer<pkg_ffi.Char>,
+                          ffi.Pointer<pkg_ffi.Char>)>>,
               ffi.Pointer<ffi.Void>)>>('sqlite3_set_authorizer');
   late final _sqlite3_set_authorizer = _sqlite3_set_authorizerPtr.asFunction<
       int Function(
           ffi.Pointer<sqlite3>,
           ffi.Pointer<
               ffi.NativeFunction<
-                  ffi.Int32 Function(
+                  pkg_ffi.Int Function(
                       ffi.Pointer<ffi.Void>,
-                      ffi.Int32,
-                      ffi.Pointer<ffi.Int8>,
-                      ffi.Pointer<ffi.Int8>,
-                      ffi.Pointer<ffi.Int8>,
-                      ffi.Pointer<ffi.Int8>)>>,
+                      pkg_ffi.Int,
+                      ffi.Pointer<pkg_ffi.Char>,
+                      ffi.Pointer<pkg_ffi.Char>,
+                      ffi.Pointer<pkg_ffi.Char>,
+                      ffi.Pointer<pkg_ffi.Char>)>>,
           ffi.Pointer<ffi.Void>)>();
 
   /// CAPI3REF: Tracing And Profiling Functions
@@ -1590,7 +1594,7 @@
     ffi.Pointer<
             ffi.NativeFunction<
                 ffi.Void Function(
-                    ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Int8>)>>
+                    ffi.Pointer<ffi.Void>, ffi.Pointer<pkg_ffi.Char>)>>
         xTrace,
     ffi.Pointer<ffi.Void> arg2,
   ) {
@@ -1608,7 +1612,7 @@
               ffi.Pointer<
                   ffi.NativeFunction<
                       ffi.Void Function(
-                          ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Int8>)>>,
+                          ffi.Pointer<ffi.Void>, ffi.Pointer<pkg_ffi.Char>)>>,
               ffi.Pointer<ffi.Void>)>>('sqlite3_trace');
   late final _sqlite3_trace = _sqlite3_tracePtr.asFunction<
       ffi.Pointer<ffi.Void> Function(
@@ -1616,15 +1620,15 @@
           ffi.Pointer<
               ffi.NativeFunction<
                   ffi.Void Function(
-                      ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Int8>)>>,
+                      ffi.Pointer<ffi.Void>, ffi.Pointer<pkg_ffi.Char>)>>,
           ffi.Pointer<ffi.Void>)>();
 
   ffi.Pointer<ffi.Void> sqlite3_profile(
     ffi.Pointer<sqlite3> arg0,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Int8>,
-                    sqlite3_uint64)>>
+                ffi.Void Function(ffi.Pointer<ffi.Void>,
+                    ffi.Pointer<pkg_ffi.Char>, sqlite3_uint64)>>
         xProfile,
     ffi.Pointer<ffi.Void> arg2,
   ) {
@@ -1642,7 +1646,7 @@
               ffi.Pointer<
                   ffi.NativeFunction<
                       ffi.Void Function(ffi.Pointer<ffi.Void>,
-                          ffi.Pointer<ffi.Int8>, sqlite3_uint64)>>,
+                          ffi.Pointer<pkg_ffi.Char>, sqlite3_uint64)>>,
               ffi.Pointer<ffi.Void>)>>('sqlite3_profile');
   late final _sqlite3_profile = _sqlite3_profilePtr.asFunction<
       ffi.Pointer<ffi.Void> Function(
@@ -1650,7 +1654,7 @@
           ffi.Pointer<
               ffi.NativeFunction<
                   ffi.Void Function(ffi.Pointer<ffi.Void>,
-                      ffi.Pointer<ffi.Int8>, sqlite3_uint64)>>,
+                      ffi.Pointer<pkg_ffi.Char>, sqlite3_uint64)>>,
           ffi.Pointer<ffi.Void>)>();
 
   /// CAPI3REF: SQL Trace Hook
@@ -1685,7 +1689,7 @@
     int uMask,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Int32 Function(ffi.Uint32, ffi.Pointer<ffi.Void>,
+                pkg_ffi.Int Function(pkg_ffi.UnsignedInt, ffi.Pointer<ffi.Void>,
                     ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)>>
         xCallback,
     ffi.Pointer<ffi.Void> pCtx,
@@ -1700,13 +1704,16 @@
 
   late final _sqlite3_trace_v2Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Uint32,
+              pkg_ffi.UnsignedInt,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(ffi.Uint32, ffi.Pointer<ffi.Void>,
-                          ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)>>,
+                      pkg_ffi.Int Function(
+                          pkg_ffi.UnsignedInt,
+                          ffi.Pointer<ffi.Void>,
+                          ffi.Pointer<ffi.Void>,
+                          ffi.Pointer<ffi.Void>)>>,
               ffi.Pointer<ffi.Void>)>>('sqlite3_trace_v2');
   late final _sqlite3_trace_v2 = _sqlite3_trace_v2Ptr.asFunction<
       int Function(
@@ -1714,8 +1721,11 @@
           int,
           ffi.Pointer<
               ffi.NativeFunction<
-                  ffi.Int32 Function(ffi.Uint32, ffi.Pointer<ffi.Void>,
-                      ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)>>,
+                  pkg_ffi.Int Function(
+                      pkg_ffi.UnsignedInt,
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<ffi.Void>)>>,
           ffi.Pointer<ffi.Void>)>();
 
   /// CAPI3REF: Query Progress Callbacks
@@ -1750,7 +1760,7 @@
   void sqlite3_progress_handler(
     ffi.Pointer<sqlite3> arg0,
     int arg1,
-    ffi.Pointer<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<ffi.Void>)>>
+    ffi.Pointer<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<ffi.Void>)>>
         arg2,
     ffi.Pointer<ffi.Void> arg3,
   ) {
@@ -1766,10 +1776,10 @@
       ffi.NativeFunction<
           ffi.Void Function(
               ffi.Pointer<sqlite3>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(ffi.Pointer<ffi.Void>)>>,
+                      pkg_ffi.Int Function(ffi.Pointer<ffi.Void>)>>,
               ffi.Pointer<ffi.Void>)>>('sqlite3_progress_handler');
   late final _sqlite3_progress_handler =
       _sqlite3_progress_handlerPtr.asFunction<
@@ -1778,7 +1788,7 @@
               int,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(ffi.Pointer<ffi.Void>)>>,
+                      pkg_ffi.Int Function(ffi.Pointer<ffi.Void>)>>,
               ffi.Pointer<ffi.Void>)>();
 
   /// CAPI3REF: Opening A New Database Connection
@@ -2033,7 +2043,7 @@
   ///
   /// See also: [sqlite3_temp_directory]
   int sqlite3_open(
-    ffi.Pointer<ffi.Int8> filename,
+    ffi.Pointer<pkg_ffi.Char> filename,
     ffi.Pointer<ffi.Pointer<sqlite3>> ppDb,
   ) {
     return _sqlite3_open(
@@ -2044,10 +2054,11 @@
 
   late final _sqlite3_openPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<ffi.Int8>,
+          pkg_ffi.Int Function(ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<ffi.Pointer<sqlite3>>)>>('sqlite3_open');
   late final _sqlite3_open = _sqlite3_openPtr.asFunction<
-      int Function(ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Pointer<sqlite3>>)>();
+      int Function(
+          ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<ffi.Pointer<sqlite3>>)>();
 
   int sqlite3_open16(
     ffi.Pointer<ffi.Void> filename,
@@ -2061,16 +2072,16 @@
 
   late final _sqlite3_open16Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<ffi.Void>,
+          pkg_ffi.Int Function(ffi.Pointer<ffi.Void>,
               ffi.Pointer<ffi.Pointer<sqlite3>>)>>('sqlite3_open16');
   late final _sqlite3_open16 = _sqlite3_open16Ptr.asFunction<
       int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Pointer<sqlite3>>)>();
 
   int sqlite3_open_v2(
-    ffi.Pointer<ffi.Int8> filename,
+    ffi.Pointer<pkg_ffi.Char> filename,
     ffi.Pointer<ffi.Pointer<sqlite3>> ppDb,
     int flags,
-    ffi.Pointer<ffi.Int8> zVfs,
+    ffi.Pointer<pkg_ffi.Char> zVfs,
   ) {
     return _sqlite3_open_v2(
       filename,
@@ -2082,14 +2093,14 @@
 
   late final _sqlite3_open_v2Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<ffi.Int8>,
+          pkg_ffi.Int Function(
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<ffi.Pointer<sqlite3>>,
-              ffi.Int32,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_open_v2');
+              pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_open_v2');
   late final _sqlite3_open_v2 = _sqlite3_open_v2Ptr.asFunction<
-      int Function(ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Pointer<sqlite3>>,
-          int, ffi.Pointer<ffi.Int8>)>();
+      int Function(ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<ffi.Pointer<sqlite3>>,
+          int, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// CAPI3REF: Obtain Values For URI Parameters
   ///
@@ -2155,9 +2166,9 @@
   /// main database file.
   ///
   /// See the [URI filename] documentation for additional information.
-  ffi.Pointer<ffi.Int8> sqlite3_uri_parameter(
-    ffi.Pointer<ffi.Int8> zFilename,
-    ffi.Pointer<ffi.Int8> zParam,
+  ffi.Pointer<pkg_ffi.Char> sqlite3_uri_parameter(
+    ffi.Pointer<pkg_ffi.Char> zFilename,
+    ffi.Pointer<pkg_ffi.Char> zParam,
   ) {
     return _sqlite3_uri_parameter(
       zFilename,
@@ -2167,15 +2178,15 @@
 
   late final _sqlite3_uri_parameterPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_uri_parameter');
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_uri_parameter');
   late final _sqlite3_uri_parameter = _sqlite3_uri_parameterPtr.asFunction<
-      ffi.Pointer<ffi.Int8> Function(
-          ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<pkg_ffi.Char> Function(
+          ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<pkg_ffi.Char>)>();
 
   int sqlite3_uri_boolean(
-    ffi.Pointer<ffi.Int8> zFile,
-    ffi.Pointer<ffi.Int8> zParam,
+    ffi.Pointer<pkg_ffi.Char> zFile,
+    ffi.Pointer<pkg_ffi.Char> zParam,
     int bDefault,
   ) {
     return _sqlite3_uri_boolean(
@@ -2187,14 +2198,15 @@
 
   late final _sqlite3_uri_booleanPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>,
-              ffi.Int32)>>('sqlite3_uri_boolean');
+          pkg_ffi.Int Function(ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>, pkg_ffi.Int)>>('sqlite3_uri_boolean');
   late final _sqlite3_uri_boolean = _sqlite3_uri_booleanPtr.asFunction<
-      int Function(ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>, int)>();
+      int Function(
+          ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<pkg_ffi.Char>, int)>();
 
   int sqlite3_uri_int64(
-    ffi.Pointer<ffi.Int8> arg0,
-    ffi.Pointer<ffi.Int8> arg1,
+    ffi.Pointer<pkg_ffi.Char> arg0,
+    ffi.Pointer<pkg_ffi.Char> arg1,
     int arg2,
   ) {
     return _sqlite3_uri_int64(
@@ -2206,13 +2218,14 @@
 
   late final _sqlite3_uri_int64Ptr = _lookup<
       ffi.NativeFunction<
-          sqlite3_int64 Function(ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>,
-              sqlite3_int64)>>('sqlite3_uri_int64');
+          sqlite3_int64 Function(ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>, sqlite3_int64)>>('sqlite3_uri_int64');
   late final _sqlite3_uri_int64 = _sqlite3_uri_int64Ptr.asFunction<
-      int Function(ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>, int)>();
+      int Function(
+          ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<pkg_ffi.Char>, int)>();
 
-  ffi.Pointer<ffi.Int8> sqlite3_uri_key(
-    ffi.Pointer<ffi.Int8> zFilename,
+  ffi.Pointer<pkg_ffi.Char> sqlite3_uri_key(
+    ffi.Pointer<pkg_ffi.Char> zFilename,
     int N,
   ) {
     return _sqlite3_uri_key(
@@ -2223,10 +2236,10 @@
 
   late final _sqlite3_uri_keyPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
-              ffi.Pointer<ffi.Int8>, ffi.Int32)>>('sqlite3_uri_key');
-  late final _sqlite3_uri_key = _sqlite3_uri_keyPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<ffi.Int8>, int)>();
+          ffi.Pointer<pkg_ffi.Char> Function(
+              ffi.Pointer<pkg_ffi.Char>, pkg_ffi.Int)>>('sqlite3_uri_key');
+  late final _sqlite3_uri_key = _sqlite3_uri_keyPtr.asFunction<
+      ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<pkg_ffi.Char>, int)>();
 
   /// CAPI3REF:  Translate filenames
   ///
@@ -2253,8 +2266,8 @@
   /// filename passed into the VFS from the SQLite core and F is not the
   /// return value from [sqlite3_db_filename()], then the result is
   /// undefined and is likely a memory access violation.
-  ffi.Pointer<ffi.Int8> sqlite3_filename_database(
-    ffi.Pointer<ffi.Int8> arg0,
+  ffi.Pointer<pkg_ffi.Char> sqlite3_filename_database(
+    ffi.Pointer<pkg_ffi.Char> arg0,
   ) {
     return _sqlite3_filename_database(
       arg0,
@@ -2263,13 +2276,14 @@
 
   late final _sqlite3_filename_databasePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_filename_database');
-  late final _sqlite3_filename_database = _sqlite3_filename_databasePtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<ffi.Int8>)>();
+          ffi.Pointer<pkg_ffi.Char> Function(
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_filename_database');
+  late final _sqlite3_filename_database =
+      _sqlite3_filename_databasePtr.asFunction<
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<pkg_ffi.Char>)>();
 
-  ffi.Pointer<ffi.Int8> sqlite3_filename_journal(
-    ffi.Pointer<ffi.Int8> arg0,
+  ffi.Pointer<pkg_ffi.Char> sqlite3_filename_journal(
+    ffi.Pointer<pkg_ffi.Char> arg0,
   ) {
     return _sqlite3_filename_journal(
       arg0,
@@ -2278,13 +2292,14 @@
 
   late final _sqlite3_filename_journalPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_filename_journal');
-  late final _sqlite3_filename_journal = _sqlite3_filename_journalPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<ffi.Int8>)>();
+          ffi.Pointer<pkg_ffi.Char> Function(
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_filename_journal');
+  late final _sqlite3_filename_journal =
+      _sqlite3_filename_journalPtr.asFunction<
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<pkg_ffi.Char>)>();
 
-  ffi.Pointer<ffi.Int8> sqlite3_filename_wal(
-    ffi.Pointer<ffi.Int8> arg0,
+  ffi.Pointer<pkg_ffi.Char> sqlite3_filename_wal(
+    ffi.Pointer<pkg_ffi.Char> arg0,
   ) {
     return _sqlite3_filename_wal(
       arg0,
@@ -2293,10 +2308,10 @@
 
   late final _sqlite3_filename_walPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_filename_wal');
-  late final _sqlite3_filename_wal = _sqlite3_filename_walPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<ffi.Int8>)>();
+          ffi.Pointer<pkg_ffi.Char> Function(
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_filename_wal');
+  late final _sqlite3_filename_wal = _sqlite3_filename_walPtr.asFunction<
+      ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   /// CAPI3REF:  Database File Corresponding To A Journal
   ///
@@ -2314,7 +2329,7 @@
   /// of this routine results in undefined and probably undesirable
   /// behavior.
   ffi.Pointer<sqlite3_file> sqlite3_database_file_object(
-    ffi.Pointer<ffi.Int8> arg0,
+    ffi.Pointer<pkg_ffi.Char> arg0,
   ) {
     return _sqlite3_database_file_object(
       arg0,
@@ -2324,9 +2339,10 @@
   late final _sqlite3_database_file_objectPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<sqlite3_file> Function(
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_database_file_object');
-  late final _sqlite3_database_file_object = _sqlite3_database_file_objectPtr
-      .asFunction<ffi.Pointer<sqlite3_file> Function(ffi.Pointer<ffi.Int8>)>();
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_database_file_object');
+  late final _sqlite3_database_file_object =
+      _sqlite3_database_file_objectPtr.asFunction<
+          ffi.Pointer<sqlite3_file> Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   /// CAPI3REF: Create and Destroy VFS Filenames
   ///
@@ -2371,12 +2387,12 @@
   /// that if the [sqlite3_vfs.xOpen()] method of a VFS has been called using Y,
   /// then the corresponding [sqlite3_module.xClose() method should also be
   /// invoked prior to calling sqlite3_free_filename(Y).
-  ffi.Pointer<ffi.Int8> sqlite3_create_filename(
-    ffi.Pointer<ffi.Int8> zDatabase,
-    ffi.Pointer<ffi.Int8> zJournal,
-    ffi.Pointer<ffi.Int8> zWal,
+  ffi.Pointer<pkg_ffi.Char> sqlite3_create_filename(
+    ffi.Pointer<pkg_ffi.Char> zDatabase,
+    ffi.Pointer<pkg_ffi.Char> zJournal,
+    ffi.Pointer<pkg_ffi.Char> zWal,
     int nParam,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> azParam,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> azParam,
   ) {
     return _sqlite3_create_filename(
       zDatabase,
@@ -2388,23 +2404,24 @@
   }
 
   late final _sqlite3_create_filenamePtr = _lookup<
-      ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Int32,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>)>>('sqlite3_create_filename');
+          ffi.NativeFunction<
+              ffi.Pointer<pkg_ffi.Char> Function(
+                  ffi.Pointer<pkg_ffi.Char>,
+                  ffi.Pointer<pkg_ffi.Char>,
+                  ffi.Pointer<pkg_ffi.Char>,
+                  pkg_ffi.Int,
+                  ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>>(
+      'sqlite3_create_filename');
   late final _sqlite3_create_filename = _sqlite3_create_filenamePtr.asFunction<
-      ffi.Pointer<ffi.Int8> Function(
-          ffi.Pointer<ffi.Int8>,
-          ffi.Pointer<ffi.Int8>,
-          ffi.Pointer<ffi.Int8>,
+      ffi.Pointer<pkg_ffi.Char> Function(
+          ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<pkg_ffi.Char>,
           int,
-          ffi.Pointer<ffi.Pointer<ffi.Int8>>)>();
+          ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>();
 
   void sqlite3_free_filename(
-    ffi.Pointer<ffi.Int8> arg0,
+    ffi.Pointer<pkg_ffi.Char> arg0,
   ) {
     return _sqlite3_free_filename(
       arg0,
@@ -2412,10 +2429,10 @@
   }
 
   late final _sqlite3_free_filenamePtr =
-      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Int8>)>>(
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<pkg_ffi.Char>)>>(
           'sqlite3_free_filename');
   late final _sqlite3_free_filename = _sqlite3_free_filenamePtr
-      .asFunction<void Function(ffi.Pointer<ffi.Int8>)>();
+      .asFunction<void Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   /// CAPI3REF: Error Codes And Messages
   /// METHOD: sqlite3
@@ -2476,7 +2493,7 @@
   }
 
   late final _sqlite3_errcodePtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3>)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3>)>>(
           'sqlite3_errcode');
   late final _sqlite3_errcode =
       _sqlite3_errcodePtr.asFunction<int Function(ffi.Pointer<sqlite3>)>();
@@ -2490,12 +2507,12 @@
   }
 
   late final _sqlite3_extended_errcodePtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3>)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3>)>>(
           'sqlite3_extended_errcode');
   late final _sqlite3_extended_errcode = _sqlite3_extended_errcodePtr
       .asFunction<int Function(ffi.Pointer<sqlite3>)>();
 
-  ffi.Pointer<ffi.Int8> sqlite3_errmsg(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_errmsg(
     ffi.Pointer<sqlite3> arg0,
   ) {
     return _sqlite3_errmsg(
@@ -2505,10 +2522,10 @@
 
   late final _sqlite3_errmsgPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
+          ffi.Pointer<pkg_ffi.Char> Function(
               ffi.Pointer<sqlite3>)>>('sqlite3_errmsg');
   late final _sqlite3_errmsg = _sqlite3_errmsgPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3>)>();
+      .asFunction<ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3>)>();
 
   ffi.Pointer<ffi.Void> sqlite3_errmsg16(
     ffi.Pointer<sqlite3> arg0,
@@ -2525,7 +2542,7 @@
   late final _sqlite3_errmsg16 = _sqlite3_errmsg16Ptr
       .asFunction<ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3>)>();
 
-  ffi.Pointer<ffi.Int8> sqlite3_errstr(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_errstr(
     int arg0,
   ) {
     return _sqlite3_errstr(
@@ -2533,11 +2550,11 @@
     );
   }
 
-  late final _sqlite3_errstrPtr =
-      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Int8> Function(ffi.Int32)>>(
-          'sqlite3_errstr');
+  late final _sqlite3_errstrPtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<pkg_ffi.Char> Function(pkg_ffi.Int)>>(
+      'sqlite3_errstr');
   late final _sqlite3_errstr =
-      _sqlite3_errstrPtr.asFunction<ffi.Pointer<ffi.Int8> Function(int)>();
+      _sqlite3_errstrPtr.asFunction<ffi.Pointer<pkg_ffi.Char> Function(int)>();
 
   /// CAPI3REF: Run-time Limits
   /// METHOD: sqlite3
@@ -2591,8 +2608,8 @@
 
   late final _sqlite3_limitPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<sqlite3>, ffi.Int32, ffi.Int32)>>('sqlite3_limit');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3>, pkg_ffi.Int,
+              pkg_ffi.Int)>>('sqlite3_limit');
   late final _sqlite3_limit = _sqlite3_limitPtr
       .asFunction<int Function(ffi.Pointer<sqlite3>, int, int)>();
 
@@ -2696,10 +2713,10 @@
   /// sqlite3_prepare_v3() with a zero prepFlags parameter.
   int sqlite3_prepare(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zSql,
+    ffi.Pointer<pkg_ffi.Char> zSql,
     int nByte,
     ffi.Pointer<ffi.Pointer<sqlite3_stmt>> ppStmt,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> pzTail,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> pzTail,
   ) {
     return _sqlite3_prepare(
       db,
@@ -2712,26 +2729,26 @@
 
   late final _sqlite3_preparePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Int32,
+              ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Pointer<sqlite3_stmt>>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>)>>('sqlite3_prepare');
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>>('sqlite3_prepare');
   late final _sqlite3_prepare = _sqlite3_preparePtr.asFunction<
       int Function(
           ffi.Pointer<sqlite3>,
-          ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<pkg_ffi.Char>,
           int,
           ffi.Pointer<ffi.Pointer<sqlite3_stmt>>,
-          ffi.Pointer<ffi.Pointer<ffi.Int8>>)>();
+          ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>();
 
   int sqlite3_prepare_v2(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zSql,
+    ffi.Pointer<pkg_ffi.Char> zSql,
     int nByte,
     ffi.Pointer<ffi.Pointer<sqlite3_stmt>> ppStmt,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> pzTail,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> pzTail,
   ) {
     return _sqlite3_prepare_v2(
       db,
@@ -2744,27 +2761,27 @@
 
   late final _sqlite3_prepare_v2Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Int32,
+              ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Pointer<sqlite3_stmt>>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>)>>('sqlite3_prepare_v2');
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>>('sqlite3_prepare_v2');
   late final _sqlite3_prepare_v2 = _sqlite3_prepare_v2Ptr.asFunction<
       int Function(
           ffi.Pointer<sqlite3>,
-          ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<pkg_ffi.Char>,
           int,
           ffi.Pointer<ffi.Pointer<sqlite3_stmt>>,
-          ffi.Pointer<ffi.Pointer<ffi.Int8>>)>();
+          ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>();
 
   int sqlite3_prepare_v3(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zSql,
+    ffi.Pointer<pkg_ffi.Char> zSql,
     int nByte,
     int prepFlags,
     ffi.Pointer<ffi.Pointer<sqlite3_stmt>> ppStmt,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> pzTail,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> pzTail,
   ) {
     return _sqlite3_prepare_v3(
       db,
@@ -2778,21 +2795,21 @@
 
   late final _sqlite3_prepare_v3Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Int32,
-              ffi.Uint32,
+              ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int,
+              pkg_ffi.UnsignedInt,
               ffi.Pointer<ffi.Pointer<sqlite3_stmt>>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>)>>('sqlite3_prepare_v3');
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>>('sqlite3_prepare_v3');
   late final _sqlite3_prepare_v3 = _sqlite3_prepare_v3Ptr.asFunction<
       int Function(
           ffi.Pointer<sqlite3>,
-          ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<pkg_ffi.Char>,
           int,
           int,
           ffi.Pointer<ffi.Pointer<sqlite3_stmt>>,
-          ffi.Pointer<ffi.Pointer<ffi.Int8>>)>();
+          ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>();
 
   int sqlite3_prepare16(
     ffi.Pointer<sqlite3> db,
@@ -2812,10 +2829,10 @@
 
   late final _sqlite3_prepare16Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
               ffi.Pointer<ffi.Void>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Pointer<sqlite3_stmt>>,
               ffi.Pointer<ffi.Pointer<ffi.Void>>)>>('sqlite3_prepare16');
   late final _sqlite3_prepare16 = _sqlite3_prepare16Ptr.asFunction<
@@ -2844,10 +2861,10 @@
 
   late final _sqlite3_prepare16_v2Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
               ffi.Pointer<ffi.Void>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Pointer<sqlite3_stmt>>,
               ffi.Pointer<ffi.Pointer<ffi.Void>>)>>('sqlite3_prepare16_v2');
   late final _sqlite3_prepare16_v2 = _sqlite3_prepare16_v2Ptr.asFunction<
@@ -2878,11 +2895,11 @@
 
   late final _sqlite3_prepare16_v3Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
               ffi.Pointer<ffi.Void>,
-              ffi.Int32,
-              ffi.Uint32,
+              pkg_ffi.Int,
+              pkg_ffi.UnsignedInt,
               ffi.Pointer<ffi.Pointer<sqlite3_stmt>>,
               ffi.Pointer<ffi.Pointer<ffi.Void>>)>>('sqlite3_prepare16_v3');
   late final _sqlite3_prepare16_v3 = _sqlite3_prepare16_v3Ptr.asFunction<
@@ -2930,7 +2947,7 @@
   /// ^The string returned by sqlite3_expanded_sql(P), on the other hand,
   /// is obtained from [sqlite3_malloc()] and must be free by the application
   /// by passing it to [sqlite3_free()].
-  ffi.Pointer<ffi.Int8> sqlite3_sql(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_sql(
     ffi.Pointer<sqlite3_stmt> pStmt,
   ) {
     return _sqlite3_sql(
@@ -2940,12 +2957,12 @@
 
   late final _sqlite3_sqlPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
+          ffi.Pointer<pkg_ffi.Char> Function(
               ffi.Pointer<sqlite3_stmt>)>>('sqlite3_sql');
-  late final _sqlite3_sql = _sqlite3_sqlPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_stmt>)>();
+  late final _sqlite3_sql = _sqlite3_sqlPtr.asFunction<
+      ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_stmt>)>();
 
-  ffi.Pointer<ffi.Int8> sqlite3_expanded_sql(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_expanded_sql(
     ffi.Pointer<sqlite3_stmt> pStmt,
   ) {
     return _sqlite3_expanded_sql(
@@ -2955,12 +2972,12 @@
 
   late final _sqlite3_expanded_sqlPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
+          ffi.Pointer<pkg_ffi.Char> Function(
               ffi.Pointer<sqlite3_stmt>)>>('sqlite3_expanded_sql');
-  late final _sqlite3_expanded_sql = _sqlite3_expanded_sqlPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_stmt>)>();
+  late final _sqlite3_expanded_sql = _sqlite3_expanded_sqlPtr.asFunction<
+      ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_stmt>)>();
 
-  ffi.Pointer<ffi.Int8> sqlite3_normalized_sql(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_normalized_sql(
     ffi.Pointer<sqlite3_stmt> pStmt,
   ) {
     return _sqlite3_normalized_sql(
@@ -2970,10 +2987,10 @@
 
   late final _sqlite3_normalized_sqlPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
+          ffi.Pointer<pkg_ffi.Char> Function(
               ffi.Pointer<sqlite3_stmt>)>>('sqlite3_normalized_sql');
-  late final _sqlite3_normalized_sql = _sqlite3_normalized_sqlPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_stmt>)>();
+  late final _sqlite3_normalized_sql = _sqlite3_normalized_sqlPtr.asFunction<
+      ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_stmt>)>();
 
   /// CAPI3REF: Determine If An SQL Statement Writes The Database
   /// METHOD: sqlite3_stmt
@@ -3016,7 +3033,7 @@
   }
 
   late final _sqlite3_stmt_readonlyPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>)>>(
       'sqlite3_stmt_readonly');
   late final _sqlite3_stmt_readonly = _sqlite3_stmt_readonlyPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>)>();
@@ -3038,7 +3055,7 @@
   }
 
   late final _sqlite3_stmt_isexplainPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>)>>(
       'sqlite3_stmt_isexplain');
   late final _sqlite3_stmt_isexplain = _sqlite3_stmt_isexplainPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>)>();
@@ -3069,7 +3086,7 @@
   }
 
   late final _sqlite3_stmt_busyPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>)>>(
       'sqlite3_stmt_busy');
   late final _sqlite3_stmt_busy = _sqlite3_stmt_busyPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>)>();
@@ -3227,11 +3244,11 @@
 
   late final _sqlite3_bind_blobPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Void>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<
                   ffi.NativeFunction<
                       ffi.Void Function(
@@ -3264,9 +3281,9 @@
 
   late final _sqlite3_bind_blob64Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Void>,
               sqlite3_uint64,
               ffi.Pointer<
@@ -3296,7 +3313,7 @@
 
   late final _sqlite3_bind_doublePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>, ffi.Int32,
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int,
               ffi.Double)>>('sqlite3_bind_double');
   late final _sqlite3_bind_double = _sqlite3_bind_doublePtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>, int, double)>();
@@ -3315,8 +3332,8 @@
 
   late final _sqlite3_bind_intPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>, ffi.Int32,
-              ffi.Int32)>>('sqlite3_bind_int');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int,
+              pkg_ffi.Int)>>('sqlite3_bind_int');
   late final _sqlite3_bind_int = _sqlite3_bind_intPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>, int, int)>();
 
@@ -3334,7 +3351,7 @@
 
   late final _sqlite3_bind_int64Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>, ffi.Int32,
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int,
               sqlite3_int64)>>('sqlite3_bind_int64');
   late final _sqlite3_bind_int64 = _sqlite3_bind_int64Ptr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>, int, int)>();
@@ -3351,15 +3368,15 @@
 
   late final _sqlite3_bind_nullPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<sqlite3_stmt>, ffi.Int32)>>('sqlite3_bind_null');
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int)>>('sqlite3_bind_null');
   late final _sqlite3_bind_null = _sqlite3_bind_nullPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
   int sqlite3_bind_text(
     ffi.Pointer<sqlite3_stmt> arg0,
     int arg1,
-    ffi.Pointer<ffi.Int8> arg2,
+    ffi.Pointer<pkg_ffi.Char> arg2,
     int arg3,
     ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
         arg4,
@@ -3375,11 +3392,11 @@
 
   late final _sqlite3_bind_textPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Int32,
+              pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int,
               ffi.Pointer<
                   ffi.NativeFunction<
                       ffi.Void Function(
@@ -3388,7 +3405,7 @@
       int Function(
           ffi.Pointer<sqlite3_stmt>,
           int,
-          ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<pkg_ffi.Char>,
           int,
           ffi.Pointer<
               ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>)>();
@@ -3412,11 +3429,11 @@
 
   late final _sqlite3_bind_text16Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Void>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<
                   ffi.NativeFunction<
                       ffi.Void Function(
@@ -3433,7 +3450,7 @@
   int sqlite3_bind_text64(
     ffi.Pointer<sqlite3_stmt> arg0,
     int arg1,
-    ffi.Pointer<ffi.Int8> arg2,
+    ffi.Pointer<pkg_ffi.Char> arg2,
     int arg3,
     ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
         arg4,
@@ -3451,19 +3468,19 @@
 
   late final _sqlite3_bind_text64Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32,
-              ffi.Pointer<ffi.Int8>,
+              pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Char>,
               sqlite3_uint64,
               ffi.Pointer<
                   ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>,
-              ffi.Uint8)>>('sqlite3_bind_text64');
+              pkg_ffi.UnsignedChar)>>('sqlite3_bind_text64');
   late final _sqlite3_bind_text64 = _sqlite3_bind_text64Ptr.asFunction<
       int Function(
           ffi.Pointer<sqlite3_stmt>,
           int,
-          ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<pkg_ffi.Char>,
           int,
           ffi.Pointer<
               ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>,
@@ -3483,7 +3500,7 @@
 
   late final _sqlite3_bind_valuePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>, ffi.Int32,
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int,
               ffi.Pointer<sqlite3_value>)>>('sqlite3_bind_value');
   late final _sqlite3_bind_value = _sqlite3_bind_valuePtr.asFunction<
       int Function(
@@ -3493,7 +3510,7 @@
     ffi.Pointer<sqlite3_stmt> arg0,
     int arg1,
     ffi.Pointer<ffi.Void> arg2,
-    ffi.Pointer<ffi.Int8> arg3,
+    ffi.Pointer<pkg_ffi.Char> arg3,
     ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
         arg4,
   ) {
@@ -3508,11 +3525,11 @@
 
   late final _sqlite3_bind_pointerPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Void>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<
                   ffi.NativeFunction<
                       ffi.Void Function(
@@ -3522,7 +3539,7 @@
           ffi.Pointer<sqlite3_stmt>,
           int,
           ffi.Pointer<ffi.Void>,
-          ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<pkg_ffi.Char>,
           ffi.Pointer<
               ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>)>();
 
@@ -3540,8 +3557,8 @@
 
   late final _sqlite3_bind_zeroblobPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>, ffi.Int32,
-              ffi.Int32)>>('sqlite3_bind_zeroblob');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int,
+              pkg_ffi.Int)>>('sqlite3_bind_zeroblob');
   late final _sqlite3_bind_zeroblob = _sqlite3_bind_zeroblobPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>, int, int)>();
 
@@ -3559,7 +3576,7 @@
 
   late final _sqlite3_bind_zeroblob64Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>, ffi.Int32,
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int,
               sqlite3_uint64)>>('sqlite3_bind_zeroblob64');
   late final _sqlite3_bind_zeroblob64 = _sqlite3_bind_zeroblob64Ptr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>, int, int)>();
@@ -3590,7 +3607,7 @@
   }
 
   late final _sqlite3_bind_parameter_countPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>)>>(
       'sqlite3_bind_parameter_count');
   late final _sqlite3_bind_parameter_count = _sqlite3_bind_parameter_countPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>)>();
@@ -3619,7 +3636,7 @@
   /// See also: [sqlite3_bind_blob|sqlite3_bind()],
   /// [sqlite3_bind_parameter_count()], and
   /// [sqlite3_bind_parameter_index()].
-  ffi.Pointer<ffi.Int8> sqlite3_bind_parameter_name(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_bind_parameter_name(
     ffi.Pointer<sqlite3_stmt> arg0,
     int arg1,
   ) {
@@ -3631,11 +3648,11 @@
 
   late final _sqlite3_bind_parameter_namePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32)>>('sqlite3_bind_parameter_name');
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_stmt>,
+              pkg_ffi.Int)>>('sqlite3_bind_parameter_name');
   late final _sqlite3_bind_parameter_name =
       _sqlite3_bind_parameter_namePtr.asFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_stmt>, int)>();
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
   /// CAPI3REF: Index Of A Parameter With A Given Name
   /// METHOD: sqlite3_stmt
@@ -3653,7 +3670,7 @@
   /// [sqlite3_bind_parameter_name()].
   int sqlite3_bind_parameter_index(
     ffi.Pointer<sqlite3_stmt> arg0,
-    ffi.Pointer<ffi.Int8> zName,
+    ffi.Pointer<pkg_ffi.Char> zName,
   ) {
     return _sqlite3_bind_parameter_index(
       arg0,
@@ -3663,11 +3680,11 @@
 
   late final _sqlite3_bind_parameter_indexPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_bind_parameter_index');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>,
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_bind_parameter_index');
   late final _sqlite3_bind_parameter_index =
       _sqlite3_bind_parameter_indexPtr.asFunction<
-          int Function(ffi.Pointer<sqlite3_stmt>, ffi.Pointer<ffi.Int8>)>();
+          int Function(ffi.Pointer<sqlite3_stmt>, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// CAPI3REF: Reset All Bindings On A Prepared Statement
   /// METHOD: sqlite3_stmt
@@ -3684,7 +3701,7 @@
   }
 
   late final _sqlite3_clear_bindingsPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>)>>(
       'sqlite3_clear_bindings');
   late final _sqlite3_clear_bindings = _sqlite3_clear_bindingsPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>)>();
@@ -3710,7 +3727,7 @@
   }
 
   late final _sqlite3_column_countPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>)>>(
       'sqlite3_column_count');
   late final _sqlite3_column_count = _sqlite3_column_countPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>)>();
@@ -3740,7 +3757,7 @@
   /// that column, if there is an AS clause.  If there is no AS clause
   /// then the name of the column is unspecified and may change from
   /// one release of SQLite to the next.
-  ffi.Pointer<ffi.Int8> sqlite3_column_name(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_column_name(
     ffi.Pointer<sqlite3_stmt> arg0,
     int N,
   ) {
@@ -3752,10 +3769,10 @@
 
   late final _sqlite3_column_namePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
-              ffi.Pointer<sqlite3_stmt>, ffi.Int32)>>('sqlite3_column_name');
+          ffi.Pointer<pkg_ffi.Char> Function(
+              ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int)>>('sqlite3_column_name');
   late final _sqlite3_column_name = _sqlite3_column_namePtr.asFunction<
-      ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_stmt>, int)>();
+      ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
   ffi.Pointer<ffi.Void> sqlite3_column_name16(
     ffi.Pointer<sqlite3_stmt> arg0,
@@ -3769,8 +3786,8 @@
 
   late final _sqlite3_column_name16Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Void> Function(
-              ffi.Pointer<sqlite3_stmt>, ffi.Int32)>>('sqlite3_column_name16');
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_stmt>,
+              pkg_ffi.Int)>>('sqlite3_column_name16');
   late final _sqlite3_column_name16 = _sqlite3_column_name16Ptr.asFunction<
       ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
@@ -3814,7 +3831,7 @@
   /// [sqlite3_column_database_name | column metadata interfaces]
   /// for the same [prepared statement] and result column
   /// at the same time then the results are undefined.
-  ffi.Pointer<ffi.Int8> sqlite3_column_database_name(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_column_database_name(
     ffi.Pointer<sqlite3_stmt> arg0,
     int arg1,
   ) {
@@ -3826,11 +3843,11 @@
 
   late final _sqlite3_column_database_namePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32)>>('sqlite3_column_database_name');
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_stmt>,
+              pkg_ffi.Int)>>('sqlite3_column_database_name');
   late final _sqlite3_column_database_name =
       _sqlite3_column_database_namePtr.asFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_stmt>, int)>();
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
   ffi.Pointer<ffi.Void> sqlite3_column_database_name16(
     ffi.Pointer<sqlite3_stmt> arg0,
@@ -3845,12 +3862,12 @@
   late final _sqlite3_column_database_name16Ptr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32)>>('sqlite3_column_database_name16');
+              pkg_ffi.Int)>>('sqlite3_column_database_name16');
   late final _sqlite3_column_database_name16 =
       _sqlite3_column_database_name16Ptr.asFunction<
           ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
-  ffi.Pointer<ffi.Int8> sqlite3_column_table_name(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_column_table_name(
     ffi.Pointer<sqlite3_stmt> arg0,
     int arg1,
   ) {
@@ -3862,11 +3879,11 @@
 
   late final _sqlite3_column_table_namePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32)>>('sqlite3_column_table_name');
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_stmt>,
+              pkg_ffi.Int)>>('sqlite3_column_table_name');
   late final _sqlite3_column_table_name =
       _sqlite3_column_table_namePtr.asFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_stmt>, int)>();
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
   ffi.Pointer<ffi.Void> sqlite3_column_table_name16(
     ffi.Pointer<sqlite3_stmt> arg0,
@@ -3881,12 +3898,12 @@
   late final _sqlite3_column_table_name16Ptr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32)>>('sqlite3_column_table_name16');
+              pkg_ffi.Int)>>('sqlite3_column_table_name16');
   late final _sqlite3_column_table_name16 =
       _sqlite3_column_table_name16Ptr.asFunction<
           ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
-  ffi.Pointer<ffi.Int8> sqlite3_column_origin_name(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_column_origin_name(
     ffi.Pointer<sqlite3_stmt> arg0,
     int arg1,
   ) {
@@ -3898,11 +3915,11 @@
 
   late final _sqlite3_column_origin_namePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32)>>('sqlite3_column_origin_name');
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_stmt>,
+              pkg_ffi.Int)>>('sqlite3_column_origin_name');
   late final _sqlite3_column_origin_name =
       _sqlite3_column_origin_namePtr.asFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_stmt>, int)>();
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
   ffi.Pointer<ffi.Void> sqlite3_column_origin_name16(
     ffi.Pointer<sqlite3_stmt> arg0,
@@ -3917,7 +3934,7 @@
   late final _sqlite3_column_origin_name16Ptr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32)>>('sqlite3_column_origin_name16');
+              pkg_ffi.Int)>>('sqlite3_column_origin_name16');
   late final _sqlite3_column_origin_name16 =
       _sqlite3_column_origin_name16Ptr.asFunction<
           ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_stmt>, int)>();
@@ -3950,7 +3967,7 @@
   /// strongly typed, but the typing is dynamic not static.  ^Type
   /// is associated with individual values, not with the containers
   /// used to hold those values.
-  ffi.Pointer<ffi.Int8> sqlite3_column_decltype(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_column_decltype(
     ffi.Pointer<sqlite3_stmt> arg0,
     int arg1,
   ) {
@@ -3962,10 +3979,10 @@
 
   late final _sqlite3_column_decltypePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32)>>('sqlite3_column_decltype');
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_stmt>,
+              pkg_ffi.Int)>>('sqlite3_column_decltype');
   late final _sqlite3_column_decltype = _sqlite3_column_decltypePtr.asFunction<
-      ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_stmt>, int)>();
+      ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
   ffi.Pointer<ffi.Void> sqlite3_column_decltype16(
     ffi.Pointer<sqlite3_stmt> arg0,
@@ -3980,7 +3997,7 @@
   late final _sqlite3_column_decltype16Ptr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_stmt>,
-              ffi.Int32)>>('sqlite3_column_decltype16');
+              pkg_ffi.Int)>>('sqlite3_column_decltype16');
   late final _sqlite3_column_decltype16 =
       _sqlite3_column_decltype16Ptr.asFunction<
           ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_stmt>, int)>();
@@ -4074,7 +4091,7 @@
   }
 
   late final _sqlite3_stepPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>)>>(
       'sqlite3_step');
   late final _sqlite3_step =
       _sqlite3_stepPtr.asFunction<int Function(ffi.Pointer<sqlite3_stmt>)>();
@@ -4105,7 +4122,7 @@
   }
 
   late final _sqlite3_data_countPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>)>>(
       'sqlite3_data_count');
   late final _sqlite3_data_count = _sqlite3_data_countPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>)>();
@@ -4330,7 +4347,7 @@
   late final _sqlite3_column_blobPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<ffi.Void> Function(
-              ffi.Pointer<sqlite3_stmt>, ffi.Int32)>>('sqlite3_column_blob');
+              ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int)>>('sqlite3_column_blob');
   late final _sqlite3_column_blob = _sqlite3_column_blobPtr.asFunction<
       ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
@@ -4346,8 +4363,8 @@
 
   late final _sqlite3_column_doublePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Double Function(
-              ffi.Pointer<sqlite3_stmt>, ffi.Int32)>>('sqlite3_column_double');
+          ffi.Double Function(ffi.Pointer<sqlite3_stmt>,
+              pkg_ffi.Int)>>('sqlite3_column_double');
   late final _sqlite3_column_double = _sqlite3_column_doublePtr
       .asFunction<double Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
@@ -4363,8 +4380,8 @@
 
   late final _sqlite3_column_intPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<sqlite3_stmt>, ffi.Int32)>>('sqlite3_column_int');
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int)>>('sqlite3_column_int');
   late final _sqlite3_column_int = _sqlite3_column_intPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
@@ -4381,11 +4398,11 @@
   late final _sqlite3_column_int64Ptr = _lookup<
       ffi.NativeFunction<
           sqlite3_int64 Function(
-              ffi.Pointer<sqlite3_stmt>, ffi.Int32)>>('sqlite3_column_int64');
+              ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int)>>('sqlite3_column_int64');
   late final _sqlite3_column_int64 = _sqlite3_column_int64Ptr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
-  ffi.Pointer<ffi.Uint8> sqlite3_column_text(
+  ffi.Pointer<pkg_ffi.UnsignedChar> sqlite3_column_text(
     ffi.Pointer<sqlite3_stmt> arg0,
     int iCol,
   ) {
@@ -4397,10 +4414,11 @@
 
   late final _sqlite3_column_textPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Uint8> Function(
-              ffi.Pointer<sqlite3_stmt>, ffi.Int32)>>('sqlite3_column_text');
+          ffi.Pointer<pkg_ffi.UnsignedChar> Function(
+              ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int)>>('sqlite3_column_text');
   late final _sqlite3_column_text = _sqlite3_column_textPtr.asFunction<
-      ffi.Pointer<ffi.Uint8> Function(ffi.Pointer<sqlite3_stmt>, int)>();
+      ffi.Pointer<pkg_ffi.UnsignedChar> Function(
+          ffi.Pointer<sqlite3_stmt>, int)>();
 
   ffi.Pointer<ffi.Void> sqlite3_column_text16(
     ffi.Pointer<sqlite3_stmt> arg0,
@@ -4414,8 +4432,8 @@
 
   late final _sqlite3_column_text16Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Void> Function(
-              ffi.Pointer<sqlite3_stmt>, ffi.Int32)>>('sqlite3_column_text16');
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_stmt>,
+              pkg_ffi.Int)>>('sqlite3_column_text16');
   late final _sqlite3_column_text16 = _sqlite3_column_text16Ptr.asFunction<
       ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
@@ -4432,7 +4450,7 @@
   late final _sqlite3_column_valuePtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<sqlite3_value> Function(
-              ffi.Pointer<sqlite3_stmt>, ffi.Int32)>>('sqlite3_column_value');
+              ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int)>>('sqlite3_column_value');
   late final _sqlite3_column_value = _sqlite3_column_valuePtr.asFunction<
       ffi.Pointer<sqlite3_value> Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
@@ -4448,8 +4466,8 @@
 
   late final _sqlite3_column_bytesPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<sqlite3_stmt>, ffi.Int32)>>('sqlite3_column_bytes');
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int)>>('sqlite3_column_bytes');
   late final _sqlite3_column_bytes = _sqlite3_column_bytesPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
@@ -4465,8 +4483,8 @@
 
   late final _sqlite3_column_bytes16Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<sqlite3_stmt>, ffi.Int32)>>('sqlite3_column_bytes16');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>,
+              pkg_ffi.Int)>>('sqlite3_column_bytes16');
   late final _sqlite3_column_bytes16 = _sqlite3_column_bytes16Ptr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
@@ -4482,8 +4500,8 @@
 
   late final _sqlite3_column_typePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<sqlite3_stmt>, ffi.Int32)>>('sqlite3_column_type');
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int)>>('sqlite3_column_type');
   late final _sqlite3_column_type = _sqlite3_column_typePtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>, int)>();
 
@@ -4520,7 +4538,7 @@
   }
 
   late final _sqlite3_finalizePtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>)>>(
       'sqlite3_finalize');
   late final _sqlite3_finalize = _sqlite3_finalizePtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>)>();
@@ -4557,7 +4575,7 @@
   }
 
   late final _sqlite3_resetPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>)>>(
       'sqlite3_reset');
   late final _sqlite3_reset =
       _sqlite3_resetPtr.asFunction<int Function(ffi.Pointer<sqlite3_stmt>)>();
@@ -4687,18 +4705,18 @@
   /// statement in which the function is running.
   int sqlite3_create_function(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zFunctionName,
+    ffi.Pointer<pkg_ffi.Char> zFunctionName,
     int nArg,
     int eTextRep,
     ffi.Pointer<ffi.Void> pApp,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                ffi.Void Function(ffi.Pointer<sqlite3_context>, pkg_ffi.Int,
                     ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>
         xFunc,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                ffi.Void Function(ffi.Pointer<sqlite3_context>, pkg_ffi.Int,
                     ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>
         xStep,
     ffi.Pointer<
@@ -4717,46 +4735,44 @@
     );
   }
 
-  late final _sqlite3_create_functionPtr =
-      _lookup<
-              ffi.NativeFunction<
-                  ffi.Int32 Function(
-                      ffi.Pointer<sqlite3>,
-                      ffi.Pointer<ffi.Int8>,
-                      ffi.Int32,
-                      ffi.Int32,
-                      ffi.Pointer<ffi.Void>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(
-                                  ffi.Pointer<sqlite3_context>,
-                                  ffi.Int32,
-                                  ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(
-                                  ffi.Pointer<sqlite3_context>,
-                                  ffi.Int32,
-                                  ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(
-                                  ffi.Pointer<sqlite3_context>)>>)>>(
-          'sqlite3_create_function');
+  late final _sqlite3_create_functionPtr = _lookup<
+          ffi.NativeFunction<
+              pkg_ffi.Int Function(
+                  ffi.Pointer<sqlite3>,
+                  ffi.Pointer<pkg_ffi.Char>,
+                  pkg_ffi.Int,
+                  pkg_ffi.Int,
+                  ffi.Pointer<ffi.Void>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(
+                              ffi.Pointer<sqlite3_context>,
+                              pkg_ffi.Int,
+                              ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(
+                              ffi.Pointer<sqlite3_context>,
+                              pkg_ffi.Int,
+                              ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(ffi.Pointer<sqlite3_context>)>>)>>(
+      'sqlite3_create_function');
   late final _sqlite3_create_function = _sqlite3_create_functionPtr.asFunction<
       int Function(
           ffi.Pointer<sqlite3>,
-          ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<pkg_ffi.Char>,
           int,
           int,
           ffi.Pointer<ffi.Void>,
           ffi.Pointer<
               ffi.NativeFunction<
-                  ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                  ffi.Void Function(ffi.Pointer<sqlite3_context>, pkg_ffi.Int,
                       ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
           ffi.Pointer<
               ffi.NativeFunction<
-                  ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                  ffi.Void Function(ffi.Pointer<sqlite3_context>, pkg_ffi.Int,
                       ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
           ffi.Pointer<
               ffi.NativeFunction<
@@ -4770,12 +4786,12 @@
     ffi.Pointer<ffi.Void> pApp,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                ffi.Void Function(ffi.Pointer<sqlite3_context>, pkg_ffi.Int,
                     ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>
         xFunc,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                ffi.Void Function(ffi.Pointer<sqlite3_context>, pkg_ffi.Int,
                     ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>
         xStep,
     ffi.Pointer<
@@ -4794,32 +4810,30 @@
     );
   }
 
-  late final _sqlite3_create_function16Ptr =
-      _lookup<
-              ffi.NativeFunction<
-                  ffi.Int32 Function(
-                      ffi.Pointer<sqlite3>,
-                      ffi.Pointer<ffi.Void>,
-                      ffi.Int32,
-                      ffi.Int32,
-                      ffi.Pointer<ffi.Void>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(
-                                  ffi.Pointer<sqlite3_context>,
-                                  ffi.Int32,
-                                  ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(
-                                  ffi.Pointer<sqlite3_context>,
-                                  ffi.Int32,
-                                  ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(
-                                  ffi.Pointer<sqlite3_context>)>>)>>(
-          'sqlite3_create_function16');
+  late final _sqlite3_create_function16Ptr = _lookup<
+          ffi.NativeFunction<
+              pkg_ffi.Int Function(
+                  ffi.Pointer<sqlite3>,
+                  ffi.Pointer<ffi.Void>,
+                  pkg_ffi.Int,
+                  pkg_ffi.Int,
+                  ffi.Pointer<ffi.Void>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(
+                              ffi.Pointer<sqlite3_context>,
+                              pkg_ffi.Int,
+                              ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(
+                              ffi.Pointer<sqlite3_context>,
+                              pkg_ffi.Int,
+                              ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(ffi.Pointer<sqlite3_context>)>>)>>(
+      'sqlite3_create_function16');
   late final _sqlite3_create_function16 =
       _sqlite3_create_function16Ptr.asFunction<
           int Function(
@@ -4830,11 +4844,15 @@
               ffi.Pointer<ffi.Void>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                      ffi.Void Function(
+                          ffi.Pointer<sqlite3_context>,
+                          pkg_ffi.Int,
                           ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                      ffi.Void Function(
+                          ffi.Pointer<sqlite3_context>,
+                          pkg_ffi.Int,
                           ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
               ffi.Pointer<
                   ffi.NativeFunction<
@@ -4842,18 +4860,18 @@
 
   int sqlite3_create_function_v2(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zFunctionName,
+    ffi.Pointer<pkg_ffi.Char> zFunctionName,
     int nArg,
     int eTextRep,
     ffi.Pointer<ffi.Void> pApp,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                ffi.Void Function(ffi.Pointer<sqlite3_context>, pkg_ffi.Int,
                     ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>
         xFunc,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                ffi.Void Function(ffi.Pointer<sqlite3_context>, pkg_ffi.Int,
                     ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>
         xStep,
     ffi.Pointer<
@@ -4875,49 +4893,52 @@
     );
   }
 
-  late final _sqlite3_create_function_v2Ptr =
-      _lookup<
-              ffi.NativeFunction<
-                  ffi.Int32 Function(
-                      ffi.Pointer<sqlite3>,
-                      ffi.Pointer<ffi.Int8>,
-                      ffi.Int32,
-                      ffi.Int32,
-                      ffi.Pointer<ffi.Void>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(
-                                  ffi.Pointer<sqlite3_context>,
-                                  ffi.Int32,
-                                  ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(
-                                  ffi.Pointer<sqlite3_context>,
-                                  ffi.Int32,
-                                  ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(ffi.Pointer<sqlite3_context>)>>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(ffi.Pointer<ffi.Void>)>>)>>(
-          'sqlite3_create_function_v2');
+  late final _sqlite3_create_function_v2Ptr = _lookup<
+          ffi.NativeFunction<
+              pkg_ffi.Int Function(
+                  ffi.Pointer<sqlite3>,
+                  ffi.Pointer<pkg_ffi.Char>,
+                  pkg_ffi.Int,
+                  pkg_ffi.Int,
+                  ffi.Pointer<ffi.Void>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(
+                              ffi.Pointer<sqlite3_context>,
+                              pkg_ffi.Int,
+                              ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(
+                              ffi.Pointer<sqlite3_context>,
+                              pkg_ffi.Int,
+                              ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(ffi.Pointer<sqlite3_context>)>>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(ffi.Pointer<ffi.Void>)>>)>>(
+      'sqlite3_create_function_v2');
   late final _sqlite3_create_function_v2 =
       _sqlite3_create_function_v2Ptr.asFunction<
           int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               int,
               int,
               ffi.Pointer<ffi.Void>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                      ffi.Void Function(
+                          ffi.Pointer<sqlite3_context>,
+                          pkg_ffi.Int,
                           ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                      ffi.Void Function(
+                          ffi.Pointer<sqlite3_context>,
+                          pkg_ffi.Int,
                           ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
               ffi.Pointer<
                   ffi.NativeFunction<
@@ -4928,13 +4949,13 @@
 
   int sqlite3_create_window_function(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zFunctionName,
+    ffi.Pointer<pkg_ffi.Char> zFunctionName,
     int nArg,
     int eTextRep,
     ffi.Pointer<ffi.Void> pApp,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                ffi.Void Function(ffi.Pointer<sqlite3_context>, pkg_ffi.Int,
                     ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>
         xStep,
     ffi.Pointer<
@@ -4945,7 +4966,7 @@
         xValue,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                ffi.Void Function(ffi.Pointer<sqlite3_context>, pkg_ffi.Int,
                     ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>
         xInverse,
     ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
@@ -4965,48 +4986,49 @@
     );
   }
 
-  late final _sqlite3_create_window_functionPtr =
-      _lookup<
-              ffi.NativeFunction<
-                  ffi.Int32 Function(
-                      ffi.Pointer<sqlite3>,
-                      ffi.Pointer<ffi.Int8>,
-                      ffi.Int32,
-                      ffi.Int32,
-                      ffi.Pointer<ffi.Void>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(
-                                  ffi.Pointer<sqlite3_context>,
-                                  ffi.Int32,
-                                  ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(ffi.Pointer<sqlite3_context>)>>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(ffi.Pointer<sqlite3_context>)>>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(
-                                  ffi.Pointer<sqlite3_context>,
-                                  ffi.Int32,
-                                  ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
-                      ffi.Pointer<
-                          ffi.NativeFunction<
-                              ffi.Void Function(ffi.Pointer<ffi.Void>)>>)>>(
-          'sqlite3_create_window_function');
+  late final _sqlite3_create_window_functionPtr = _lookup<
+          ffi.NativeFunction<
+              pkg_ffi.Int Function(
+                  ffi.Pointer<sqlite3>,
+                  ffi.Pointer<pkg_ffi.Char>,
+                  pkg_ffi.Int,
+                  pkg_ffi.Int,
+                  ffi.Pointer<ffi.Void>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(
+                              ffi.Pointer<sqlite3_context>,
+                              pkg_ffi.Int,
+                              ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(ffi.Pointer<sqlite3_context>)>>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(ffi.Pointer<sqlite3_context>)>>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(
+                              ffi.Pointer<sqlite3_context>,
+                              pkg_ffi.Int,
+                              ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(ffi.Pointer<ffi.Void>)>>)>>(
+      'sqlite3_create_window_function');
   late final _sqlite3_create_window_function =
       _sqlite3_create_window_functionPtr.asFunction<
           int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               int,
               int,
               ffi.Pointer<ffi.Void>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                      ffi.Void Function(
+                          ffi.Pointer<sqlite3_context>,
+                          pkg_ffi.Int,
                           ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
               ffi.Pointer<
                   ffi.NativeFunction<
@@ -5016,7 +5038,9 @@
                       ffi.Void Function(ffi.Pointer<sqlite3_context>)>>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Int32,
+                      ffi.Void Function(
+                          ffi.Pointer<sqlite3_context>,
+                          pkg_ffi.Int,
                           ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>,
               ffi.Pointer<
                   ffi.NativeFunction<
@@ -5031,8 +5055,9 @@
   }
 
   late final _sqlite3_aggregate_countPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_context>)>>(
-      'sqlite3_aggregate_count');
+      ffi.NativeFunction<
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3_context>)>>('sqlite3_aggregate_count');
   late final _sqlite3_aggregate_count = _sqlite3_aggregate_countPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_context>)>();
 
@@ -5045,7 +5070,7 @@
   }
 
   late final _sqlite3_expiredPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>)>>(
       'sqlite3_expired');
   late final _sqlite3_expired =
       _sqlite3_expiredPtr.asFunction<int Function(ffi.Pointer<sqlite3_stmt>)>();
@@ -5062,7 +5087,7 @@
 
   late final _sqlite3_transfer_bindingsPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>,
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>,
               ffi.Pointer<sqlite3_stmt>)>>('sqlite3_transfer_bindings');
   late final _sqlite3_transfer_bindings =
       _sqlite3_transfer_bindingsPtr.asFunction<
@@ -5073,7 +5098,7 @@
   }
 
   late final _sqlite3_global_recoverPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function()>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function()>>(
           'sqlite3_global_recover');
   late final _sqlite3_global_recover =
       _sqlite3_global_recoverPtr.asFunction<int Function()>();
@@ -5092,7 +5117,7 @@
     ffi.Pointer<
             ffi.NativeFunction<
                 ffi.Void Function(
-                    ffi.Pointer<ffi.Void>, sqlite3_int64, ffi.Int32)>>
+                    ffi.Pointer<ffi.Void>, sqlite3_int64, pkg_ffi.Int)>>
         arg0,
     ffi.Pointer<ffi.Void> arg1,
     int arg2,
@@ -5106,11 +5131,11 @@
 
   late final _sqlite3_memory_alarmPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<
                   ffi.NativeFunction<
                       ffi.Void Function(
-                          ffi.Pointer<ffi.Void>, sqlite3_int64, ffi.Int32)>>,
+                          ffi.Pointer<ffi.Void>, sqlite3_int64, pkg_ffi.Int)>>,
               ffi.Pointer<ffi.Void>,
               sqlite3_int64)>>('sqlite3_memory_alarm');
   late final _sqlite3_memory_alarm = _sqlite3_memory_alarmPtr.asFunction<
@@ -5118,7 +5143,7 @@
           ffi.Pointer<
               ffi.NativeFunction<
                   ffi.Void Function(
-                      ffi.Pointer<ffi.Void>, sqlite3_int64, ffi.Int32)>>,
+                      ffi.Pointer<ffi.Void>, sqlite3_int64, pkg_ffi.Int)>>,
           ffi.Pointer<ffi.Void>,
           int)>();
 
@@ -5286,7 +5311,7 @@
   }
 
   late final _sqlite3_value_intPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_value>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_value>)>>(
       'sqlite3_value_int');
   late final _sqlite3_value_int = _sqlite3_value_intPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_value>)>();
@@ -5308,7 +5333,7 @@
 
   ffi.Pointer<ffi.Void> sqlite3_value_pointer(
     ffi.Pointer<sqlite3_value> arg0,
-    ffi.Pointer<ffi.Int8> arg1,
+    ffi.Pointer<pkg_ffi.Char> arg1,
   ) {
     return _sqlite3_value_pointer(
       arg0,
@@ -5319,12 +5344,12 @@
   late final _sqlite3_value_pointerPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_value>,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_value_pointer');
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_value_pointer');
   late final _sqlite3_value_pointer = _sqlite3_value_pointerPtr.asFunction<
       ffi.Pointer<ffi.Void> Function(
-          ffi.Pointer<sqlite3_value>, ffi.Pointer<ffi.Int8>)>();
+          ffi.Pointer<sqlite3_value>, ffi.Pointer<pkg_ffi.Char>)>();
 
-  ffi.Pointer<ffi.Uint8> sqlite3_value_text(
+  ffi.Pointer<pkg_ffi.UnsignedChar> sqlite3_value_text(
     ffi.Pointer<sqlite3_value> arg0,
   ) {
     return _sqlite3_value_text(
@@ -5334,10 +5359,10 @@
 
   late final _sqlite3_value_textPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Uint8> Function(
+          ffi.Pointer<pkg_ffi.UnsignedChar> Function(
               ffi.Pointer<sqlite3_value>)>>('sqlite3_value_text');
   late final _sqlite3_value_text = _sqlite3_value_textPtr.asFunction<
-      ffi.Pointer<ffi.Uint8> Function(ffi.Pointer<sqlite3_value>)>();
+      ffi.Pointer<pkg_ffi.UnsignedChar> Function(ffi.Pointer<sqlite3_value>)>();
 
   ffi.Pointer<ffi.Void> sqlite3_value_text16(
     ffi.Pointer<sqlite3_value> arg0,
@@ -5393,7 +5418,7 @@
   }
 
   late final _sqlite3_value_bytesPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_value>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_value>)>>(
       'sqlite3_value_bytes');
   late final _sqlite3_value_bytes = _sqlite3_value_bytesPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_value>)>();
@@ -5407,7 +5432,7 @@
   }
 
   late final _sqlite3_value_bytes16Ptr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_value>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_value>)>>(
       'sqlite3_value_bytes16');
   late final _sqlite3_value_bytes16 = _sqlite3_value_bytes16Ptr
       .asFunction<int Function(ffi.Pointer<sqlite3_value>)>();
@@ -5421,7 +5446,7 @@
   }
 
   late final _sqlite3_value_typePtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_value>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_value>)>>(
       'sqlite3_value_type');
   late final _sqlite3_value_type = _sqlite3_value_typePtr
       .asFunction<int Function(ffi.Pointer<sqlite3_value>)>();
@@ -5435,7 +5460,7 @@
   }
 
   late final _sqlite3_value_numeric_typePtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_value>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_value>)>>(
       'sqlite3_value_numeric_type');
   late final _sqlite3_value_numeric_type = _sqlite3_value_numeric_typePtr
       .asFunction<int Function(ffi.Pointer<sqlite3_value>)>();
@@ -5449,7 +5474,7 @@
   }
 
   late final _sqlite3_value_nochangePtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_value>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_value>)>>(
       'sqlite3_value_nochange');
   late final _sqlite3_value_nochange = _sqlite3_value_nochangePtr
       .asFunction<int Function(ffi.Pointer<sqlite3_value>)>();
@@ -5463,7 +5488,7 @@
   }
 
   late final _sqlite3_value_frombindPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_value>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_value>)>>(
       'sqlite3_value_frombind');
   late final _sqlite3_value_frombind = _sqlite3_value_frombindPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_value>)>();
@@ -5485,8 +5510,9 @@
   }
 
   late final _sqlite3_value_subtypePtr = _lookup<
-          ffi.NativeFunction<ffi.Uint32 Function(ffi.Pointer<sqlite3_value>)>>(
-      'sqlite3_value_subtype');
+      ffi.NativeFunction<
+          pkg_ffi.UnsignedInt Function(
+              ffi.Pointer<sqlite3_value>)>>('sqlite3_value_subtype');
   late final _sqlite3_value_subtype = _sqlite3_value_subtypePtr
       .asFunction<int Function(ffi.Pointer<sqlite3_value>)>();
 
@@ -5585,7 +5611,7 @@
   late final _sqlite3_aggregate_contextPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_context>,
-              ffi.Int32)>>('sqlite3_aggregate_context');
+              pkg_ffi.Int)>>('sqlite3_aggregate_context');
   late final _sqlite3_aggregate_context =
       _sqlite3_aggregate_contextPtr.asFunction<
           ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_context>, int)>();
@@ -5707,8 +5733,8 @@
 
   late final _sqlite3_get_auxdataPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Void> Function(
-              ffi.Pointer<sqlite3_context>, ffi.Int32)>>('sqlite3_get_auxdata');
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_context>,
+              pkg_ffi.Int)>>('sqlite3_get_auxdata');
   late final _sqlite3_get_auxdata = _sqlite3_get_auxdataPtr.asFunction<
       ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_context>, int)>();
 
@@ -5731,7 +5757,7 @@
       ffi.NativeFunction<
           ffi.Void Function(
               ffi.Pointer<sqlite3_context>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Void>,
               ffi.Pointer<
                   ffi.NativeFunction<
@@ -5909,7 +5935,7 @@
           ffi.Void Function(
               ffi.Pointer<sqlite3_context>,
               ffi.Pointer<ffi.Void>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<
                   ffi.NativeFunction<
                       ffi.Void Function(
@@ -5974,7 +6000,7 @@
 
   void sqlite3_result_error(
     ffi.Pointer<sqlite3_context> arg0,
-    ffi.Pointer<ffi.Int8> arg1,
+    ffi.Pointer<pkg_ffi.Char> arg1,
     int arg2,
   ) {
     return _sqlite3_result_error(
@@ -5986,11 +6012,11 @@
 
   late final _sqlite3_result_errorPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Pointer<ffi.Int8>,
-              ffi.Int32)>>('sqlite3_result_error');
+          ffi.Void Function(ffi.Pointer<sqlite3_context>,
+              ffi.Pointer<pkg_ffi.Char>, pkg_ffi.Int)>>('sqlite3_result_error');
   late final _sqlite3_result_error = _sqlite3_result_errorPtr.asFunction<
       void Function(
-          ffi.Pointer<sqlite3_context>, ffi.Pointer<ffi.Int8>, int)>();
+          ffi.Pointer<sqlite3_context>, ffi.Pointer<pkg_ffi.Char>, int)>();
 
   void sqlite3_result_error16(
     ffi.Pointer<sqlite3_context> arg0,
@@ -6007,7 +6033,7 @@
   late final _sqlite3_result_error16Ptr = _lookup<
       ffi.NativeFunction<
           ffi.Void Function(ffi.Pointer<sqlite3_context>, ffi.Pointer<ffi.Void>,
-              ffi.Int32)>>('sqlite3_result_error16');
+              pkg_ffi.Int)>>('sqlite3_result_error16');
   late final _sqlite3_result_error16 = _sqlite3_result_error16Ptr.asFunction<
       void Function(
           ffi.Pointer<sqlite3_context>, ffi.Pointer<ffi.Void>, int)>();
@@ -6053,7 +6079,7 @@
   late final _sqlite3_result_error_codePtr = _lookup<
       ffi.NativeFunction<
           ffi.Void Function(ffi.Pointer<sqlite3_context>,
-              ffi.Int32)>>('sqlite3_result_error_code');
+              pkg_ffi.Int)>>('sqlite3_result_error_code');
   late final _sqlite3_result_error_code = _sqlite3_result_error_codePtr
       .asFunction<void Function(ffi.Pointer<sqlite3_context>, int)>();
 
@@ -6069,8 +6095,8 @@
 
   late final _sqlite3_result_intPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(
-              ffi.Pointer<sqlite3_context>, ffi.Int32)>>('sqlite3_result_int');
+          ffi.Void Function(ffi.Pointer<sqlite3_context>,
+              pkg_ffi.Int)>>('sqlite3_result_int');
   late final _sqlite3_result_int = _sqlite3_result_intPtr
       .asFunction<void Function(ffi.Pointer<sqlite3_context>, int)>();
 
@@ -6107,7 +6133,7 @@
 
   void sqlite3_result_text(
     ffi.Pointer<sqlite3_context> arg0,
-    ffi.Pointer<ffi.Int8> arg1,
+    ffi.Pointer<pkg_ffi.Char> arg1,
     int arg2,
     ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
         arg3,
@@ -6124,8 +6150,8 @@
       ffi.NativeFunction<
           ffi.Void Function(
               ffi.Pointer<sqlite3_context>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Int32,
+              ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int,
               ffi.Pointer<
                   ffi.NativeFunction<
                       ffi.Void Function(
@@ -6133,14 +6159,14 @@
   late final _sqlite3_result_text = _sqlite3_result_textPtr.asFunction<
       void Function(
           ffi.Pointer<sqlite3_context>,
-          ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<pkg_ffi.Char>,
           int,
           ffi.Pointer<
               ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>)>();
 
   void sqlite3_result_text64(
     ffi.Pointer<sqlite3_context> arg0,
-    ffi.Pointer<ffi.Int8> arg1,
+    ffi.Pointer<pkg_ffi.Char> arg1,
     int arg2,
     ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
         arg3,
@@ -6159,15 +6185,15 @@
       ffi.NativeFunction<
           ffi.Void Function(
               ffi.Pointer<sqlite3_context>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               sqlite3_uint64,
               ffi.Pointer<
                   ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>,
-              ffi.Uint8)>>('sqlite3_result_text64');
+              pkg_ffi.UnsignedChar)>>('sqlite3_result_text64');
   late final _sqlite3_result_text64 = _sqlite3_result_text64Ptr.asFunction<
       void Function(
           ffi.Pointer<sqlite3_context>,
-          ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<pkg_ffi.Char>,
           int,
           ffi.Pointer<
               ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>,
@@ -6193,7 +6219,7 @@
           ffi.Void Function(
               ffi.Pointer<sqlite3_context>,
               ffi.Pointer<ffi.Void>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<
                   ffi.NativeFunction<
                       ffi.Void Function(
@@ -6226,7 +6252,7 @@
               ffi.Void Function(
                   ffi.Pointer<sqlite3_context>,
                   ffi.Pointer<ffi.Void>,
-                  ffi.Int32,
+                  pkg_ffi.Int,
                   ffi.Pointer<
                       ffi.NativeFunction<
                           ffi.Void Function(ffi.Pointer<ffi.Void>)>>)>>(
@@ -6259,7 +6285,7 @@
               ffi.Void Function(
                   ffi.Pointer<sqlite3_context>,
                   ffi.Pointer<ffi.Void>,
-                  ffi.Int32,
+                  pkg_ffi.Int,
                   ffi.Pointer<
                       ffi.NativeFunction<
                           ffi.Void Function(ffi.Pointer<ffi.Void>)>>)>>(
@@ -6293,7 +6319,7 @@
   void sqlite3_result_pointer(
     ffi.Pointer<sqlite3_context> arg0,
     ffi.Pointer<ffi.Void> arg1,
-    ffi.Pointer<ffi.Int8> arg2,
+    ffi.Pointer<pkg_ffi.Char> arg2,
     ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
         arg3,
   ) {
@@ -6310,7 +6336,7 @@
           ffi.Void Function(
               ffi.Pointer<sqlite3_context>,
               ffi.Pointer<ffi.Void>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<
                   ffi.NativeFunction<
                       ffi.Void Function(
@@ -6319,7 +6345,7 @@
       void Function(
           ffi.Pointer<sqlite3_context>,
           ffi.Pointer<ffi.Void>,
-          ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<pkg_ffi.Char>,
           ffi.Pointer<
               ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>)>();
 
@@ -6336,7 +6362,7 @@
   late final _sqlite3_result_zeroblobPtr = _lookup<
       ffi.NativeFunction<
           ffi.Void Function(ffi.Pointer<sqlite3_context>,
-              ffi.Int32)>>('sqlite3_result_zeroblob');
+              pkg_ffi.Int)>>('sqlite3_result_zeroblob');
   late final _sqlite3_result_zeroblob = _sqlite3_result_zeroblobPtr
       .asFunction<void Function(ffi.Pointer<sqlite3_context>, int)>();
 
@@ -6352,7 +6378,7 @@
 
   late final _sqlite3_result_zeroblob64Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_context>,
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_context>,
               sqlite3_uint64)>>('sqlite3_result_zeroblob64');
   late final _sqlite3_result_zeroblob64 = _sqlite3_result_zeroblob64Ptr
       .asFunction<int Function(ffi.Pointer<sqlite3_context>, int)>();
@@ -6380,7 +6406,7 @@
   late final _sqlite3_result_subtypePtr = _lookup<
       ffi.NativeFunction<
           ffi.Void Function(ffi.Pointer<sqlite3_context>,
-              ffi.Uint32)>>('sqlite3_result_subtype');
+              pkg_ffi.UnsignedInt)>>('sqlite3_result_subtype');
   late final _sqlite3_result_subtype = _sqlite3_result_subtypePtr
       .asFunction<void Function(ffi.Pointer<sqlite3_context>, int)>();
 
@@ -6465,13 +6491,13 @@
   /// See also:  [sqlite3_collation_needed()] and [sqlite3_collation_needed16()].
   int sqlite3_create_collation(
     ffi.Pointer<sqlite3> arg0,
-    ffi.Pointer<ffi.Int8> zName,
+    ffi.Pointer<pkg_ffi.Char> zName,
     int eTextRep,
     ffi.Pointer<ffi.Void> pArg,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Int32 Function(ffi.Pointer<ffi.Void>, ffi.Int32,
-                    ffi.Pointer<ffi.Void>, ffi.Int32, ffi.Pointer<ffi.Void>)>>
+                pkg_ffi.Int Function(ffi.Pointer<ffi.Void>, pkg_ffi.Int,
+                    ffi.Pointer<ffi.Void>, pkg_ffi.Int, ffi.Pointer<ffi.Void>)>>
         xCompare,
   ) {
     return _sqlite3_create_collation(
@@ -6485,45 +6511,45 @@
 
   late final _sqlite3_create_collationPtr = _lookup<
           ffi.NativeFunction<
-              ffi.Int32 Function(
+              pkg_ffi.Int Function(
                   ffi.Pointer<sqlite3>,
-                  ffi.Pointer<ffi.Int8>,
-                  ffi.Int32,
+                  ffi.Pointer<pkg_ffi.Char>,
+                  pkg_ffi.Int,
                   ffi.Pointer<ffi.Void>,
                   ffi.Pointer<
                       ffi.NativeFunction<
-                          ffi.Int32 Function(
+                          pkg_ffi.Int Function(
                               ffi.Pointer<ffi.Void>,
-                              ffi.Int32,
+                              pkg_ffi.Int,
                               ffi.Pointer<ffi.Void>,
-                              ffi.Int32,
+                              pkg_ffi.Int,
                               ffi.Pointer<ffi.Void>)>>)>>(
       'sqlite3_create_collation');
   late final _sqlite3_create_collation =
       _sqlite3_create_collationPtr.asFunction<
           int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               int,
               ffi.Pointer<ffi.Void>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(
+                      pkg_ffi.Int Function(
                           ffi.Pointer<ffi.Void>,
-                          ffi.Int32,
+                          pkg_ffi.Int,
                           ffi.Pointer<ffi.Void>,
-                          ffi.Int32,
+                          pkg_ffi.Int,
                           ffi.Pointer<ffi.Void>)>>)>();
 
   int sqlite3_create_collation_v2(
     ffi.Pointer<sqlite3> arg0,
-    ffi.Pointer<ffi.Int8> zName,
+    ffi.Pointer<pkg_ffi.Char> zName,
     int eTextRep,
     ffi.Pointer<ffi.Void> pArg,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Int32 Function(ffi.Pointer<ffi.Void>, ffi.Int32,
-                    ffi.Pointer<ffi.Void>, ffi.Int32, ffi.Pointer<ffi.Void>)>>
+                pkg_ffi.Int Function(ffi.Pointer<ffi.Void>, pkg_ffi.Int,
+                    ffi.Pointer<ffi.Void>, pkg_ffi.Int, ffi.Pointer<ffi.Void>)>>
         xCompare,
     ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
         xDestroy,
@@ -6540,18 +6566,18 @@
 
   late final _sqlite3_create_collation_v2Ptr = _lookup<
           ffi.NativeFunction<
-              ffi.Int32 Function(
+              pkg_ffi.Int Function(
                   ffi.Pointer<sqlite3>,
-                  ffi.Pointer<ffi.Int8>,
-                  ffi.Int32,
+                  ffi.Pointer<pkg_ffi.Char>,
+                  pkg_ffi.Int,
                   ffi.Pointer<ffi.Void>,
                   ffi.Pointer<
                       ffi.NativeFunction<
-                          ffi.Int32 Function(
+                          pkg_ffi.Int Function(
                               ffi.Pointer<ffi.Void>,
-                              ffi.Int32,
+                              pkg_ffi.Int,
                               ffi.Pointer<ffi.Void>,
-                              ffi.Int32,
+                              pkg_ffi.Int,
                               ffi.Pointer<ffi.Void>)>>,
                   ffi.Pointer<
                       ffi.NativeFunction<
@@ -6561,16 +6587,16 @@
       _sqlite3_create_collation_v2Ptr.asFunction<
           int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               int,
               ffi.Pointer<ffi.Void>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(
+                      pkg_ffi.Int Function(
                           ffi.Pointer<ffi.Void>,
-                          ffi.Int32,
+                          pkg_ffi.Int,
                           ffi.Pointer<ffi.Void>,
-                          ffi.Int32,
+                          pkg_ffi.Int,
                           ffi.Pointer<ffi.Void>)>>,
               ffi.Pointer<
                   ffi.NativeFunction<
@@ -6583,8 +6609,8 @@
     ffi.Pointer<ffi.Void> pArg,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Int32 Function(ffi.Pointer<ffi.Void>, ffi.Int32,
-                    ffi.Pointer<ffi.Void>, ffi.Int32, ffi.Pointer<ffi.Void>)>>
+                pkg_ffi.Int Function(ffi.Pointer<ffi.Void>, pkg_ffi.Int,
+                    ffi.Pointer<ffi.Void>, pkg_ffi.Int, ffi.Pointer<ffi.Void>)>>
         xCompare,
   ) {
     return _sqlite3_create_collation16(
@@ -6598,18 +6624,18 @@
 
   late final _sqlite3_create_collation16Ptr = _lookup<
           ffi.NativeFunction<
-              ffi.Int32 Function(
+              pkg_ffi.Int Function(
                   ffi.Pointer<sqlite3>,
                   ffi.Pointer<ffi.Void>,
-                  ffi.Int32,
+                  pkg_ffi.Int,
                   ffi.Pointer<ffi.Void>,
                   ffi.Pointer<
                       ffi.NativeFunction<
-                          ffi.Int32 Function(
+                          pkg_ffi.Int Function(
                               ffi.Pointer<ffi.Void>,
-                              ffi.Int32,
+                              pkg_ffi.Int,
                               ffi.Pointer<ffi.Void>,
-                              ffi.Int32,
+                              pkg_ffi.Int,
                               ffi.Pointer<ffi.Void>)>>)>>(
       'sqlite3_create_collation16');
   late final _sqlite3_create_collation16 =
@@ -6621,11 +6647,11 @@
               ffi.Pointer<ffi.Void>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(
+                      pkg_ffi.Int Function(
                           ffi.Pointer<ffi.Void>,
-                          ffi.Int32,
+                          pkg_ffi.Int,
                           ffi.Pointer<ffi.Void>,
-                          ffi.Int32,
+                          pkg_ffi.Int,
                           ffi.Pointer<ffi.Void>)>>)>();
 
   /// CAPI3REF: Collation Needed Callbacks
@@ -6659,7 +6685,7 @@
     ffi.Pointer<
             ffi.NativeFunction<
                 ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<sqlite3>,
-                    ffi.Int32, ffi.Pointer<ffi.Int8>)>>
+                    pkg_ffi.Int, ffi.Pointer<pkg_ffi.Char>)>>
         arg2,
   ) {
     return _sqlite3_collation_needed(
@@ -6671,7 +6697,7 @@
 
   late final _sqlite3_collation_neededPtr = _lookup<
           ffi.NativeFunction<
-              ffi.Int32 Function(
+              pkg_ffi.Int Function(
                   ffi.Pointer<sqlite3>,
                   ffi.Pointer<ffi.Void>,
                   ffi.Pointer<
@@ -6679,8 +6705,8 @@
                           ffi.Void Function(
                               ffi.Pointer<ffi.Void>,
                               ffi.Pointer<sqlite3>,
-                              ffi.Int32,
-                              ffi.Pointer<ffi.Int8>)>>)>>(
+                              pkg_ffi.Int,
+                              ffi.Pointer<pkg_ffi.Char>)>>)>>(
       'sqlite3_collation_needed');
   late final _sqlite3_collation_needed =
       _sqlite3_collation_neededPtr.asFunction<
@@ -6692,8 +6718,8 @@
                       ffi.Void Function(
                           ffi.Pointer<ffi.Void>,
                           ffi.Pointer<sqlite3>,
-                          ffi.Int32,
-                          ffi.Pointer<ffi.Int8>)>>)>();
+                          pkg_ffi.Int,
+                          ffi.Pointer<pkg_ffi.Char>)>>)>();
 
   int sqlite3_collation_needed16(
     ffi.Pointer<sqlite3> arg0,
@@ -6701,7 +6727,7 @@
     ffi.Pointer<
             ffi.NativeFunction<
                 ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<sqlite3>,
-                    ffi.Int32, ffi.Pointer<ffi.Void>)>>
+                    pkg_ffi.Int, ffi.Pointer<ffi.Void>)>>
         arg2,
   ) {
     return _sqlite3_collation_needed16(
@@ -6713,7 +6739,7 @@
 
   late final _sqlite3_collation_needed16Ptr = _lookup<
           ffi.NativeFunction<
-              ffi.Int32 Function(
+              pkg_ffi.Int Function(
                   ffi.Pointer<sqlite3>,
                   ffi.Pointer<ffi.Void>,
                   ffi.Pointer<
@@ -6721,7 +6747,7 @@
                           ffi.Void Function(
                               ffi.Pointer<ffi.Void>,
                               ffi.Pointer<sqlite3>,
-                              ffi.Int32,
+                              pkg_ffi.Int,
                               ffi.Pointer<ffi.Void>)>>)>>(
       'sqlite3_collation_needed16');
   late final _sqlite3_collation_needed16 =
@@ -6734,7 +6760,7 @@
                       ffi.Void Function(
                           ffi.Pointer<ffi.Void>,
                           ffi.Pointer<sqlite3>,
-                          ffi.Int32,
+                          pkg_ffi.Int,
                           ffi.Pointer<ffi.Void>)>>)>();
 
   /// CAPI3REF: Suspend Execution For A Short Time
@@ -6761,7 +6787,7 @@
   }
 
   late final _sqlite3_sleepPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(pkg_ffi.Int)>>(
           'sqlite3_sleep');
   late final _sqlite3_sleep = _sqlite3_sleepPtr.asFunction<int Function(int)>();
 
@@ -6819,13 +6845,13 @@
   /// &nbsp;     NULL, NULL);
   /// sqlite3_temp_directory = sqlite3_mprintf("%s", zPathBuf);
   /// </pre></blockquote>
-  late final ffi.Pointer<ffi.Pointer<ffi.Int8>> _sqlite3_temp_directory =
-      _lookup<ffi.Pointer<ffi.Int8>>('sqlite3_temp_directory');
+  late final ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> _sqlite3_temp_directory =
+      _lookup<ffi.Pointer<pkg_ffi.Char>>('sqlite3_temp_directory');
 
-  ffi.Pointer<ffi.Int8> get sqlite3_temp_directory =>
+  ffi.Pointer<pkg_ffi.Char> get sqlite3_temp_directory =>
       _sqlite3_temp_directory.value;
 
-  set sqlite3_temp_directory(ffi.Pointer<ffi.Int8> value) =>
+  set sqlite3_temp_directory(ffi.Pointer<pkg_ffi.Char> value) =>
       _sqlite3_temp_directory.value = value;
 
   /// CAPI3REF: Name Of The Folder Holding Database Files
@@ -6861,13 +6887,13 @@
   /// Hence, if this variable is modified directly, either it should be
   /// made NULL or made to point to memory obtained from [sqlite3_malloc]
   /// or else the use of the [data_store_directory pragma] should be avoided.
-  late final ffi.Pointer<ffi.Pointer<ffi.Int8>> _sqlite3_data_directory =
-      _lookup<ffi.Pointer<ffi.Int8>>('sqlite3_data_directory');
+  late final ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> _sqlite3_data_directory =
+      _lookup<ffi.Pointer<pkg_ffi.Char>>('sqlite3_data_directory');
 
-  ffi.Pointer<ffi.Int8> get sqlite3_data_directory =>
+  ffi.Pointer<pkg_ffi.Char> get sqlite3_data_directory =>
       _sqlite3_data_directory.value;
 
-  set sqlite3_data_directory(ffi.Pointer<ffi.Int8> value) =>
+  set sqlite3_data_directory(ffi.Pointer<pkg_ffi.Char> value) =>
       _sqlite3_data_directory.value = value;
 
   /// CAPI3REF: Win32 Specific Interface
@@ -6899,14 +6925,14 @@
 
   late final _sqlite3_win32_set_directoryPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Uint64,
+          pkg_ffi.Int Function(pkg_ffi.UnsignedLong,
               ffi.Pointer<ffi.Void>)>>('sqlite3_win32_set_directory');
   late final _sqlite3_win32_set_directory = _sqlite3_win32_set_directoryPtr
       .asFunction<int Function(int, ffi.Pointer<ffi.Void>)>();
 
   int sqlite3_win32_set_directory8(
     int type,
-    ffi.Pointer<ffi.Int8> zValue,
+    ffi.Pointer<pkg_ffi.Char> zValue,
   ) {
     return _sqlite3_win32_set_directory8(
       type,
@@ -6916,10 +6942,10 @@
 
   late final _sqlite3_win32_set_directory8Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Uint64,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_win32_set_directory8');
+          pkg_ffi.Int Function(pkg_ffi.UnsignedLong,
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_win32_set_directory8');
   late final _sqlite3_win32_set_directory8 = _sqlite3_win32_set_directory8Ptr
-      .asFunction<int Function(int, ffi.Pointer<ffi.Int8>)>();
+      .asFunction<int Function(int, ffi.Pointer<pkg_ffi.Char>)>();
 
   int sqlite3_win32_set_directory16(
     int type,
@@ -6933,7 +6959,7 @@
 
   late final _sqlite3_win32_set_directory16Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Uint64,
+          pkg_ffi.Int Function(pkg_ffi.UnsignedLong,
               ffi.Pointer<ffi.Void>)>>('sqlite3_win32_set_directory16');
   late final _sqlite3_win32_set_directory16 = _sqlite3_win32_set_directory16Ptr
       .asFunction<int Function(int, ffi.Pointer<ffi.Void>)>();
@@ -6967,7 +6993,7 @@
   }
 
   late final _sqlite3_get_autocommitPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3>)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3>)>>(
           'sqlite3_get_autocommit');
   late final _sqlite3_get_autocommit = _sqlite3_get_autocommitPtr
       .asFunction<int Function(ffi.Pointer<sqlite3>)>();
@@ -7024,9 +7050,9 @@
   /// <li> [sqlite3_filename_journal()]
   /// <li> [sqlite3_filename_wal()]
   /// </ul>
-  ffi.Pointer<ffi.Int8> sqlite3_db_filename(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_db_filename(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zDbName,
+    ffi.Pointer<pkg_ffi.Char> zDbName,
   ) {
     return _sqlite3_db_filename(
       db,
@@ -7036,11 +7062,11 @@
 
   late final _sqlite3_db_filenamePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_db_filename');
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3>,
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_db_filename');
   late final _sqlite3_db_filename = _sqlite3_db_filenamePtr.asFunction<
-      ffi.Pointer<ffi.Int8> Function(
-          ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>)>();
+      ffi.Pointer<pkg_ffi.Char> Function(
+          ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// CAPI3REF: Determine if a database is read-only
   /// METHOD: sqlite3
@@ -7050,7 +7076,7 @@
   /// the name of a database on connection D.
   int sqlite3_db_readonly(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zDbName,
+    ffi.Pointer<pkg_ffi.Char> zDbName,
   ) {
     return _sqlite3_db_readonly(
       db,
@@ -7060,10 +7086,10 @@
 
   late final _sqlite3_db_readonlyPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_db_readonly');
-  late final _sqlite3_db_readonly = _sqlite3_db_readonlyPtr
-      .asFunction<int Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>)>();
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3>,
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_db_readonly');
+  late final _sqlite3_db_readonly = _sqlite3_db_readonlyPtr.asFunction<
+      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// CAPI3REF: Find the next prepared statement
   /// METHOD: sqlite3
@@ -7142,7 +7168,7 @@
   /// See also the [sqlite3_update_hook()] interface.
   ffi.Pointer<ffi.Void> sqlite3_commit_hook(
     ffi.Pointer<sqlite3> arg0,
-    ffi.Pointer<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<ffi.Void>)>>
+    ffi.Pointer<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<ffi.Void>)>>
         arg1,
     ffi.Pointer<ffi.Void> arg2,
   ) {
@@ -7159,13 +7185,13 @@
               ffi.Pointer<sqlite3>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(ffi.Pointer<ffi.Void>)>>,
+                      pkg_ffi.Int Function(ffi.Pointer<ffi.Void>)>>,
               ffi.Pointer<ffi.Void>)>>('sqlite3_commit_hook');
   late final _sqlite3_commit_hook = _sqlite3_commit_hookPtr.asFunction<
       ffi.Pointer<ffi.Void> Function(
           ffi.Pointer<sqlite3>,
           ffi.Pointer<
-              ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<ffi.Void>)>>,
+              ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<ffi.Void>)>>,
           ffi.Pointer<ffi.Void>)>();
 
   ffi.Pointer<ffi.Void> sqlite3_rollback_hook(
@@ -7248,9 +7274,9 @@
             ffi.NativeFunction<
                 ffi.Void Function(
                     ffi.Pointer<ffi.Void>,
-                    ffi.Int32,
-                    ffi.Pointer<ffi.Int8>,
-                    ffi.Pointer<ffi.Int8>,
+                    pkg_ffi.Int,
+                    ffi.Pointer<pkg_ffi.Char>,
+                    ffi.Pointer<pkg_ffi.Char>,
                     sqlite3_int64)>>
         arg1,
     ffi.Pointer<ffi.Void> arg2,
@@ -7270,9 +7296,9 @@
                   ffi.NativeFunction<
                       ffi.Void Function(
                           ffi.Pointer<ffi.Void>,
-                          ffi.Int32,
-                          ffi.Pointer<ffi.Int8>,
-                          ffi.Pointer<ffi.Int8>,
+                          pkg_ffi.Int,
+                          ffi.Pointer<pkg_ffi.Char>,
+                          ffi.Pointer<pkg_ffi.Char>,
                           sqlite3_int64)>>,
               ffi.Pointer<ffi.Void>)>>('sqlite3_update_hook');
   late final _sqlite3_update_hook = _sqlite3_update_hookPtr.asFunction<
@@ -7282,9 +7308,9 @@
               ffi.NativeFunction<
                   ffi.Void Function(
                       ffi.Pointer<ffi.Void>,
-                      ffi.Int32,
-                      ffi.Pointer<ffi.Int8>,
-                      ffi.Pointer<ffi.Int8>,
+                      pkg_ffi.Int,
+                      ffi.Pointer<pkg_ffi.Char>,
+                      ffi.Pointer<pkg_ffi.Char>,
                       sqlite3_int64)>>,
           ffi.Pointer<ffi.Void>)>();
 
@@ -7334,7 +7360,7 @@
   }
 
   late final _sqlite3_enable_shared_cachePtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(pkg_ffi.Int)>>(
           'sqlite3_enable_shared_cache');
   late final _sqlite3_enable_shared_cache =
       _sqlite3_enable_shared_cachePtr.asFunction<int Function(int)>();
@@ -7360,7 +7386,7 @@
   }
 
   late final _sqlite3_release_memoryPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(pkg_ffi.Int)>>(
           'sqlite3_release_memory');
   late final _sqlite3_release_memory =
       _sqlite3_release_memoryPtr.asFunction<int Function(int)>();
@@ -7384,7 +7410,7 @@
   }
 
   late final _sqlite3_db_release_memoryPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3>)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3>)>>(
           'sqlite3_db_release_memory');
   late final _sqlite3_db_release_memory = _sqlite3_db_release_memoryPtr
       .asFunction<int Function(ffi.Pointer<sqlite3>)>();
@@ -7495,7 +7521,7 @@
   }
 
   late final _sqlite3_soft_heap_limitPtr =
-      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<ffi.Void Function(pkg_ffi.Int)>>(
           'sqlite3_soft_heap_limit');
   late final _sqlite3_soft_heap_limit =
       _sqlite3_soft_heap_limitPtr.asFunction<void Function(int)>();
@@ -7569,14 +7595,14 @@
   /// any errors are encountered while loading the schema.
   int sqlite3_table_column_metadata(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zDbName,
-    ffi.Pointer<ffi.Int8> zTableName,
-    ffi.Pointer<ffi.Int8> zColumnName,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> pzDataType,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> pzCollSeq,
-    ffi.Pointer<ffi.Int32> pNotNull,
-    ffi.Pointer<ffi.Int32> pPrimaryKey,
-    ffi.Pointer<ffi.Int32> pAutoinc,
+    ffi.Pointer<pkg_ffi.Char> zDbName,
+    ffi.Pointer<pkg_ffi.Char> zTableName,
+    ffi.Pointer<pkg_ffi.Char> zColumnName,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> pzDataType,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> pzCollSeq,
+    ffi.Pointer<pkg_ffi.Int> pNotNull,
+    ffi.Pointer<pkg_ffi.Int> pPrimaryKey,
+    ffi.Pointer<pkg_ffi.Int> pAutoinc,
   ) {
     return _sqlite3_table_column_metadata(
       db,
@@ -7593,28 +7619,28 @@
 
   late final _sqlite3_table_column_metadataPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Pointer<ffi.Int32>,
-              ffi.Pointer<ffi.Int32>,
-              ffi.Pointer<ffi.Int32>)>>('sqlite3_table_column_metadata');
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              ffi.Pointer<pkg_ffi.Int>,
+              ffi.Pointer<pkg_ffi.Int>,
+              ffi.Pointer<pkg_ffi.Int>)>>('sqlite3_table_column_metadata');
   late final _sqlite3_table_column_metadata =
       _sqlite3_table_column_metadataPtr.asFunction<
           int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Pointer<ffi.Int32>,
-              ffi.Pointer<ffi.Int32>,
-              ffi.Pointer<ffi.Int32>)>();
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              ffi.Pointer<pkg_ffi.Int>,
+              ffi.Pointer<pkg_ffi.Int>,
+              ffi.Pointer<pkg_ffi.Int>)>();
 
   /// CAPI3REF: Load An Extension
   /// METHOD: sqlite3
@@ -7660,9 +7686,9 @@
   /// See also the [load_extension() SQL function].
   int sqlite3_load_extension(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zFile,
-    ffi.Pointer<ffi.Int8> zProc,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> pzErrMsg,
+    ffi.Pointer<pkg_ffi.Char> zFile,
+    ffi.Pointer<pkg_ffi.Char> zProc,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> pzErrMsg,
   ) {
     return _sqlite3_load_extension(
       db,
@@ -7673,15 +7699,16 @@
   }
 
   late final _sqlite3_load_extensionPtr = _lookup<
-      ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>)>>('sqlite3_load_extension');
+          ffi.NativeFunction<
+              pkg_ffi.Int Function(
+                  ffi.Pointer<sqlite3>,
+                  ffi.Pointer<pkg_ffi.Char>,
+                  ffi.Pointer<pkg_ffi.Char>,
+                  ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>>(
+      'sqlite3_load_extension');
   late final _sqlite3_load_extension = _sqlite3_load_extensionPtr.asFunction<
-      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>,
-          ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Pointer<ffi.Int8>>)>();
+      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>();
 
   /// CAPI3REF: Enable Or Disable Extension Loading
   /// METHOD: sqlite3
@@ -7718,8 +7745,8 @@
 
   late final _sqlite3_enable_load_extensionPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3>,
-              ffi.Int32)>>('sqlite3_enable_load_extension');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3>,
+              pkg_ffi.Int)>>('sqlite3_enable_load_extension');
   late final _sqlite3_enable_load_extension = _sqlite3_enable_load_extensionPtr
       .asFunction<int Function(ffi.Pointer<sqlite3>, int)>();
 
@@ -7767,7 +7794,7 @@
 
   late final _sqlite3_auto_extensionPtr = _lookup<
           ffi.NativeFunction<
-              ffi.Int32 Function(
+              pkg_ffi.Int Function(
                   ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>>)>>(
       'sqlite3_auto_extension');
   late final _sqlite3_auto_extension = _sqlite3_auto_extensionPtr.asFunction<
@@ -7791,7 +7818,7 @@
 
   late final _sqlite3_cancel_auto_extensionPtr = _lookup<
           ffi.NativeFunction<
-              ffi.Int32 Function(
+              pkg_ffi.Int Function(
                   ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>>)>>(
       'sqlite3_cancel_auto_extension');
   late final _sqlite3_cancel_auto_extension =
@@ -7844,7 +7871,7 @@
   /// See also: [sqlite3_drop_modules()]
   int sqlite3_create_module(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zName,
+    ffi.Pointer<pkg_ffi.Char> zName,
     ffi.Pointer<sqlite3_module> p,
     ffi.Pointer<ffi.Void> pClientData,
   ) {
@@ -7858,18 +7885,18 @@
 
   late final _sqlite3_create_modulePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<sqlite3_module>,
               ffi.Pointer<ffi.Void>)>>('sqlite3_create_module');
   late final _sqlite3_create_module = _sqlite3_create_modulePtr.asFunction<
-      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>,
+      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>,
           ffi.Pointer<sqlite3_module>, ffi.Pointer<ffi.Void>)>();
 
   int sqlite3_create_module_v2(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zName,
+    ffi.Pointer<pkg_ffi.Char> zName,
     ffi.Pointer<sqlite3_module> p,
     ffi.Pointer<ffi.Void> pClientData,
     ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
@@ -7886,9 +7913,9 @@
 
   late final _sqlite3_create_module_v2Ptr = _lookup<
           ffi.NativeFunction<
-              ffi.Int32 Function(
+              pkg_ffi.Int Function(
                   ffi.Pointer<sqlite3>,
-                  ffi.Pointer<ffi.Int8>,
+                  ffi.Pointer<pkg_ffi.Char>,
                   ffi.Pointer<sqlite3_module>,
                   ffi.Pointer<ffi.Void>,
                   ffi.Pointer<
@@ -7899,7 +7926,7 @@
       _sqlite3_create_module_v2Ptr.asFunction<
           int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<sqlite3_module>,
               ffi.Pointer<ffi.Void>,
               ffi.Pointer<
@@ -7918,7 +7945,7 @@
   /// See also: [sqlite3_create_module()]
   int sqlite3_drop_modules(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> azKeep,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> azKeep,
   ) {
     return _sqlite3_drop_modules(
       db,
@@ -7928,10 +7955,11 @@
 
   late final _sqlite3_drop_modulesPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>)>>('sqlite3_drop_modules');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3>,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>>('sqlite3_drop_modules');
   late final _sqlite3_drop_modules = _sqlite3_drop_modulesPtr.asFunction<
-      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Pointer<ffi.Int8>>)>();
+      int Function(
+          ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>();
 
   /// CAPI3REF: Declare The Schema Of A Virtual Table
   ///
@@ -7941,7 +7969,7 @@
   /// the virtual tables they implement.
   int sqlite3_declare_vtab(
     ffi.Pointer<sqlite3> arg0,
-    ffi.Pointer<ffi.Int8> zSQL,
+    ffi.Pointer<pkg_ffi.Char> zSQL,
   ) {
     return _sqlite3_declare_vtab(
       arg0,
@@ -7951,10 +7979,10 @@
 
   late final _sqlite3_declare_vtabPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_declare_vtab');
-  late final _sqlite3_declare_vtab = _sqlite3_declare_vtabPtr
-      .asFunction<int Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>)>();
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3>,
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_declare_vtab');
+  late final _sqlite3_declare_vtab = _sqlite3_declare_vtabPtr.asFunction<
+      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// CAPI3REF: Overload A Function For A Virtual Table
   /// METHOD: sqlite3
@@ -7973,7 +8001,7 @@
   /// by a [virtual table].
   int sqlite3_overload_function(
     ffi.Pointer<sqlite3> arg0,
-    ffi.Pointer<ffi.Int8> zFuncName,
+    ffi.Pointer<pkg_ffi.Char> zFuncName,
     int nArg,
   ) {
     return _sqlite3_overload_function(
@@ -7985,11 +8013,11 @@
 
   late final _sqlite3_overload_functionPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>,
-              ffi.Int32)>>('sqlite3_overload_function');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int)>>('sqlite3_overload_function');
   late final _sqlite3_overload_function =
       _sqlite3_overload_functionPtr.asFunction<
-          int Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>, int)>();
+          int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>, int)>();
 
   /// CAPI3REF: Open A BLOB For Incremental I/O
   /// METHOD: sqlite3
@@ -8074,9 +8102,9 @@
   /// [sqlite3_blob_bytes()], [sqlite3_blob_write()].
   int sqlite3_blob_open(
     ffi.Pointer<sqlite3> arg0,
-    ffi.Pointer<ffi.Int8> zDb,
-    ffi.Pointer<ffi.Int8> zTable,
-    ffi.Pointer<ffi.Int8> zColumn,
+    ffi.Pointer<pkg_ffi.Char> zDb,
+    ffi.Pointer<pkg_ffi.Char> zTable,
+    ffi.Pointer<pkg_ffi.Char> zColumn,
     int iRow,
     int flags,
     ffi.Pointer<ffi.Pointer<sqlite3_blob>> ppBlob,
@@ -8094,20 +8122,20 @@
 
   late final _sqlite3_blob_openPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>,
               sqlite3_int64,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Pointer<sqlite3_blob>>)>>('sqlite3_blob_open');
   late final _sqlite3_blob_open = _sqlite3_blob_openPtr.asFunction<
       int Function(
           ffi.Pointer<sqlite3>,
-          ffi.Pointer<ffi.Int8>,
-          ffi.Pointer<ffi.Int8>,
-          ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<pkg_ffi.Char>,
           int,
           int,
           ffi.Pointer<ffi.Pointer<sqlite3_blob>>)>();
@@ -8145,7 +8173,7 @@
 
   late final _sqlite3_blob_reopenPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_blob>,
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_blob>,
               sqlite3_int64)>>('sqlite3_blob_reopen');
   late final _sqlite3_blob_reopen = _sqlite3_blob_reopenPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_blob>, int)>();
@@ -8178,7 +8206,7 @@
   }
 
   late final _sqlite3_blob_closePtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_blob>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_blob>)>>(
       'sqlite3_blob_close');
   late final _sqlite3_blob_close = _sqlite3_blob_closePtr
       .asFunction<int Function(ffi.Pointer<sqlite3_blob>)>();
@@ -8204,7 +8232,7 @@
   }
 
   late final _sqlite3_blob_bytesPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_blob>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_blob>)>>(
       'sqlite3_blob_bytes');
   late final _sqlite3_blob_bytes = _sqlite3_blob_bytesPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_blob>)>();
@@ -8250,8 +8278,8 @@
 
   late final _sqlite3_blob_readPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_blob>, ffi.Pointer<ffi.Void>,
-              ffi.Int32, ffi.Int32)>>('sqlite3_blob_read');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_blob>, ffi.Pointer<ffi.Void>,
+              pkg_ffi.Int, pkg_ffi.Int)>>('sqlite3_blob_read');
   late final _sqlite3_blob_read = _sqlite3_blob_readPtr.asFunction<
       int Function(
           ffi.Pointer<sqlite3_blob>, ffi.Pointer<ffi.Void>, int, int)>();
@@ -8310,8 +8338,8 @@
 
   late final _sqlite3_blob_writePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_blob>, ffi.Pointer<ffi.Void>,
-              ffi.Int32, ffi.Int32)>>('sqlite3_blob_write');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_blob>, ffi.Pointer<ffi.Void>,
+              pkg_ffi.Int, pkg_ffi.Int)>>('sqlite3_blob_write');
   late final _sqlite3_blob_write = _sqlite3_blob_writePtr.asFunction<
       int Function(
           ffi.Pointer<sqlite3_blob>, ffi.Pointer<ffi.Void>, int, int)>();
@@ -8344,7 +8372,7 @@
   /// ^(If the default VFS is unregistered, another VFS is chosen as
   /// the default.  The choice for the new VFS is arbitrary.)^
   ffi.Pointer<sqlite3_vfs> sqlite3_vfs_find(
-    ffi.Pointer<ffi.Int8> zVfsName,
+    ffi.Pointer<pkg_ffi.Char> zVfsName,
   ) {
     return _sqlite3_vfs_find(
       zVfsName,
@@ -8354,9 +8382,9 @@
   late final _sqlite3_vfs_findPtr = _lookup<
       ffi.NativeFunction<
           ffi.Pointer<sqlite3_vfs> Function(
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_vfs_find');
-  late final _sqlite3_vfs_find = _sqlite3_vfs_findPtr
-      .asFunction<ffi.Pointer<sqlite3_vfs> Function(ffi.Pointer<ffi.Int8>)>();
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_vfs_find');
+  late final _sqlite3_vfs_find = _sqlite3_vfs_findPtr.asFunction<
+      ffi.Pointer<sqlite3_vfs> Function(ffi.Pointer<pkg_ffi.Char>)>();
 
   int sqlite3_vfs_register(
     ffi.Pointer<sqlite3_vfs> arg0,
@@ -8370,8 +8398,8 @@
 
   late final _sqlite3_vfs_registerPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<sqlite3_vfs>, ffi.Int32)>>('sqlite3_vfs_register');
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3_vfs>, pkg_ffi.Int)>>('sqlite3_vfs_register');
   late final _sqlite3_vfs_register = _sqlite3_vfs_registerPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_vfs>, int)>();
 
@@ -8383,9 +8411,9 @@
     );
   }
 
-  late final _sqlite3_vfs_unregisterPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_vfs>)>>(
-          'sqlite3_vfs_unregister');
+  late final _sqlite3_vfs_unregisterPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_vfs>)>>(
+      'sqlite3_vfs_unregister');
   late final _sqlite3_vfs_unregister = _sqlite3_vfs_unregisterPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_vfs>)>();
 
@@ -8510,7 +8538,7 @@
   }
 
   late final _sqlite3_mutex_allocPtr = _lookup<
-          ffi.NativeFunction<ffi.Pointer<sqlite3_mutex> Function(ffi.Int32)>>(
+          ffi.NativeFunction<ffi.Pointer<sqlite3_mutex> Function(pkg_ffi.Int)>>(
       'sqlite3_mutex_alloc');
   late final _sqlite3_mutex_alloc = _sqlite3_mutex_allocPtr
       .asFunction<ffi.Pointer<sqlite3_mutex> Function(int)>();
@@ -8552,7 +8580,7 @@
   }
 
   late final _sqlite3_mutex_tryPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_mutex>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_mutex>)>>(
       'sqlite3_mutex_try');
   late final _sqlite3_mutex_try = _sqlite3_mutex_tryPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_mutex>)>();
@@ -8580,7 +8608,7 @@
   }
 
   late final _sqlite3_mutex_heldPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_mutex>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_mutex>)>>(
       'sqlite3_mutex_held');
   late final _sqlite3_mutex_held = _sqlite3_mutex_heldPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_mutex>)>();
@@ -8594,7 +8622,7 @@
   }
 
   late final _sqlite3_mutex_notheldPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_mutex>)>>(
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_mutex>)>>(
       'sqlite3_mutex_notheld');
   late final _sqlite3_mutex_notheld = _sqlite3_mutex_notheldPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_mutex>)>();
@@ -8663,7 +8691,7 @@
   /// See also: [file control opcodes]
   int sqlite3_file_control(
     ffi.Pointer<sqlite3> arg0,
-    ffi.Pointer<ffi.Int8> zDbName,
+    ffi.Pointer<pkg_ffi.Char> zDbName,
     int op,
     ffi.Pointer<ffi.Void> arg3,
   ) {
@@ -8677,10 +8705,10 @@
 
   late final _sqlite3_file_controlPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>,
-              ffi.Int32, ffi.Pointer<ffi.Void>)>>('sqlite3_file_control');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int, ffi.Pointer<ffi.Void>)>>('sqlite3_file_control');
   late final _sqlite3_file_control = _sqlite3_file_controlPtr.asFunction<
-      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>, int,
+      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>, int,
           ffi.Pointer<ffi.Void>)>();
 
   /// CAPI3REF: Testing Interface
@@ -8707,7 +8735,7 @@
   }
 
   late final _sqlite3_test_controlPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Int32)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(pkg_ffi.Int)>>(
           'sqlite3_test_control');
   late final _sqlite3_test_control =
       _sqlite3_test_controlPtr.asFunction<int Function(int)>();
@@ -8762,15 +8790,15 @@
   }
 
   late final _sqlite3_keyword_countPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function()>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function()>>(
           'sqlite3_keyword_count');
   late final _sqlite3_keyword_count =
       _sqlite3_keyword_countPtr.asFunction<int Function()>();
 
   int sqlite3_keyword_name(
     int arg0,
-    ffi.Pointer<ffi.Pointer<ffi.Int8>> arg1,
-    ffi.Pointer<ffi.Int32> arg2,
+    ffi.Pointer<ffi.Pointer<pkg_ffi.Char>> arg1,
+    ffi.Pointer<pkg_ffi.Int> arg2,
   ) {
     return _sqlite3_keyword_name(
       arg0,
@@ -8781,14 +8809,16 @@
 
   late final _sqlite3_keyword_namePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Int32, ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Pointer<ffi.Int32>)>>('sqlite3_keyword_name');
+          pkg_ffi.Int Function(
+              pkg_ffi.Int,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              ffi.Pointer<pkg_ffi.Int>)>>('sqlite3_keyword_name');
   late final _sqlite3_keyword_name = _sqlite3_keyword_namePtr.asFunction<
-      int Function(
-          int, ffi.Pointer<ffi.Pointer<ffi.Int8>>, ffi.Pointer<ffi.Int32>)>();
+      int Function(int, ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+          ffi.Pointer<pkg_ffi.Int>)>();
 
   int sqlite3_keyword_check(
-    ffi.Pointer<ffi.Int8> arg0,
+    ffi.Pointer<pkg_ffi.Char> arg0,
     int arg1,
   ) {
     return _sqlite3_keyword_check(
@@ -8799,10 +8829,10 @@
 
   late final _sqlite3_keyword_checkPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<ffi.Int8>, ffi.Int32)>>('sqlite3_keyword_check');
+          pkg_ffi.Int Function(ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int)>>('sqlite3_keyword_check');
   late final _sqlite3_keyword_check = _sqlite3_keyword_checkPtr
-      .asFunction<int Function(ffi.Pointer<ffi.Int8>, int)>();
+      .asFunction<int Function(ffi.Pointer<pkg_ffi.Char>, int)>();
 
   /// CAPI3REF: Create A New Dynamic String Object
   /// CONSTRUCTOR: sqlite3_str
@@ -8853,7 +8883,7 @@
   /// errors were encountered during construction of the string.  ^The
   /// [sqlite3_str_finish(X)] interface will also return a NULL pointer if the
   /// string in [sqlite3_str] object X is zero bytes long.
-  ffi.Pointer<ffi.Int8> sqlite3_str_finish(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_str_finish(
     ffi.Pointer<sqlite3_str> arg0,
   ) {
     return _sqlite3_str_finish(
@@ -8863,10 +8893,10 @@
 
   late final _sqlite3_str_finishPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
+          ffi.Pointer<pkg_ffi.Char> Function(
               ffi.Pointer<sqlite3_str>)>>('sqlite3_str_finish');
-  late final _sqlite3_str_finish = _sqlite3_str_finishPtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_str>)>();
+  late final _sqlite3_str_finish = _sqlite3_str_finishPtr.asFunction<
+      ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_str>)>();
 
   /// CAPI3REF: Add Content To A Dynamic String
   /// METHOD: sqlite3_str
@@ -8900,7 +8930,7 @@
   /// subsequent call to [sqlite3_str_errcode(X)].
   void sqlite3_str_appendf(
     ffi.Pointer<sqlite3_str> arg0,
-    ffi.Pointer<ffi.Int8> zFormat,
+    ffi.Pointer<pkg_ffi.Char> zFormat,
   ) {
     return _sqlite3_str_appendf(
       arg0,
@@ -8911,13 +8941,13 @@
   late final _sqlite3_str_appendfPtr = _lookup<
       ffi.NativeFunction<
           ffi.Void Function(ffi.Pointer<sqlite3_str>,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_str_appendf');
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_str_appendf');
   late final _sqlite3_str_appendf = _sqlite3_str_appendfPtr.asFunction<
-      void Function(ffi.Pointer<sqlite3_str>, ffi.Pointer<ffi.Int8>)>();
+      void Function(ffi.Pointer<sqlite3_str>, ffi.Pointer<pkg_ffi.Char>)>();
 
   void sqlite3_str_append(
     ffi.Pointer<sqlite3_str> arg0,
-    ffi.Pointer<ffi.Int8> zIn,
+    ffi.Pointer<pkg_ffi.Char> zIn,
     int N,
   ) {
     return _sqlite3_str_append(
@@ -8929,14 +8959,15 @@
 
   late final _sqlite3_str_appendPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<sqlite3_str>, ffi.Pointer<ffi.Int8>,
-              ffi.Int32)>>('sqlite3_str_append');
+          ffi.Void Function(ffi.Pointer<sqlite3_str>, ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int)>>('sqlite3_str_append');
   late final _sqlite3_str_append = _sqlite3_str_appendPtr.asFunction<
-      void Function(ffi.Pointer<sqlite3_str>, ffi.Pointer<ffi.Int8>, int)>();
+      void Function(
+          ffi.Pointer<sqlite3_str>, ffi.Pointer<pkg_ffi.Char>, int)>();
 
   void sqlite3_str_appendall(
     ffi.Pointer<sqlite3_str> arg0,
-    ffi.Pointer<ffi.Int8> zIn,
+    ffi.Pointer<pkg_ffi.Char> zIn,
   ) {
     return _sqlite3_str_appendall(
       arg0,
@@ -8947,9 +8978,9 @@
   late final _sqlite3_str_appendallPtr = _lookup<
       ffi.NativeFunction<
           ffi.Void Function(ffi.Pointer<sqlite3_str>,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_str_appendall');
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_str_appendall');
   late final _sqlite3_str_appendall = _sqlite3_str_appendallPtr.asFunction<
-      void Function(ffi.Pointer<sqlite3_str>, ffi.Pointer<ffi.Int8>)>();
+      void Function(ffi.Pointer<sqlite3_str>, ffi.Pointer<pkg_ffi.Char>)>();
 
   void sqlite3_str_appendchar(
     ffi.Pointer<sqlite3_str> arg0,
@@ -8965,8 +8996,8 @@
 
   late final _sqlite3_str_appendcharPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Pointer<sqlite3_str>, ffi.Int32,
-              ffi.Int8)>>('sqlite3_str_appendchar');
+          ffi.Void Function(ffi.Pointer<sqlite3_str>, pkg_ffi.Int,
+              pkg_ffi.Char)>>('sqlite3_str_appendchar');
   late final _sqlite3_str_appendchar = _sqlite3_str_appendcharPtr
       .asFunction<void Function(ffi.Pointer<sqlite3_str>, int, int)>();
 
@@ -9019,9 +9050,9 @@
     );
   }
 
-  late final _sqlite3_str_errcodePtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_str>)>>(
-          'sqlite3_str_errcode');
+  late final _sqlite3_str_errcodePtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_str>)>>(
+      'sqlite3_str_errcode');
   late final _sqlite3_str_errcode = _sqlite3_str_errcodePtr
       .asFunction<int Function(ffi.Pointer<sqlite3_str>)>();
 
@@ -9033,13 +9064,13 @@
     );
   }
 
-  late final _sqlite3_str_lengthPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_str>)>>(
-          'sqlite3_str_length');
+  late final _sqlite3_str_lengthPtr = _lookup<
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_str>)>>(
+      'sqlite3_str_length');
   late final _sqlite3_str_length = _sqlite3_str_lengthPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_str>)>();
 
-  ffi.Pointer<ffi.Int8> sqlite3_str_value(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_str_value(
     ffi.Pointer<sqlite3_str> arg0,
   ) {
     return _sqlite3_str_value(
@@ -9049,10 +9080,10 @@
 
   late final _sqlite3_str_valuePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(
+          ffi.Pointer<pkg_ffi.Char> Function(
               ffi.Pointer<sqlite3_str>)>>('sqlite3_str_value');
-  late final _sqlite3_str_value = _sqlite3_str_valuePtr
-      .asFunction<ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_str>)>();
+  late final _sqlite3_str_value = _sqlite3_str_valuePtr.asFunction<
+      ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_str>)>();
 
   /// CAPI3REF: SQLite Runtime Status
   ///
@@ -9080,8 +9111,8 @@
   /// See also: [sqlite3_db_status()]
   int sqlite3_status(
     int op,
-    ffi.Pointer<ffi.Int32> pCurrent,
-    ffi.Pointer<ffi.Int32> pHighwater,
+    ffi.Pointer<pkg_ffi.Int> pCurrent,
+    ffi.Pointer<pkg_ffi.Int> pHighwater,
     int resetFlag,
   ) {
     return _sqlite3_status(
@@ -9094,10 +9125,11 @@
 
   late final _sqlite3_statusPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Int32, ffi.Pointer<ffi.Int32>,
-              ffi.Pointer<ffi.Int32>, ffi.Int32)>>('sqlite3_status');
+          pkg_ffi.Int Function(pkg_ffi.Int, ffi.Pointer<pkg_ffi.Int>,
+              ffi.Pointer<pkg_ffi.Int>, pkg_ffi.Int)>>('sqlite3_status');
   late final _sqlite3_status = _sqlite3_statusPtr.asFunction<
-      int Function(int, ffi.Pointer<ffi.Int32>, ffi.Pointer<ffi.Int32>, int)>();
+      int Function(
+          int, ffi.Pointer<pkg_ffi.Int>, ffi.Pointer<pkg_ffi.Int>, int)>();
 
   int sqlite3_status64(
     int op,
@@ -9115,8 +9147,8 @@
 
   late final _sqlite3_status64Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Int32, ffi.Pointer<sqlite3_int64>,
-              ffi.Pointer<sqlite3_int64>, ffi.Int32)>>('sqlite3_status64');
+          pkg_ffi.Int Function(pkg_ffi.Int, ffi.Pointer<sqlite3_int64>,
+              ffi.Pointer<sqlite3_int64>, pkg_ffi.Int)>>('sqlite3_status64');
   late final _sqlite3_status64 = _sqlite3_status64Ptr.asFunction<
       int Function(
           int, ffi.Pointer<sqlite3_int64>, ffi.Pointer<sqlite3_int64>, int)>();
@@ -9145,8 +9177,8 @@
   int sqlite3_db_status(
     ffi.Pointer<sqlite3> arg0,
     int op,
-    ffi.Pointer<ffi.Int32> pCur,
-    ffi.Pointer<ffi.Int32> pHiwtr,
+    ffi.Pointer<pkg_ffi.Int> pCur,
+    ffi.Pointer<pkg_ffi.Int> pHiwtr,
     int resetFlg,
   ) {
     return _sqlite3_db_status(
@@ -9160,15 +9192,15 @@
 
   late final _sqlite3_db_statusPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Int32,
-              ffi.Pointer<ffi.Int32>,
-              ffi.Pointer<ffi.Int32>,
-              ffi.Int32)>>('sqlite3_db_status');
+              pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Int>,
+              ffi.Pointer<pkg_ffi.Int>,
+              pkg_ffi.Int)>>('sqlite3_db_status');
   late final _sqlite3_db_status = _sqlite3_db_statusPtr.asFunction<
-      int Function(ffi.Pointer<sqlite3>, int, ffi.Pointer<ffi.Int32>,
-          ffi.Pointer<ffi.Int32>, int)>();
+      int Function(ffi.Pointer<sqlite3>, int, ffi.Pointer<pkg_ffi.Int>,
+          ffi.Pointer<pkg_ffi.Int>, int)>();
 
   /// CAPI3REF: Prepared Statement Status
   /// METHOD: sqlite3_stmt
@@ -9206,8 +9238,8 @@
 
   late final _sqlite3_stmt_statusPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>, ffi.Int32,
-              ffi.Int32)>>('sqlite3_stmt_status');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int,
+              pkg_ffi.Int)>>('sqlite3_stmt_status');
   late final _sqlite3_stmt_status = _sqlite3_stmt_statusPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_stmt>, int, int)>();
 
@@ -9397,9 +9429,9 @@
   /// possible that they return invalid values.
   ffi.Pointer<sqlite3_backup> sqlite3_backup_init(
     ffi.Pointer<sqlite3> pDest,
-    ffi.Pointer<ffi.Int8> zDestName,
+    ffi.Pointer<pkg_ffi.Char> zDestName,
     ffi.Pointer<sqlite3> pSource,
-    ffi.Pointer<ffi.Int8> zSourceName,
+    ffi.Pointer<pkg_ffi.Char> zSourceName,
   ) {
     return _sqlite3_backup_init(
       pDest,
@@ -9413,15 +9445,15 @@
       ffi.NativeFunction<
           ffi.Pointer<sqlite3_backup> Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_backup_init');
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_backup_init');
   late final _sqlite3_backup_init = _sqlite3_backup_initPtr.asFunction<
       ffi.Pointer<sqlite3_backup> Function(
           ffi.Pointer<sqlite3>,
-          ffi.Pointer<ffi.Int8>,
+          ffi.Pointer<pkg_ffi.Char>,
           ffi.Pointer<sqlite3>,
-          ffi.Pointer<ffi.Int8>)>();
+          ffi.Pointer<pkg_ffi.Char>)>();
 
   int sqlite3_backup_step(
     ffi.Pointer<sqlite3_backup> p,
@@ -9435,8 +9467,8 @@
 
   late final _sqlite3_backup_stepPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<sqlite3_backup>, ffi.Int32)>>('sqlite3_backup_step');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_backup>,
+              pkg_ffi.Int)>>('sqlite3_backup_step');
   late final _sqlite3_backup_step = _sqlite3_backup_stepPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_backup>, int)>();
 
@@ -9449,8 +9481,9 @@
   }
 
   late final _sqlite3_backup_finishPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_backup>)>>(
-      'sqlite3_backup_finish');
+      ffi.NativeFunction<
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3_backup>)>>('sqlite3_backup_finish');
   late final _sqlite3_backup_finish = _sqlite3_backup_finishPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_backup>)>();
 
@@ -9463,8 +9496,9 @@
   }
 
   late final _sqlite3_backup_remainingPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_backup>)>>(
-      'sqlite3_backup_remaining');
+      ffi.NativeFunction<
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3_backup>)>>('sqlite3_backup_remaining');
   late final _sqlite3_backup_remaining = _sqlite3_backup_remainingPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_backup>)>();
 
@@ -9477,8 +9511,9 @@
   }
 
   late final _sqlite3_backup_pagecountPtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_backup>)>>(
-      'sqlite3_backup_pagecount');
+      ffi.NativeFunction<
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3_backup>)>>('sqlite3_backup_pagecount');
   late final _sqlite3_backup_pagecount = _sqlite3_backup_pagecountPtr
       .asFunction<int Function(ffi.Pointer<sqlite3_backup>)>();
 
@@ -9600,7 +9635,7 @@
     ffi.Pointer<
             ffi.NativeFunction<
                 ffi.Void Function(
-                    ffi.Pointer<ffi.Pointer<ffi.Void>>, ffi.Int32)>>
+                    ffi.Pointer<ffi.Pointer<ffi.Void>>, pkg_ffi.Int)>>
         xNotify,
     ffi.Pointer<ffi.Void> pNotifyArg,
   ) {
@@ -9613,12 +9648,12 @@
 
   late final _sqlite3_unlock_notifyPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
               ffi.Pointer<
                   ffi.NativeFunction<
                       ffi.Void Function(
-                          ffi.Pointer<ffi.Pointer<ffi.Void>>, ffi.Int32)>>,
+                          ffi.Pointer<ffi.Pointer<ffi.Void>>, pkg_ffi.Int)>>,
               ffi.Pointer<ffi.Void>)>>('sqlite3_unlock_notify');
   late final _sqlite3_unlock_notify = _sqlite3_unlock_notifyPtr.asFunction<
       int Function(
@@ -9626,7 +9661,7 @@
           ffi.Pointer<
               ffi.NativeFunction<
                   ffi.Void Function(
-                      ffi.Pointer<ffi.Pointer<ffi.Void>>, ffi.Int32)>>,
+                      ffi.Pointer<ffi.Pointer<ffi.Void>>, pkg_ffi.Int)>>,
           ffi.Pointer<ffi.Void>)>();
 
   /// CAPI3REF: String Comparison
@@ -9636,8 +9671,8 @@
   /// strings in a case-independent fashion, using the same definition of "case
   /// independence" that SQLite uses internally when comparing identifiers.
   int sqlite3_stricmp(
-    ffi.Pointer<ffi.Int8> arg0,
-    ffi.Pointer<ffi.Int8> arg1,
+    ffi.Pointer<pkg_ffi.Char> arg0,
+    ffi.Pointer<pkg_ffi.Char> arg1,
   ) {
     return _sqlite3_stricmp(
       arg0,
@@ -9647,14 +9682,14 @@
 
   late final _sqlite3_stricmpPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_stricmp');
-  late final _sqlite3_stricmp = _sqlite3_stricmpPtr
-      .asFunction<int Function(ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>)>();
+          pkg_ffi.Int Function(ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_stricmp');
+  late final _sqlite3_stricmp = _sqlite3_stricmpPtr.asFunction<
+      int Function(ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<pkg_ffi.Char>)>();
 
   int sqlite3_strnicmp(
-    ffi.Pointer<ffi.Int8> arg0,
-    ffi.Pointer<ffi.Int8> arg1,
+    ffi.Pointer<pkg_ffi.Char> arg0,
+    ffi.Pointer<pkg_ffi.Char> arg1,
     int arg2,
   ) {
     return _sqlite3_strnicmp(
@@ -9666,10 +9701,11 @@
 
   late final _sqlite3_strnicmpPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>,
-              ffi.Int32)>>('sqlite3_strnicmp');
+          pkg_ffi.Int Function(ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>, pkg_ffi.Int)>>('sqlite3_strnicmp');
   late final _sqlite3_strnicmp = _sqlite3_strnicmpPtr.asFunction<
-      int Function(ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>, int)>();
+      int Function(
+          ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<pkg_ffi.Char>, int)>();
 
   /// CAPI3REF: String Globbing
   ///
@@ -9685,8 +9721,8 @@
   ///
   /// See also: [sqlite3_strlike()].
   int sqlite3_strglob(
-    ffi.Pointer<ffi.Int8> zGlob,
-    ffi.Pointer<ffi.Int8> zStr,
+    ffi.Pointer<pkg_ffi.Char> zGlob,
+    ffi.Pointer<pkg_ffi.Char> zStr,
   ) {
     return _sqlite3_strglob(
       zGlob,
@@ -9696,10 +9732,10 @@
 
   late final _sqlite3_strglobPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_strglob');
-  late final _sqlite3_strglob = _sqlite3_strglobPtr
-      .asFunction<int Function(ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>)>();
+          pkg_ffi.Int Function(ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_strglob');
+  late final _sqlite3_strglob = _sqlite3_strglobPtr.asFunction<
+      int Function(ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// CAPI3REF: String LIKE Matching
   ///
@@ -9721,8 +9757,8 @@
   ///
   /// See also: [sqlite3_strglob()].
   int sqlite3_strlike(
-    ffi.Pointer<ffi.Int8> zGlob,
-    ffi.Pointer<ffi.Int8> zStr,
+    ffi.Pointer<pkg_ffi.Char> zGlob,
+    ffi.Pointer<pkg_ffi.Char> zStr,
     int cEsc,
   ) {
     return _sqlite3_strlike(
@@ -9734,10 +9770,13 @@
 
   late final _sqlite3_strlikePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>,
-              ffi.Uint32)>>('sqlite3_strlike');
+          pkg_ffi.Int Function(
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.UnsignedInt)>>('sqlite3_strlike');
   late final _sqlite3_strlike = _sqlite3_strlikePtr.asFunction<
-      int Function(ffi.Pointer<ffi.Int8>, ffi.Pointer<ffi.Int8>, int)>();
+      int Function(
+          ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<pkg_ffi.Char>, int)>();
 
   /// CAPI3REF: Error Logging Interface
   ///
@@ -9760,7 +9799,7 @@
   /// buffer.
   void sqlite3_log(
     int iErrCode,
-    ffi.Pointer<ffi.Int8> zFormat,
+    ffi.Pointer<pkg_ffi.Char> zFormat,
   ) {
     return _sqlite3_log(
       iErrCode,
@@ -9770,9 +9809,10 @@
 
   late final _sqlite3_logPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Void Function(ffi.Int32, ffi.Pointer<ffi.Int8>)>>('sqlite3_log');
-  late final _sqlite3_log =
-      _sqlite3_logPtr.asFunction<void Function(int, ffi.Pointer<ffi.Int8>)>();
+          ffi.Void Function(
+              pkg_ffi.Int, ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_log');
+  late final _sqlite3_log = _sqlite3_logPtr
+      .asFunction<void Function(int, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// CAPI3REF: Write-Ahead Log Commit Hook
   /// METHOD: sqlite3
@@ -9810,8 +9850,11 @@
     ffi.Pointer<sqlite3> arg0,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Int32 Function(ffi.Pointer<ffi.Void>, ffi.Pointer<sqlite3>,
-                    ffi.Pointer<ffi.Int8>, ffi.Int32)>>
+                pkg_ffi.Int Function(
+                    ffi.Pointer<ffi.Void>,
+                    ffi.Pointer<sqlite3>,
+                    ffi.Pointer<pkg_ffi.Char>,
+                    pkg_ffi.Int)>>
         arg1,
     ffi.Pointer<ffi.Void> arg2,
   ) {
@@ -9828,19 +9871,22 @@
               ffi.Pointer<sqlite3>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(
+                      pkg_ffi.Int Function(
                           ffi.Pointer<ffi.Void>,
                           ffi.Pointer<sqlite3>,
-                          ffi.Pointer<ffi.Int8>,
-                          ffi.Int32)>>,
+                          ffi.Pointer<pkg_ffi.Char>,
+                          pkg_ffi.Int)>>,
               ffi.Pointer<ffi.Void>)>>('sqlite3_wal_hook');
   late final _sqlite3_wal_hook = _sqlite3_wal_hookPtr.asFunction<
       ffi.Pointer<ffi.Void> Function(
           ffi.Pointer<sqlite3>,
           ffi.Pointer<
               ffi.NativeFunction<
-                  ffi.Int32 Function(ffi.Pointer<ffi.Void>,
-                      ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>, ffi.Int32)>>,
+                  pkg_ffi.Int Function(
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<sqlite3>,
+                      ffi.Pointer<pkg_ffi.Char>,
+                      pkg_ffi.Int)>>,
           ffi.Pointer<ffi.Void>)>();
 
   /// CAPI3REF: Configure an auto-checkpoint
@@ -9882,8 +9928,8 @@
 
   late final _sqlite3_wal_autocheckpointPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<sqlite3>, ffi.Int32)>>('sqlite3_wal_autocheckpoint');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3>,
+              pkg_ffi.Int)>>('sqlite3_wal_autocheckpoint');
   late final _sqlite3_wal_autocheckpoint = _sqlite3_wal_autocheckpointPtr
       .asFunction<int Function(ffi.Pointer<sqlite3>, int)>();
 
@@ -9907,7 +9953,7 @@
   /// complication) of [sqlite3_wal_checkpoint_v2()].
   int sqlite3_wal_checkpoint(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zDb,
+    ffi.Pointer<pkg_ffi.Char> zDb,
   ) {
     return _sqlite3_wal_checkpoint(
       db,
@@ -9917,10 +9963,10 @@
 
   late final _sqlite3_wal_checkpointPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_wal_checkpoint');
-  late final _sqlite3_wal_checkpoint = _sqlite3_wal_checkpointPtr
-      .asFunction<int Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>)>();
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3>,
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_wal_checkpoint');
+  late final _sqlite3_wal_checkpoint = _sqlite3_wal_checkpointPtr.asFunction<
+      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// CAPI3REF: Checkpoint a database
   /// METHOD: sqlite3
@@ -10014,10 +10060,10 @@
   /// from SQL.
   int sqlite3_wal_checkpoint_v2(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zDb,
+    ffi.Pointer<pkg_ffi.Char> zDb,
     int eMode,
-    ffi.Pointer<ffi.Int32> pnLog,
-    ffi.Pointer<ffi.Int32> pnCkpt,
+    ffi.Pointer<pkg_ffi.Int> pnLog,
+    ffi.Pointer<pkg_ffi.Int> pnCkpt,
   ) {
     return _sqlite3_wal_checkpoint_v2(
       db,
@@ -10030,16 +10076,16 @@
 
   late final _sqlite3_wal_checkpoint_v2Ptr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Int32,
-              ffi.Pointer<ffi.Int32>,
-              ffi.Pointer<ffi.Int32>)>>('sqlite3_wal_checkpoint_v2');
+              ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Int>,
+              ffi.Pointer<pkg_ffi.Int>)>>('sqlite3_wal_checkpoint_v2');
   late final _sqlite3_wal_checkpoint_v2 =
       _sqlite3_wal_checkpoint_v2Ptr.asFunction<
-          int Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>, int,
-              ffi.Pointer<ffi.Int32>, ffi.Pointer<ffi.Int32>)>();
+          int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>, int,
+              ffi.Pointer<pkg_ffi.Int>, ffi.Pointer<pkg_ffi.Int>)>();
 
   /// CAPI3REF: Virtual Table Interface Configuration
   ///
@@ -10069,8 +10115,8 @@
 
   late final _sqlite3_vtab_configPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<sqlite3>, ffi.Int32)>>('sqlite3_vtab_config');
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3>, pkg_ffi.Int)>>('sqlite3_vtab_config');
   late final _sqlite3_vtab_config = _sqlite3_vtab_configPtr
       .asFunction<int Function(ffi.Pointer<sqlite3>, int)>();
 
@@ -10091,7 +10137,7 @@
   }
 
   late final _sqlite3_vtab_on_conflictPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3>)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3>)>>(
           'sqlite3_vtab_on_conflict');
   late final _sqlite3_vtab_on_conflict = _sqlite3_vtab_on_conflictPtr
       .asFunction<int Function(ffi.Pointer<sqlite3>)>();
@@ -10120,8 +10166,9 @@
   }
 
   late final _sqlite3_vtab_nochangePtr = _lookup<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_context>)>>(
-      'sqlite3_vtab_nochange');
+      ffi.NativeFunction<
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3_context>)>>('sqlite3_vtab_nochange');
   late final _sqlite3_vtab_nochange = _sqlite3_vtab_nochangePtr
       .asFunction<int Function(ffi.Pointer<sqlite3_context>)>();
 
@@ -10136,7 +10183,7 @@
   /// structure passed to xBestIndex. This function returns a pointer to a buffer
   /// containing the name of the collation sequence for the corresponding
   /// constraint.
-  ffi.Pointer<ffi.Int8> sqlite3_vtab_collation(
+  ffi.Pointer<pkg_ffi.Char> sqlite3_vtab_collation(
     ffi.Pointer<sqlite3_index_info> arg0,
     int arg1,
   ) {
@@ -10148,10 +10195,11 @@
 
   late final _sqlite3_vtab_collationPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_index_info>,
-              ffi.Int32)>>('sqlite3_vtab_collation');
+          ffi.Pointer<pkg_ffi.Char> Function(ffi.Pointer<sqlite3_index_info>,
+              pkg_ffi.Int)>>('sqlite3_vtab_collation');
   late final _sqlite3_vtab_collation = _sqlite3_vtab_collationPtr.asFunction<
-      ffi.Pointer<ffi.Int8> Function(ffi.Pointer<sqlite3_index_info>, int)>();
+      ffi.Pointer<pkg_ffi.Char> Function(
+          ffi.Pointer<sqlite3_index_info>, int)>();
 
   /// CAPI3REF: Prepared Statement Scan Status
   /// METHOD: sqlite3_stmt
@@ -10198,8 +10246,8 @@
 
   late final _sqlite3_stmt_scanstatusPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_stmt>, ffi.Int32, ffi.Int32,
-              ffi.Pointer<ffi.Void>)>>('sqlite3_stmt_scanstatus');
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_stmt>, pkg_ffi.Int,
+              pkg_ffi.Int, ffi.Pointer<ffi.Void>)>>('sqlite3_stmt_scanstatus');
   late final _sqlite3_stmt_scanstatus = _sqlite3_stmt_scanstatusPtr.asFunction<
       int Function(
           ffi.Pointer<sqlite3_stmt>, int, int, ffi.Pointer<ffi.Void>)>();
@@ -10262,7 +10310,7 @@
   }
 
   late final _sqlite3_db_cacheflushPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3>)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3>)>>(
           'sqlite3_db_cacheflush');
   late final _sqlite3_db_cacheflush = _sqlite3_db_cacheflushPtr
       .asFunction<int Function(ffi.Pointer<sqlite3>)>();
@@ -10284,7 +10332,7 @@
   }
 
   late final _sqlite3_system_errnoPtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3>)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3>)>>(
           'sqlite3_system_errno');
   late final _sqlite3_system_errno =
       _sqlite3_system_errnoPtr.asFunction<int Function(ffi.Pointer<sqlite3>)>();
@@ -10332,7 +10380,7 @@
   /// [SQLITE_ENABLE_SNAPSHOT] compile-time option is used.
   int sqlite3_snapshot_get(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zSchema,
+    ffi.Pointer<pkg_ffi.Char> zSchema,
     ffi.Pointer<ffi.Pointer<sqlite3_snapshot>> ppSnapshot,
   ) {
     return _sqlite3_snapshot_get(
@@ -10344,11 +10392,13 @@
 
   late final _sqlite3_snapshot_getPtr = _lookup<
           ffi.NativeFunction<
-              ffi.Int32 Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>,
+              pkg_ffi.Int Function(
+                  ffi.Pointer<sqlite3>,
+                  ffi.Pointer<pkg_ffi.Char>,
                   ffi.Pointer<ffi.Pointer<sqlite3_snapshot>>)>>(
       'sqlite3_snapshot_get');
   late final _sqlite3_snapshot_get = _sqlite3_snapshot_getPtr.asFunction<
-      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>,
+      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>,
           ffi.Pointer<ffi.Pointer<sqlite3_snapshot>>)>();
 
   /// CAPI3REF: Start a read transaction on an historical snapshot
@@ -10394,7 +10444,7 @@
   /// [SQLITE_ENABLE_SNAPSHOT] compile-time option is used.
   int sqlite3_snapshot_open(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zSchema,
+    ffi.Pointer<pkg_ffi.Char> zSchema,
     ffi.Pointer<sqlite3_snapshot> pSnapshot,
   ) {
     return _sqlite3_snapshot_open(
@@ -10406,10 +10456,10 @@
 
   late final _sqlite3_snapshot_openPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>,
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<sqlite3_snapshot>)>>('sqlite3_snapshot_open');
   late final _sqlite3_snapshot_open = _sqlite3_snapshot_openPtr.asFunction<
-      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>,
+      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>,
           ffi.Pointer<sqlite3_snapshot>)>();
 
   /// CAPI3REF: Destroy a snapshot
@@ -10470,7 +10520,7 @@
 
   late final _sqlite3_snapshot_cmpPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_snapshot>,
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_snapshot>,
               ffi.Pointer<sqlite3_snapshot>)>>('sqlite3_snapshot_cmp');
   late final _sqlite3_snapshot_cmp = _sqlite3_snapshot_cmpPtr.asFunction<
       int Function(
@@ -10499,7 +10549,7 @@
   /// [SQLITE_ENABLE_SNAPSHOT] option.
   int sqlite3_snapshot_recover(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zDb,
+    ffi.Pointer<pkg_ffi.Char> zDb,
   ) {
     return _sqlite3_snapshot_recover(
       db,
@@ -10509,10 +10559,11 @@
 
   late final _sqlite3_snapshot_recoverPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>)>>('sqlite3_snapshot_recover');
-  late final _sqlite3_snapshot_recover = _sqlite3_snapshot_recoverPtr
-      .asFunction<int Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>)>();
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3>,
+              ffi.Pointer<pkg_ffi.Char>)>>('sqlite3_snapshot_recover');
+  late final _sqlite3_snapshot_recover =
+      _sqlite3_snapshot_recoverPtr.asFunction<
+          int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>)>();
 
   /// CAPI3REF: Serialize a database
   ///
@@ -10548,9 +10599,9 @@
   ///
   /// This interface is only available if SQLite is compiled with the
   /// [SQLITE_ENABLE_DESERIALIZE] option.
-  ffi.Pointer<ffi.Uint8> sqlite3_serialize(
+  ffi.Pointer<pkg_ffi.UnsignedChar> sqlite3_serialize(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zSchema,
+    ffi.Pointer<pkg_ffi.Char> zSchema,
     ffi.Pointer<sqlite3_int64> piSize,
     int mFlags,
   ) {
@@ -10564,14 +10615,14 @@
 
   late final _sqlite3_serializePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Uint8> Function(
+          ffi.Pointer<pkg_ffi.UnsignedChar> Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<sqlite3_int64>,
-              ffi.Uint32)>>('sqlite3_serialize');
+              pkg_ffi.UnsignedInt)>>('sqlite3_serialize');
   late final _sqlite3_serialize = _sqlite3_serializePtr.asFunction<
-      ffi.Pointer<ffi.Uint8> Function(ffi.Pointer<sqlite3>,
-          ffi.Pointer<ffi.Int8>, ffi.Pointer<sqlite3_int64>, int)>();
+      ffi.Pointer<pkg_ffi.UnsignedChar> Function(ffi.Pointer<sqlite3>,
+          ffi.Pointer<pkg_ffi.Char>, ffi.Pointer<sqlite3_int64>, int)>();
 
   /// CAPI3REF: Deserialize a database
   ///
@@ -10602,8 +10653,8 @@
   /// [SQLITE_ENABLE_DESERIALIZE] option.
   int sqlite3_deserialize(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zSchema,
-    ffi.Pointer<ffi.Uint8> pData,
+    ffi.Pointer<pkg_ffi.Char> zSchema,
+    ffi.Pointer<pkg_ffi.UnsignedChar> pData,
     int szDb,
     int szBuf,
     int mFlags,
@@ -10620,16 +10671,16 @@
 
   late final _sqlite3_deserializePtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Pointer<ffi.Uint8>,
+              ffi.Pointer<pkg_ffi.Char>,
+              ffi.Pointer<pkg_ffi.UnsignedChar>,
               sqlite3_int64,
               sqlite3_int64,
-              ffi.Uint32)>>('sqlite3_deserialize');
+              pkg_ffi.UnsignedInt)>>('sqlite3_deserialize');
   late final _sqlite3_deserialize = _sqlite3_deserializePtr.asFunction<
-      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<ffi.Int8>,
-          ffi.Pointer<ffi.Uint8>, int, int, int)>();
+      int Function(ffi.Pointer<sqlite3>, ffi.Pointer<pkg_ffi.Char>,
+          ffi.Pointer<pkg_ffi.UnsignedChar>, int, int, int)>();
 
   /// Register a geometry callback named zGeom that can be used as part of an
   /// R-Tree geometry query as follows:
@@ -10637,14 +10688,14 @@
   /// SELECT ... FROM <rtree> WHERE <rtree col> MATCH $zGeom(... params ...)
   int sqlite3_rtree_geometry_callback(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zGeom,
+    ffi.Pointer<pkg_ffi.Char> zGeom,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Int32 Function(
+                pkg_ffi.Int Function(
                     ffi.Pointer<sqlite3_rtree_geometry>,
-                    ffi.Int32,
+                    pkg_ffi.Int,
                     ffi.Pointer<sqlite3_rtree_dbl>,
-                    ffi.Pointer<ffi.Int32>)>>
+                    ffi.Pointer<pkg_ffi.Int>)>>
         xGeom,
     ffi.Pointer<ffi.Void> pContext,
   ) {
@@ -10658,29 +10709,29 @@
 
   late final _sqlite3_rtree_geometry_callbackPtr = _lookup<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(
+                      pkg_ffi.Int Function(
                           ffi.Pointer<sqlite3_rtree_geometry>,
-                          ffi.Int32,
+                          pkg_ffi.Int,
                           ffi.Pointer<sqlite3_rtree_dbl>,
-                          ffi.Pointer<ffi.Int32>)>>,
+                          ffi.Pointer<pkg_ffi.Int>)>>,
               ffi.Pointer<ffi.Void>)>>('sqlite3_rtree_geometry_callback');
   late final _sqlite3_rtree_geometry_callback =
       _sqlite3_rtree_geometry_callbackPtr.asFunction<
           int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(
+                      pkg_ffi.Int Function(
                           ffi.Pointer<sqlite3_rtree_geometry>,
-                          ffi.Int32,
+                          pkg_ffi.Int,
                           ffi.Pointer<sqlite3_rtree_dbl>,
-                          ffi.Pointer<ffi.Int32>)>>,
+                          ffi.Pointer<pkg_ffi.Int>)>>,
               ffi.Pointer<ffi.Void>)>();
 
   /// Register a 2nd-generation geometry callback named zScore that can be
@@ -10689,10 +10740,10 @@
   /// SELECT ... FROM <rtree> WHERE <rtree col> MATCH $zQueryFunc(... params ...)
   int sqlite3_rtree_query_callback(
     ffi.Pointer<sqlite3> db,
-    ffi.Pointer<ffi.Int8> zQueryFunc,
+    ffi.Pointer<pkg_ffi.Char> zQueryFunc,
     ffi.Pointer<
             ffi.NativeFunction<
-                ffi.Int32 Function(ffi.Pointer<sqlite3_rtree_query_info>)>>
+                pkg_ffi.Int Function(ffi.Pointer<sqlite3_rtree_query_info>)>>
         xQueryFunc,
     ffi.Pointer<ffi.Void> pContext,
     ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
@@ -10709,12 +10760,12 @@
 
   late final _sqlite3_rtree_query_callbackPtr = _lookup<
           ffi.NativeFunction<
-              ffi.Int32 Function(
+              pkg_ffi.Int Function(
                   ffi.Pointer<sqlite3>,
-                  ffi.Pointer<ffi.Int8>,
+                  ffi.Pointer<pkg_ffi.Char>,
                   ffi.Pointer<
                       ffi.NativeFunction<
-                          ffi.Int32 Function(
+                          pkg_ffi.Int Function(
                               ffi.Pointer<sqlite3_rtree_query_info>)>>,
                   ffi.Pointer<ffi.Void>,
                   ffi.Pointer<
@@ -10725,10 +10776,10 @@
       _sqlite3_rtree_query_callbackPtr.asFunction<
           int Function(
               ffi.Pointer<sqlite3>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(
+                      pkg_ffi.Int Function(
                           ffi.Pointer<sqlite3_rtree_query_info>)>>,
               ffi.Pointer<ffi.Void>,
               ffi.Pointer<
@@ -10743,100 +10794,7 @@
   external ffi.Pointer<sqlite3_io_methods> pMethods;
 }
 
-class sqlite3_io_methods extends ffi.Struct {
-  @ffi.Int32()
-  external int iVersion;
-
-  external ffi.Pointer<
-      ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_file>)>> xClose;
-
-  external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_file>, ffi.Pointer<ffi.Void>,
-              ffi.Int32, sqlite3_int64)>> xRead;
-
-  external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_file>, ffi.Pointer<ffi.Void>,
-              ffi.Int32, sqlite3_int64)>> xWrite;
-
-  external ffi.Pointer<
-          ffi.NativeFunction<
-              ffi.Int32 Function(ffi.Pointer<sqlite3_file>, sqlite3_int64)>>
-      xTruncate;
-
-  external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_file>, ffi.Int32)>> xSync;
-
-  external ffi.Pointer<
-          ffi.NativeFunction<
-              ffi.Int32 Function(
-                  ffi.Pointer<sqlite3_file>, ffi.Pointer<sqlite3_int64>)>>
-      xFileSize;
-
-  external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_file>, ffi.Int32)>> xLock;
-
-  external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_file>, ffi.Int32)>> xUnlock;
-
-  external ffi.Pointer<
-          ffi.NativeFunction<
-              ffi.Int32 Function(
-                  ffi.Pointer<sqlite3_file>, ffi.Pointer<ffi.Int32>)>>
-      xCheckReservedLock;
-
-  external ffi.Pointer<
-          ffi.NativeFunction<
-              ffi.Int32 Function(
-                  ffi.Pointer<sqlite3_file>, ffi.Int32, ffi.Pointer<ffi.Void>)>>
-      xFileControl;
-
-  external ffi.Pointer<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_file>)>>
-      xSectorSize;
-
-  external ffi.Pointer<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_file>)>>
-      xDeviceCharacteristics;
-
-  /// Methods above are valid for version 1
-  external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_file>, ffi.Int32, ffi.Int32,
-              ffi.Int32, ffi.Pointer<ffi.Pointer<ffi.Void>>)>> xShmMap;
-
-  external ffi.Pointer<
-          ffi.NativeFunction<
-              ffi.Int32 Function(
-                  ffi.Pointer<sqlite3_file>, ffi.Int32, ffi.Int32, ffi.Int32)>>
-      xShmLock;
-
-  external ffi.Pointer<
-          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<sqlite3_file>)>>
-      xShmBarrier;
-
-  external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_file>, ffi.Int32)>> xShmUnmap;
-
-  /// Methods above are valid for version 2
-  external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_file>, sqlite3_int64,
-              ffi.Int32, ffi.Pointer<ffi.Pointer<ffi.Void>>)>> xFetch;
-
-  external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_file>, sqlite3_int64,
-              ffi.Pointer<ffi.Void>)>> xUnfetch;
-}
-
-typedef sqlite3_int64 = sqlite_int64;
-typedef sqlite_int64 = ffi.Int64;
+class sqlite3_io_methods extends ffi.Opaque {}
 
 class sqlite3_mutex extends ffi.Opaque {}
 
@@ -10844,68 +10802,72 @@
 
 class sqlite3_vfs extends ffi.Struct {
   /// Structure version number (currently 3)
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int iVersion;
 
   /// Size of subclassed sqlite3_file
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int szOsFile;
 
   /// Maximum file pathname length
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int mxPathname;
 
   /// Next registered VFS
   external ffi.Pointer<sqlite3_vfs> pNext;
 
   /// Name of this virtual file system
-  external ffi.Pointer<ffi.Int8> zName;
+  external ffi.Pointer<pkg_ffi.Char> zName;
 
   /// Pointer to application-specific data
   external ffi.Pointer<ffi.Void> pAppData;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3_vfs>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<sqlite3_file>,
-              ffi.Int32,
-              ffi.Pointer<ffi.Int32>)>> xOpen;
-
-  external ffi.Pointer<
-          ffi.NativeFunction<
-              ffi.Int32 Function(
-                  ffi.Pointer<sqlite3_vfs>, ffi.Pointer<ffi.Int8>, ffi.Int32)>>
-      xDelete;
+              pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Int>)>> xOpen;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_vfs>, ffi.Pointer<ffi.Int8>,
-              ffi.Int32, ffi.Pointer<ffi.Int32>)>> xAccess;
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_vfs>,
+              ffi.Pointer<pkg_ffi.Char>, pkg_ffi.Int)>> xDelete;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_vfs>, ffi.Pointer<ffi.Int8>,
-              ffi.Int32, ffi.Pointer<ffi.Int8>)>> xFullPathname;
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3_vfs>,
+              ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Int>)>> xAccess;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3_vfs>,
+              ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Char>)>> xFullPathname;
 
   external ffi.Pointer<
       ffi.NativeFunction<
           ffi.Pointer<ffi.Void> Function(
-              ffi.Pointer<sqlite3_vfs>, ffi.Pointer<ffi.Int8>)>> xDlOpen;
+              ffi.Pointer<sqlite3_vfs>, ffi.Pointer<pkg_ffi.Char>)>> xDlOpen;
 
   external ffi.Pointer<
-          ffi.NativeFunction<
-              ffi.Void Function(
-                  ffi.Pointer<sqlite3_vfs>, ffi.Int32, ffi.Pointer<ffi.Int8>)>>
-      xDlError;
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<sqlite3_vfs>, pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Char>)>> xDlError;
 
   external ffi.Pointer<
       ffi.NativeFunction<
           ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>> Function(
               ffi.Pointer<sqlite3_vfs>,
               ffi.Pointer<ffi.Void>,
-              ffi.Pointer<ffi.Int8>)>> xDlSym;
+              ffi.Pointer<pkg_ffi.Char>)>> xDlSym;
 
   external ffi.Pointer<
       ffi.NativeFunction<
@@ -10913,31 +10875,29 @@
               ffi.Pointer<sqlite3_vfs>, ffi.Pointer<ffi.Void>)>> xDlClose;
 
   external ffi.Pointer<
-          ffi.NativeFunction<
-              ffi.Int32 Function(
-                  ffi.Pointer<sqlite3_vfs>, ffi.Int32, ffi.Pointer<ffi.Int8>)>>
-      xRandomness;
+      ffi.NativeFunction<
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_vfs>, pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Char>)>> xRandomness;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_vfs>, ffi.Int32)>> xSleep;
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_vfs>, pkg_ffi.Int)>> xSleep;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3_vfs>, ffi.Pointer<ffi.Double>)>> xCurrentTime;
 
   external ffi.Pointer<
-          ffi.NativeFunction<
-              ffi.Int32 Function(
-                  ffi.Pointer<sqlite3_vfs>, ffi.Int32, ffi.Pointer<ffi.Int8>)>>
-      xGetLastError;
+      ffi.NativeFunction<
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_vfs>, pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Char>)>> xGetLastError;
 
   /// The methods above are in version 1 of the sqlite_vfs object
   /// definition.  Those that follow are added in version 2 or later
   external ffi.Pointer<
           ffi.NativeFunction<
-              ffi.Int32 Function(
+              pkg_ffi.Int Function(
                   ffi.Pointer<sqlite3_vfs>, ffi.Pointer<sqlite3_int64>)>>
       xCurrentTimeInt64;
 
@@ -10945,28 +10905,31 @@
   /// Those below are for version 3 and greater.
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_vfs>, ffi.Pointer<ffi.Int8>,
-              sqlite3_syscall_ptr)>> xSetSystemCall;
-
-  external ffi.Pointer<
-      ffi.NativeFunction<
-          sqlite3_syscall_ptr Function(
-              ffi.Pointer<sqlite3_vfs>, ffi.Pointer<ffi.Int8>)>> xGetSystemCall;
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_vfs>,
+              ffi.Pointer<pkg_ffi.Char>, sqlite3_syscall_ptr)>> xSetSystemCall;
 
   external ffi.Pointer<
           ffi.NativeFunction<
-              ffi.Pointer<ffi.Int8> Function(
-                  ffi.Pointer<sqlite3_vfs>, ffi.Pointer<ffi.Int8>)>>
+              sqlite3_syscall_ptr Function(
+                  ffi.Pointer<sqlite3_vfs>, ffi.Pointer<pkg_ffi.Char>)>>
+      xGetSystemCall;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<
+              ffi.Pointer<pkg_ffi.Char> Function(
+                  ffi.Pointer<sqlite3_vfs>, ffi.Pointer<pkg_ffi.Char>)>>
       xNextSystemCall;
 }
 
+typedef sqlite3_int64 = sqlite_int64;
+typedef sqlite_int64 = pkg_ffi.LongLong;
 typedef sqlite3_syscall_ptr
     = ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>>;
 
 class sqlite3_mem_methods extends ffi.Struct {
   /// Memory allocation function
   external ffi.Pointer<
-      ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(ffi.Int32)>> xMalloc;
+      ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(pkg_ffi.Int)>> xMalloc;
 
   /// Free a prior allocation
   external ffi
@@ -10975,21 +10938,21 @@
 
   /// Resize an allocation
   external ffi.Pointer<
-          ffi.NativeFunction<
-              ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>, ffi.Int32)>>
-      xRealloc;
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ffi.Void>, pkg_ffi.Int)>> xRealloc;
 
   /// Return the size of an allocation
   external ffi.Pointer<
-      ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<ffi.Void>)>> xSize;
+      ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<ffi.Void>)>> xSize;
 
   /// Round up request size to allocation size
-  external ffi.Pointer<ffi.NativeFunction<ffi.Int32 Function(ffi.Int32)>>
+  external ffi.Pointer<ffi.NativeFunction<pkg_ffi.Int Function(pkg_ffi.Int)>>
       xRoundup;
 
   /// Initialize the memory allocator
   external ffi.Pointer<
-      ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<ffi.Void>)>> xInit;
+      ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<ffi.Void>)>> xInit;
 
   /// Deinitialize the memory allocator
   external ffi
@@ -11001,7 +10964,7 @@
 }
 
 typedef sqlite3_uint64 = sqlite_uint64;
-typedef sqlite_uint64 = ffi.Uint64;
+typedef sqlite_uint64 = pkg_ffi.UnsignedLongLong;
 
 class sqlite3_stmt extends ffi.Opaque {}
 
@@ -11030,11 +10993,11 @@
   external ffi.Pointer<sqlite3_module> pModule;
 
   /// Number of open cursors
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int nRef;
 
   /// Error message from sqlite3_mprintf()
-  external ffi.Pointer<ffi.Int8> zErrMsg;
+  external ffi.Pointer<pkg_ffi.Char> zErrMsg;
 }
 
 /// CAPI3REF: Virtual Table Object
@@ -11052,140 +11015,144 @@
 /// of this structure must not change while it is registered with
 /// any database connection.
 class sqlite3_module extends ffi.Struct {
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int iVersion;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
               ffi.Pointer<ffi.Void>,
-              ffi.Int32,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
+              pkg_ffi.Int,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
               ffi.Pointer<ffi.Pointer<sqlite3_vtab>>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>)>> xCreate;
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>> xCreate;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3>,
               ffi.Pointer<ffi.Void>,
-              ffi.Int32,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
+              pkg_ffi.Int,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
               ffi.Pointer<ffi.Pointer<sqlite3_vtab>>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>)>> xConnect;
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>)>> xConnect;
 
   external ffi.Pointer<
           ffi.NativeFunction<
-              ffi.Int32 Function(
+              pkg_ffi.Int Function(
                   ffi.Pointer<sqlite3_vtab>, ffi.Pointer<sqlite3_index_info>)>>
       xBestIndex;
 
   external ffi.Pointer<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_vtab>)>>
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab>)>>
       xDisconnect;
 
   external ffi.Pointer<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_vtab>)>>
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab>)>>
       xDestroy;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_vtab>,
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab>,
               ffi.Pointer<ffi.Pointer<sqlite3_vtab_cursor>>)>> xOpen;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_vtab_cursor>)>> xClose;
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab_cursor>)>> xClose;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3_vtab_cursor>,
-              ffi.Int32,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Int32,
+              pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Pointer<sqlite3_value>>)>> xFilter;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_vtab_cursor>)>> xNext;
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab_cursor>)>> xNext;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_vtab_cursor>)>> xEof;
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab_cursor>)>> xEof;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_vtab_cursor>,
-              ffi.Pointer<sqlite3_context>, ffi.Int32)>> xColumn;
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab_cursor>,
+              ffi.Pointer<sqlite3_context>, pkg_ffi.Int)>> xColumn;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_vtab_cursor>,
+          pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab_cursor>,
               ffi.Pointer<sqlite3_int64>)>> xRowid;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3_vtab>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Pointer<sqlite3_value>>,
               ffi.Pointer<sqlite3_int64>)>> xUpdate;
 
   external ffi.Pointer<
-      ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_vtab>)>> xBegin;
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab>)>>
+      xBegin;
 
   external ffi.Pointer<
-      ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_vtab>)>> xSync;
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab>)>>
+      xSync;
 
   external ffi.Pointer<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_vtab>)>>
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab>)>>
       xCommit;
 
   external ffi.Pointer<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_vtab>)>>
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab>)>>
       xRollback;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<sqlite3_vtab>,
-              ffi.Int32,
-              ffi.Pointer<ffi.Int8>,
+              pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<
                   ffi.Pointer<
                       ffi.NativeFunction<
                           ffi.Void Function(
                               ffi.Pointer<sqlite3_context>,
-                              ffi.Int32,
+                              pkg_ffi.Int,
                               ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>>,
               ffi.Pointer<ffi.Pointer<ffi.Void>>)>> xFindFunction;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<sqlite3_vtab>, ffi.Pointer<ffi.Int8>)>> xRename;
+          pkg_ffi.Int Function(
+              ffi.Pointer<sqlite3_vtab>, ffi.Pointer<pkg_ffi.Char>)>> xRename;
 
   /// The methods above are in version 1 of the sqlite_module object. Those
   /// below are for version 2 and greater.
   external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_vtab>, ffi.Int32)>> xSavepoint;
-
-  external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<sqlite3_vtab>, ffi.Int32)>> xRelease;
+          ffi.NativeFunction<
+              pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab>, pkg_ffi.Int)>>
+      xSavepoint;
 
   external ffi.Pointer<
           ffi.NativeFunction<
-              ffi.Int32 Function(ffi.Pointer<sqlite3_vtab>, ffi.Int32)>>
+              pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab>, pkg_ffi.Int)>>
+      xRelease;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<
+              pkg_ffi.Int Function(ffi.Pointer<sqlite3_vtab>, pkg_ffi.Int)>>
       xRollbackTo;
 
   /// The methods above are in versions 1 and 2 of the sqlite_module object.
   /// Those below are for version 3 and greater.
   external ffi.Pointer<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<ffi.Int8>)>>
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<pkg_ffi.Char>)>>
       xShadowName;
 }
 
@@ -11291,14 +11258,14 @@
 /// 3009000.
 class sqlite3_index_info extends ffi.Struct {
   /// Number of entries in aConstraint
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int nConstraint;
 
   /// Table of WHERE clause constraints
   external ffi.Pointer<sqlite3_index_constraint> aConstraint;
 
   /// Number of terms in the ORDER BY clause
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int nOrderBy;
 
   /// The ORDER BY clause
@@ -11307,18 +11274,18 @@
   external ffi.Pointer<sqlite3_index_constraint_usage> aConstraintUsage;
 
   /// Number used to identify the index
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int idxNum;
 
   /// String, possibly obtained from sqlite3_malloc
-  external ffi.Pointer<ffi.Int8> idxStr;
+  external ffi.Pointer<pkg_ffi.Char> idxStr;
 
   /// Free idxStr using sqlite3_free() if true
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int needToFreeIdxStr;
 
   /// True if output is already ordered
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int orderByConsumed;
 
   /// Estimated cost of using this index
@@ -11330,7 +11297,7 @@
   external int estimatedRows;
 
   /// Mask of SQLITE_INDEX_SCAN_* flags
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int idxFlags;
 
   /// Input: Mask of columns used by statement
@@ -11340,40 +11307,40 @@
 
 class sqlite3_index_constraint extends ffi.Struct {
   /// Column constrained.  -1 for ROWID
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int iColumn;
 
   /// Constraint operator
-  @ffi.Uint8()
+  @pkg_ffi.UnsignedChar()
   external int op;
 
   /// True if this constraint is usable
-  @ffi.Uint8()
+  @pkg_ffi.UnsignedChar()
   external int usable;
 
   /// Used internally - xBestIndex should ignore
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int iTermOffset;
 }
 
 class sqlite3_index_orderby extends ffi.Struct {
   /// Column number
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int iColumn;
 
   /// True for DESC.  False for ASC.
-  @ffi.Uint8()
+  @pkg_ffi.UnsignedChar()
   external int desc;
 }
 
 /// Outputs
 class sqlite3_index_constraint_usage extends ffi.Struct {
   /// if >0, constraint is part of argv to xFilter
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int argvIndex;
 
   /// Do not code a test for this constraint
-  @ffi.Uint8()
+  @pkg_ffi.UnsignedChar()
   external int omit;
 }
 
@@ -11400,12 +11367,12 @@
 class sqlite3_blob extends ffi.Opaque {}
 
 class sqlite3_mutex_methods extends ffi.Struct {
-  external ffi.Pointer<ffi.NativeFunction<ffi.Int32 Function()>> xMutexInit;
+  external ffi.Pointer<ffi.NativeFunction<pkg_ffi.Int Function()>> xMutexInit;
 
-  external ffi.Pointer<ffi.NativeFunction<ffi.Int32 Function()>> xMutexEnd;
+  external ffi.Pointer<ffi.NativeFunction<pkg_ffi.Int Function()>> xMutexEnd;
 
   external ffi.Pointer<
-          ffi.NativeFunction<ffi.Pointer<sqlite3_mutex> Function(ffi.Int32)>>
+          ffi.NativeFunction<ffi.Pointer<sqlite3_mutex> Function(pkg_ffi.Int)>>
       xMutexAlloc;
 
   external ffi.Pointer<
@@ -11417,7 +11384,7 @@
       xMutexEnter;
 
   external ffi.Pointer<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_mutex>)>>
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_mutex>)>>
       xMutexTry;
 
   external ffi.Pointer<
@@ -11425,11 +11392,11 @@
       xMutexLeave;
 
   external ffi.Pointer<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_mutex>)>>
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_mutex>)>>
       xMutexHeld;
 
   external ffi.Pointer<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_mutex>)>>
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_mutex>)>>
       xMutexNotheld;
 }
 
@@ -11446,13 +11413,13 @@
 }
 
 class sqlite3_pcache_methods2 extends ffi.Struct {
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int iVersion;
 
   external ffi.Pointer<ffi.Void> pArg;
 
   external ffi.Pointer<
-      ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<ffi.Void>)>> xInit;
+      ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<ffi.Void>)>> xInit;
 
   external ffi
           .Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
@@ -11461,39 +11428,39 @@
   external ffi.Pointer<
       ffi.NativeFunction<
           ffi.Pointer<sqlite3_pcache> Function(
-              ffi.Int32, ffi.Int32, ffi.Int32)>> xCreate;
+              pkg_ffi.Int, pkg_ffi.Int, pkg_ffi.Int)>> xCreate;
 
   external ffi.Pointer<
           ffi.NativeFunction<
-              ffi.Void Function(ffi.Pointer<sqlite3_pcache>, ffi.Int32)>>
+              ffi.Void Function(ffi.Pointer<sqlite3_pcache>, pkg_ffi.Int)>>
       xCachesize;
 
   external ffi.Pointer<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_pcache>)>>
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_pcache>)>>
       xPagecount;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Pointer<sqlite3_pcache_page> Function(
-              ffi.Pointer<sqlite3_pcache>, ffi.Uint32, ffi.Int32)>> xFetch;
+          ffi.Pointer<sqlite3_pcache_page> Function(ffi.Pointer<sqlite3_pcache>,
+              pkg_ffi.UnsignedInt, pkg_ffi.Int)>> xFetch;
 
   external ffi.Pointer<
       ffi.NativeFunction<
           ffi.Void Function(ffi.Pointer<sqlite3_pcache>,
-              ffi.Pointer<sqlite3_pcache_page>, ffi.Int32)>> xUnpin;
+              ffi.Pointer<sqlite3_pcache_page>, pkg_ffi.Int)>> xUnpin;
 
   external ffi.Pointer<
       ffi.NativeFunction<
           ffi.Void Function(
               ffi.Pointer<sqlite3_pcache>,
               ffi.Pointer<sqlite3_pcache_page>,
-              ffi.Uint32,
-              ffi.Uint32)>> xRekey;
+              pkg_ffi.UnsignedInt,
+              pkg_ffi.UnsignedInt)>> xRekey;
 
   external ffi.Pointer<
-          ffi.NativeFunction<
-              ffi.Void Function(ffi.Pointer<sqlite3_pcache>, ffi.Uint32)>>
-      xTruncate;
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<sqlite3_pcache>, pkg_ffi.UnsignedInt)>> xTruncate;
 
   external ffi.Pointer<
           ffi.NativeFunction<ffi.Void Function(ffi.Pointer<sqlite3_pcache>)>>
@@ -11508,44 +11475,45 @@
   external ffi.Pointer<ffi.Void> pArg;
 
   external ffi.Pointer<
-      ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<ffi.Void>)>> xInit;
+      ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<ffi.Void>)>> xInit;
 
   external ffi
           .Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
       xShutdown;
 
   external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Pointer<sqlite3_pcache> Function(ffi.Int32, ffi.Int32)>> xCreate;
+          ffi.NativeFunction<
+              ffi.Pointer<sqlite3_pcache> Function(pkg_ffi.Int, pkg_ffi.Int)>>
+      xCreate;
 
   external ffi.Pointer<
           ffi.NativeFunction<
-              ffi.Void Function(ffi.Pointer<sqlite3_pcache>, ffi.Int32)>>
+              ffi.Void Function(ffi.Pointer<sqlite3_pcache>, pkg_ffi.Int)>>
       xCachesize;
 
   external ffi.Pointer<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<sqlite3_pcache>)>>
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<sqlite3_pcache>)>>
       xPagecount;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Pointer<ffi.Void> Function(
-              ffi.Pointer<sqlite3_pcache>, ffi.Uint32, ffi.Int32)>> xFetch;
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<sqlite3_pcache>,
+              pkg_ffi.UnsignedInt, pkg_ffi.Int)>> xFetch;
 
   external ffi.Pointer<
       ffi.NativeFunction<
           ffi.Void Function(ffi.Pointer<sqlite3_pcache>, ffi.Pointer<ffi.Void>,
-              ffi.Int32)>> xUnpin;
+              pkg_ffi.Int)>> xUnpin;
 
   external ffi.Pointer<
       ffi.NativeFunction<
           ffi.Void Function(ffi.Pointer<sqlite3_pcache>, ffi.Pointer<ffi.Void>,
-              ffi.Uint32, ffi.Uint32)>> xRekey;
+              pkg_ffi.UnsignedInt, pkg_ffi.UnsignedInt)>> xRekey;
 
   external ffi.Pointer<
-          ffi.NativeFunction<
-              ffi.Void Function(ffi.Pointer<sqlite3_pcache>, ffi.Uint32)>>
-      xTruncate;
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<sqlite3_pcache>, pkg_ffi.UnsignedInt)>> xTruncate;
 
   external ffi.Pointer<
           ffi.NativeFunction<ffi.Void Function(ffi.Pointer<sqlite3_pcache>)>>
@@ -11574,7 +11542,7 @@
 /// the most recent version.
 class sqlite3_snapshot extends ffi.Struct {
   @ffi.Array.multi([48])
-  external ffi.Array<ffi.Uint8> hidden;
+  external ffi.Array<pkg_ffi.UnsignedChar> hidden;
 }
 
 /// A pointer to a structure of the following type is passed as the first
@@ -11584,7 +11552,7 @@
   external ffi.Pointer<ffi.Void> pContext;
 
   /// Size of array aParam[]
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int nParam;
 
   /// Parameters passed to SQL geom function
@@ -11613,7 +11581,7 @@
   external ffi.Pointer<ffi.Void> pContext;
 
   /// Number of function parameters
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int nParam;
 
   /// value of function parameters
@@ -11631,18 +11599,18 @@
   external ffi.Pointer<sqlite3_rtree_dbl> aCoord;
 
   /// Number of pending entries in the queue
-  external ffi.Pointer<ffi.Uint32> anQueue;
+  external ffi.Pointer<pkg_ffi.UnsignedInt> anQueue;
 
   /// Number of coordinates
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int nCoord;
 
   /// Level of current node or entry
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int iLevel;
 
   /// The largest iLevel value in the tree
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int mxLevel;
 
   /// Rowid for current entry
@@ -11654,11 +11622,11 @@
   external double rParentScore;
 
   /// Visibility of parent node
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int eParentWithin;
 
   /// OUT: Visibility
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int eWithin;
 
   /// OUT: Write the score here
@@ -11880,7 +11848,7 @@
 /// See xPhraseFirstColumn above.
 class Fts5ExtensionApi extends ffi.Struct {
   /// Currently always set to 3
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int iVersion;
 
   external ffi.Pointer<
@@ -11888,57 +11856,58 @@
           ffi.Pointer<ffi.Void> Function(ffi.Pointer<Fts5Context>)>> xUserData;
 
   external ffi.Pointer<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<Fts5Context>)>>
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<Fts5Context>)>>
       xColumnCount;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<Fts5Context>, ffi.Pointer<sqlite3_int64>)>> xRowCount;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<Fts5Context>, ffi.Int32,
+          pkg_ffi.Int Function(ffi.Pointer<Fts5Context>, pkg_ffi.Int,
               ffi.Pointer<sqlite3_int64>)>> xColumnTotalSize;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<Fts5Context>,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Int32,
+              ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Void>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(
+                      pkg_ffi.Int Function(
                           ffi.Pointer<ffi.Void>,
-                          ffi.Int32,
-                          ffi.Pointer<ffi.Int8>,
-                          ffi.Int32,
-                          ffi.Int32,
-                          ffi.Int32)>>)>> xTokenize;
+                          pkg_ffi.Int,
+                          ffi.Pointer<pkg_ffi.Char>,
+                          pkg_ffi.Int,
+                          pkg_ffi.Int,
+                          pkg_ffi.Int)>>)>> xTokenize;
 
   external ffi.Pointer<
-          ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<Fts5Context>)>>
+          ffi.NativeFunction<pkg_ffi.Int Function(ffi.Pointer<Fts5Context>)>>
       xPhraseCount;
 
   external ffi.Pointer<
-      ffi.NativeFunction<
-          ffi.Int32 Function(ffi.Pointer<Fts5Context>, ffi.Int32)>> xPhraseSize;
+          ffi.NativeFunction<
+              pkg_ffi.Int Function(ffi.Pointer<Fts5Context>, pkg_ffi.Int)>>
+      xPhraseSize;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
-              ffi.Pointer<Fts5Context>, ffi.Pointer<ffi.Int32>)>> xInstCount;
+          pkg_ffi.Int Function(
+              ffi.Pointer<Fts5Context>, ffi.Pointer<pkg_ffi.Int>)>> xInstCount;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<Fts5Context>,
-              ffi.Int32,
-              ffi.Pointer<ffi.Int32>,
-              ffi.Pointer<ffi.Int32>,
-              ffi.Pointer<ffi.Int32>)>> xInst;
+              pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Int>,
+              ffi.Pointer<pkg_ffi.Int>,
+              ffi.Pointer<pkg_ffi.Int>)>> xInst;
 
   external ffi.Pointer<
           ffi.NativeFunction<sqlite3_int64 Function(ffi.Pointer<Fts5Context>)>>
@@ -11946,34 +11915,33 @@
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<Fts5Context>,
-              ffi.Int32,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Pointer<ffi.Int32>)>> xColumnText;
-
-  external ffi.Pointer<
-          ffi.NativeFunction<
-              ffi.Int32 Function(
-                  ffi.Pointer<Fts5Context>, ffi.Int32, ffi.Pointer<ffi.Int32>)>>
-      xColumnSize;
+              pkg_ffi.Int,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              ffi.Pointer<pkg_ffi.Int>)>> xColumnText;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(ffi.Pointer<Fts5Context>, pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Int>)>> xColumnSize;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          pkg_ffi.Int Function(
               ffi.Pointer<Fts5Context>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Void>,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(
+                      pkg_ffi.Int Function(
                           ffi.Pointer<Fts5ExtensionApi>,
                           ffi.Pointer<Fts5Context>,
                           ffi.Pointer<ffi.Void>)>>)>> xQueryPhrase;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<Fts5Context>,
               ffi.Pointer<ffi.Void>,
               ffi.Pointer<
@@ -11983,47 +11951,47 @@
   external ffi.Pointer<
       ffi.NativeFunction<
           ffi.Pointer<ffi.Void> Function(
-              ffi.Pointer<Fts5Context>, ffi.Int32)>> xGetAuxdata;
+              ffi.Pointer<Fts5Context>, pkg_ffi.Int)>> xGetAuxdata;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<Fts5Context>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<Fts5PhraseIter>,
-              ffi.Pointer<ffi.Int32>,
-              ffi.Pointer<ffi.Int32>)>> xPhraseFirst;
+              ffi.Pointer<pkg_ffi.Int>,
+              ffi.Pointer<pkg_ffi.Int>)>> xPhraseFirst;
 
   external ffi.Pointer<
       ffi.NativeFunction<
           ffi.Void Function(
               ffi.Pointer<Fts5Context>,
               ffi.Pointer<Fts5PhraseIter>,
-              ffi.Pointer<ffi.Int32>,
-              ffi.Pointer<ffi.Int32>)>> xPhraseNext;
+              ffi.Pointer<pkg_ffi.Int>,
+              ffi.Pointer<pkg_ffi.Int>)>> xPhraseNext;
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<Fts5Context>,
-              ffi.Int32,
+              pkg_ffi.Int,
               ffi.Pointer<Fts5PhraseIter>,
-              ffi.Pointer<ffi.Int32>)>> xPhraseFirstColumn;
+              ffi.Pointer<pkg_ffi.Int>)>> xPhraseFirstColumn;
 
   external ffi.Pointer<
       ffi.NativeFunction<
           ffi.Void Function(
               ffi.Pointer<Fts5Context>,
               ffi.Pointer<Fts5PhraseIter>,
-              ffi.Pointer<ffi.Int32>)>> xPhraseNextColumn;
+              ffi.Pointer<pkg_ffi.Int>)>> xPhraseNextColumn;
 }
 
 class Fts5Context extends ffi.Opaque {}
 
 class Fts5PhraseIter extends ffi.Struct {
-  external ffi.Pointer<ffi.Uint8> a;
+  external ffi.Pointer<pkg_ffi.UnsignedChar> a;
 
-  external ffi.Pointer<ffi.Uint8> b;
+  external ffi.Pointer<pkg_ffi.UnsignedChar> b;
 }
 
 class Fts5Tokenizer extends ffi.Opaque {}
@@ -12031,10 +11999,10 @@
 class fts5_tokenizer extends ffi.Struct {
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<ffi.Void>,
-              ffi.Pointer<ffi.Pointer<ffi.Int8>>,
-              ffi.Int32,
+              ffi.Pointer<ffi.Pointer<pkg_ffi.Char>>,
+              pkg_ffi.Int,
               ffi.Pointer<ffi.Pointer<Fts5Tokenizer>>)>> xCreate;
 
   external ffi.Pointer<
@@ -12043,34 +12011,34 @@
 
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<Fts5Tokenizer>,
               ffi.Pointer<ffi.Void>,
-              ffi.Int32,
-              ffi.Pointer<ffi.Int8>,
-              ffi.Int32,
+              pkg_ffi.Int,
+              ffi.Pointer<pkg_ffi.Char>,
+              pkg_ffi.Int,
               ffi.Pointer<
                   ffi.NativeFunction<
-                      ffi.Int32 Function(
+                      pkg_ffi.Int Function(
                           ffi.Pointer<ffi.Void>,
-                          ffi.Int32,
-                          ffi.Pointer<ffi.Int8>,
-                          ffi.Int32,
-                          ffi.Int32,
-                          ffi.Int32)>>)>> xTokenize;
+                          pkg_ffi.Int,
+                          ffi.Pointer<pkg_ffi.Char>,
+                          pkg_ffi.Int,
+                          pkg_ffi.Int,
+                          pkg_ffi.Int)>>)>> xTokenize;
 }
 
 class fts5_api extends ffi.Struct {
   /// Currently always set to 2
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int iVersion;
 
   /// Create a new tokenizer
   external ffi.Pointer<
           ffi.NativeFunction<
-              ffi.Int32 Function(
+              pkg_ffi.Int Function(
                   ffi.Pointer<fts5_api>,
-                  ffi.Pointer<ffi.Int8>,
+                  ffi.Pointer<pkg_ffi.Char>,
                   ffi.Pointer<ffi.Void>,
                   ffi.Pointer<fts5_tokenizer>,
                   ffi.Pointer<
@@ -12081,18 +12049,18 @@
   /// Find an existing tokenizer
   external ffi.Pointer<
       ffi.NativeFunction<
-          ffi.Int32 Function(
+          pkg_ffi.Int Function(
               ffi.Pointer<fts5_api>,
-              ffi.Pointer<ffi.Int8>,
+              ffi.Pointer<pkg_ffi.Char>,
               ffi.Pointer<ffi.Pointer<ffi.Void>>,
               ffi.Pointer<fts5_tokenizer>)>> xFindTokenizer;
 
   /// Create a new auxiliary function
   external ffi.Pointer<
           ffi.NativeFunction<
-              ffi.Int32 Function(
+              pkg_ffi.Int Function(
                   ffi.Pointer<fts5_api>,
-                  ffi.Pointer<ffi.Int8>,
+                  ffi.Pointer<pkg_ffi.Char>,
                   ffi.Pointer<ffi.Void>,
                   fts5_extension_function,
                   ffi.Pointer<
@@ -12107,7 +12075,7 @@
             ffi.Pointer<Fts5ExtensionApi>,
             ffi.Pointer<Fts5Context>,
             ffi.Pointer<sqlite3_context>,
-            ffi.Int32,
+            pkg_ffi.Int,
             ffi.Pointer<ffi.Pointer<sqlite3_value>>)>>;
 
 const String SQLITE_VERSION = '3.32.3';
diff --git a/pkgs/ffigen/test/large_integration_tests/large_test.dart b/pkgs/ffigen/test/large_integration_tests/large_test.dart
index a3fadae..14c54bf 100644
--- a/pkgs/ffigen/test/large_integration_tests/large_test.dart
+++ b/pkgs/ffigen/test/large_integration_tests/large_test.dart
@@ -37,9 +37,16 @@
     - '**Documentation.h'
     - '**FataErrorHandler.h'
     - '**Index.h'
-${strings.typedefmap}:
-  'size_t': 'IntPtr'
-  'time_t': 'Int64'
+${strings.typeMap}:
+  ${strings.typeMapTypedefs}:
+    'size_t':
+      lib: 'pkg_ffi'
+      c-type: 'Size'
+      dart-type: 'int'
+    'time_t':
+      lib: 'ffi'
+      c-type: 'Int64'
+      dart-type: 'int'
 ${strings.preamble}: |
   // ignore_for_file: camel_case_types, non_constant_identifier_names
       ''') as YamlMap);
@@ -64,8 +71,12 @@
     - third_party/cjson_library/cJSON.h
   ${strings.includeDirectives}:
     - '**cJSON.h'
-${strings.typedefmap}:
-  'size_t': 'IntPtr'
+${strings.typeMap}:
+  ${strings.typeMapTypedefs}:
+    'size_t':
+      lib: 'pkg_ffi'
+      c-type: 'Size'
+      dart-type: 'int'
 ${strings.preamble}: |
   // ignore_for_file: camel_case_types, non_constant_identifier_names
       ''') as YamlMap);
diff --git a/pkgs/ffigen/test/native_test/native_test_bindings.dart b/pkgs/ffigen/test/native_test/native_test_bindings.dart
index 8c4d0ea..70e8775 100644
--- a/pkgs/ffigen/test/native_test/native_test_bindings.dart
+++ b/pkgs/ffigen/test/native_test/native_test_bindings.dart
@@ -4,6 +4,7 @@
 //
 // Generated by `package:ffigen`.
 import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
 
 /// Native tests.
 class NativeLibrary {
@@ -211,8 +212,8 @@
 
   late final _Function1StructReturnByValuePtr = _lookup<
       ffi.NativeFunction<
-          Struct3 Function(ffi.Int32, ffi.Int32,
-              ffi.Int32)>>('Function1StructReturnByValue');
+          Struct3 Function(pkg_ffi.Int, pkg_ffi.Int,
+              pkg_ffi.Int)>>('Function1StructReturnByValue');
   late final _Function1StructReturnByValue = _Function1StructReturnByValuePtr
       .asFunction<Struct3 Function(int, int, int)>();
 
@@ -225,7 +226,7 @@
   }
 
   late final _Function1StructPassByValuePtr =
-      _lookup<ffi.NativeFunction<ffi.Int32 Function(Struct3)>>(
+      _lookup<ffi.NativeFunction<pkg_ffi.Int Function(Struct3)>>(
           'Function1StructPassByValue');
   late final _Function1StructPassByValue =
       _Function1StructPassByValuePtr.asFunction<int Function(Struct3)>();
@@ -240,12 +241,12 @@
 }
 
 class Struct3 extends ffi.Struct {
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int a;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int b;
 
-  @ffi.Int32()
+  @pkg_ffi.Int()
   external int c;
 }
diff --git a/pkgs/ffigen/test/rename_tests/rename_test.dart b/pkgs/ffigen/test/rename_tests/rename_test.dart
index f362a11..896b3db 100644
--- a/pkgs/ffigen/test/rename_tests/rename_test.dart
+++ b/pkgs/ffigen/test/rename_tests/rename_test.dart
@@ -215,15 +215,15 @@
         parameters: [
           Parameter(
             name: 'underscore',
-            type: Type.nativeType(SupportedNativeType.Int32),
+            type: Type.importedType(intType),
           ),
           Parameter(
             name: 'fullMatchSuccess',
-            type: Type.nativeType(SupportedNativeType.Float),
+            type: Type.importedType(floatType),
           ),
           Parameter(
             name: 'unnamed',
-            type: Type.nativeType(SupportedNativeType.Int32),
+            type: Type.importedType(intType),
           ),
         ],
       ),
@@ -250,11 +250,11 @@
         members: [
           Member(
             name: 'underscore',
-            type: Type.nativeType(SupportedNativeType.Int32),
+            type: Type.importedType(intType),
           ),
           Member(
             name: 'fullMatchSuccess',
-            type: Type.nativeType(SupportedNativeType.Float),
+            type: Type.importedType(floatType),
           ),
         ],
       ),
@@ -263,7 +263,7 @@
         members: [
           Member(
             name: 'underscore',
-            type: Type.nativeType(SupportedNativeType.Int32),
+            type: Type.importedType(intType),
           ),
         ],
       ),
diff --git a/pkgs/ffigen/test/test_utils.dart b/pkgs/ffigen/test/test_utils.dart
index a967f66..624e626 100644
--- a/pkgs/ffigen/test/test_utils.dart
+++ b/pkgs/ffigen/test/test_utils.dart
@@ -70,3 +70,10 @@
     print('${record.level.name.padRight(8)}: ${record.message}');
   });
 }
+
+void logWarningsToArray(List<String> logArr, [Level level = Level.WARNING]) {
+  Logger.root.level = level;
+  Logger.root.onRecord.listen((record) {
+    logArr.add('${record.level.name.padRight(8)}: ${record.message}');
+  });
+}