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)
x86 (IA32) 1 🟨
x86_64 (AMD64)
ARM32 LE 2 ⬜️ 🟨
ARM64 (AArch64) LE 🟨
RISC-V 64 3 ⬜️ 🟨
✅ Yes | 🟨 Probably | ⬜️ Not applicable
ISA / OS macOS FreeBSD OpenBSD
x86 (IA32) 1 ⬜️
x86_64 (AMD64)
ARM32 LE 2 ⬜️ 🟨 🟨
ARM64 (AArch64) LE 🟨
RISC-V 64 3 ⬜️ 🟨 🟨
✅ 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

  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). 2

  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. 2