Socket
Socket
Sign inDemoInstall

koffi

Package Overview
Dependencies
26
Maintainers
1
Versions
217
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    koffi

Fast and simple C FFI (foreign function interface) for Node.js


Version published
Weekly downloads
9.9K
decreased by-2.24%
Maintainers
1
Install size
66.6 MB
Created
Weekly downloads
 

Readme

Source

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 / OSWindowsLinuxmacOSFreeBSDOpenBSD
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.

Build manually

Koffi is built with a custom CMake-wrapper called CNoke, which also lives in this repository. Don't try to run CMake manually because it will fail.

Follow the documented build instructions to build Koffi from source.

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/

Footnotes

  1. The following call conventions are supported: cdecl, stdcall, MS fastcall, thiscall.

  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 but this is untested. The LP64F ABI is not supported.

Keywords

FAQs

Last updated on 17 May 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc