Overview
Koffi is a fast and easy-to-use C FFI module for Node.js, featuring:
- Low-overhead and fast performance (see benchmarks)
- Support for primitive and aggregate data types (structs and fixed-size arrays), both by reference (pointer) and by value
- Javascript functions can be used as C callbacks (since 1.2.0)
- Well-tested code base for popular OS/architecture combinations
The following combinations of OS and architectures are officially supported and tested at the moment:
ISA / OS | Windows | Linux | macOS | FreeBSD | OpenBSD |
---|
x86 (IA32) 1 | ✅ Yes | ✅ Yes | ⬜️ N/A | ✅ Yes | ✅ Yes |
x86_64 (AMD64) | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
ARM32 LE 2 | ⬜️ N/A | ✅ Yes | ⬜️ N/A | 🟨 Probably | 🟨 Probably |
ARM64 (AArch64) LE | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | 🟨 Probably |
RISC-V 64 3 | ⬜️ N/A | ✅ Yes | ⬜️ N/A | 🟨 Probably | 🟨 Probably |
Go to the web site for more information: https://koffi.dev/
Project history
You can consult the changelog on the official website.
Major version increments can include breaking API changes, use the migration guide for more information.
License
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Find more information here: https://www.gnu.org/licenses/