Overview

Koffi is a fast and easy-to-use C to JS FFI module for Node.js, featuring:

You can find more information about Koffi on the official web site: https://koffi.dev/

Platforms

The following combinations of OS and architectures are officially supported and tested at the moment:

ISA / OS Windows Linux/glibc Linux/musl macOS FreeBSD OpenBSD Android
x86_64 (AMD64)
ARM64 (AArch64) LE
x86 (IA32) 1 🟨 ⬜️ ⬜️
ARM32 LE 2 ⬜️ 🟨 ⬜️ 🟨 🟨 🟨
RISC-V 64 3 ⬜️ 🟨 ⬜️ 🟨 🟨 ⬜️
LoongArch64 ⬜️ 🟨 ⬜️ 🟨 🟨 ⬜️
PowerPC 64 LE 4 ⬜️ 🟨 ⬜️ 🟨 🟨 ⬜️
✅ Yes | 🟨 Probably | ⬜️ Not applicable

License

This program is free software: you can redistribute it and/or modify it under the terms of the MIT License.

Find more information here: https://choosealicense.com/licenses/mit/

  1. The following call conventions are supported for forward calls: cdecl, stdcall, MS fastcall, thiscall. Only cdecl and stdcall can be used for C to JS callbacks.

  2. The prebuilt binary uses the hard float ABI and expects a VFP coprocessor. Build from source to use Koffi with a different ABI (softfp, soft).

  3. The prebuilt binary uses the LP64D (double-precision float) ABI. The LP64 ABI is supported in theory if you build Koffi from source (untested), the LP64F ABI is not supported.

  4. Only the ELFv2 Power64 Little Endian ABI is supported for now.