What problem does it solve? Integrating existing native C/C++ libraries with JavaScript typically requires writing complex Node.js native addons with N-API or node-gyp. This Skill provides direct guidance for using Bun's built-in bun:ffi module to load shared libraries and call native functions without any compilation toolchain. ## Core Features & Use Cases - Library Loading: Load system or custom shared libraries (.dll, .so, .dylib) with cross-platform path resolution using dlopen and suffix. - Type Mapping & Function Definitions: Map C types (integers, floats, pointers, cstrings) to FFIType definitions and declare function signatures with arguments and return types. - Memory & Pointer Operations: Work with pointers, ArrayBuffers, structs, and C strings using ptr, CString, and toArrayBuffer. - Callbacks: Pass JavaScript functions as C callbacks for operations like custom sort comparators. - Use Case: Call SQLite's C API directly from a Bun script to open a database, execute SQL, and close the connection without any ORM or native addon. ## Quick Start Show me how to call a function from a native C shared library in Bun using bun:ffi with dlopen and FFIType definitions.