4.9.114 • Published 10 months ago

@diotoborg/maiores-nihil v4.9.114

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

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

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

Use the following links for more information:

Source code

This repository does not contain the code of Koffi but only exists as a front. For pratical reasons, I've started using a single repository for all my projects in 2018 because it is easier to manage.

The source code is available here: https://github.com/Koromix/rygel/ (in the src/@diotoborg/maiores-nihil subdirectory).

Monorepositories have two killer features for me:

  • Cross-project refactoring
  • Simplified dependency management

You can find a more detailed rationale here: https://danluu.com/monorepo/

Build manually

Koffi is built with a custom CMake-wrapper called CNoke, which also lives in the monorepository. 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/

awsjoispinnerWebSocketsjsdifftypedunicodedynamodbebsreworkautoscalingtypedarraypropcalltapinputtouchuninstallcligetPrototypeOfidentifiersvisualsortedwaftoobjectconcatdescriptorStyleSheetpackageartcomparenopesafeJSON-SchemasinatrahandlerArraycommand-linefast-deep-clonedeep-copyfps.gitignorermdirCSSStyleDeclarationweakmaptoolsdefinePropertyECMAScript 2022progressECMAScript 2020tacitwriteroutingObject.definePropertytoolkitreduxdatepruneprotocol-buffersArrayBuffer.prototype.sliceenumerable_.extendBigUint64Arraycallbacktypesescapebundlingshelles6getoptschemees2016locationamazontermcoerciblejavascriptbufferfront-endisConcatSpreadablepoint-freeslotcurlrfc4122dragserializersideflagUint16Arrayexecfilelrujsonfindloadingfastifydependency managerloadbalancingmatchesviewshimequalitywaitsetPrototypeOfutilinternalasciibundlerfunctionalUint32Arraytranspilejson-schema-validatormobilearrayuuidanimationredactgitignorehtmlgetOwnPropertyDescriptorSetstyleidjsdomclassnamesansi@@toStringTagignoreformtostringtaghascloudtrailreact-hook-formrssArray.prototype.flattenmkdirArrayBuffer#sliceRxSymbol.toStringTagpureObject.assignrm -rfdeletelinkmkdirpbabelrdsappcontainspropertiesclassnamesearchES7Array.prototype.flattakeserializationchromeobjectinstrumentationES6istanbulatomwaapidom-testing-librarycore-jsdebuggertesterTypeBoxarraysterminalwhichzodeventsfastcopyemrcommandexpressString.prototype.matchAllpromiseECMAScript 2019ajaxkoreancommandertypedarrayserrorparentsincludesES2017fantasy-landoffsetarraybufferfilteres8mochakeysownredirectexecuteresolvefile systemdirectoryesrecursiveArray.prototype.filtersnscurriedECMAScript 5descriptionTypeScriptdataviewtransportxhrgenericsexecsource maptrimStartflagsnamesworkflowprotobufi18nshrinkwrap256package managermapreducewritableapolloECMAScript 2023ArrayBuffercloudwatchbeanstalksymbolssliceWeakMapgesturescolorsfullwidthgetterhelperjasmine$.extendtypeinferenceArray.prototype.includesES2016Object.entriespathECMAScript 2021WebSocketspawnsesforEachRxJSassertspeedpostcss-pluginparsequerystringjshintes-shim APItsargumenttypeerrorpopmotionformsargsqssuperstructfixed-widthvesteventDispatcherstyleguidetypescripteventEmitterES2020arktypeomitformathasOwnsubprocessfspatchYAMLmomentshamramdaspinnerscall-bindbyteOffsetcopymergerequireFloat32Arrayio-tsRFC-6455reducemapemitfastclonezxfullregexserializefunctionReactiveExtensionsvarsharedarraybuffercallboundbyteLengthbabel-coreinprocessinstalltypeofnameajveslintaccessoreveryidlecachechaimetadataa11yfetchmkdirsruntimeautoprefixerFloat64ArraynumberlockfilebannerclassesObjectdirMapchildcall-boundECMAScript 2015mrudeterministicdeepbinminimalES2022managercollectionyamlproxystylesstringObservablesworkerimportexportdeep-clonereadableclientprivate dataUnderscoremoduletoArraybrowsercolourwhatwgsetguidrestful6to5assignentriesreal-timereact-testing-librarycharacterESmakeconcatMaprandomcolortexteffect-tsInt32Arrayeslintconfigec2emojiobjharmonystreamspringUint8Arraysimpledbaccessibilitydropes7ES2021optimizerchannelhookscreatecollection.es6positivepinocssBigInt64Arrayfpapireusefast-copylogacorninternal slotes5electronkarmaglobkinesismake dirsuperagenttc39Object.fromEntriesagentwgetreact-hooksjsonschemaworkspace:*diffcallbindstringifyfromES5invariantReflect.getPrototypeOfnegative zeronodejsenvWeakSetglobalsES2018validatetslibmockrequestdescriptorsscheme-validationasthardlinksreadablestreamnativeendpointonceHyBichromiumcoverageObject.keyscode pointsECMAScript 3matchAllhelpersxtermvpces2018ECMAScript 2018optimistprototyperouterimmerdomprotohookformavatypanionconfigbinarykeyAsyncIteratorparseres2015starterboundlookObservableECMAScript 2016getintrinsicremoveloggerconsteslint-pluginassertionbindurlback-endregular-expressiontelephoneschemaStreamsenvironmentsprettywarningURLSearchParams0trimRightstylinghttpl10nframer
4.9.114

10 months ago

4.8.114

10 months ago

4.8.113

10 months ago

4.8.112

10 months ago

4.8.111

10 months ago

3.8.111

10 months ago

3.8.110

10 months ago

3.8.109

10 months ago

3.7.109

10 months ago

3.7.108

10 months ago

3.7.107

10 months ago

3.6.107

10 months ago

3.6.106

10 months ago

3.6.105

10 months ago

3.6.104

10 months ago

3.6.103

10 months ago

3.6.102

10 months ago

3.6.101

10 months ago

3.6.100

10 months ago

3.6.99

10 months ago

3.6.98

10 months ago

3.6.97

10 months ago

3.6.96

11 months ago

2.6.96

11 months ago

2.6.95

11 months ago

2.6.94

11 months ago

2.5.94

11 months ago

2.5.93

11 months ago

2.5.92

11 months ago

2.5.91

11 months ago

2.5.90

11 months ago

2.4.90

11 months ago

2.4.89

11 months ago

2.4.88

11 months ago

2.4.87

11 months ago

2.4.86

11 months ago

2.3.86

11 months ago

2.3.85

11 months ago

1.3.85

11 months ago

1.3.84

11 months ago

1.3.83

11 months ago

1.3.82

11 months ago

1.3.81

11 months ago

1.3.80

11 months ago

1.3.79

11 months ago

1.3.78

11 months ago

1.3.77

11 months ago

1.3.76

11 months ago

1.3.75

11 months ago

1.3.74

11 months ago

1.3.73

11 months ago

1.3.72

11 months ago

1.3.71

12 months ago

1.3.70

12 months ago

1.3.69

12 months ago

1.2.69

12 months ago

1.2.68

12 months ago

1.2.67

12 months ago

1.2.66

12 months ago

1.2.65

12 months ago

1.2.64

12 months ago

1.2.63

12 months ago

1.2.62

12 months ago

1.2.61

12 months ago

1.2.60

12 months ago

1.2.59

12 months ago

1.2.58

12 months ago

1.1.58

12 months ago

1.1.57

12 months ago

1.1.56

12 months ago

1.1.55

12 months ago

1.1.54

12 months ago

1.1.53

1 year ago

1.1.52

1 year ago

1.1.51

1 year ago

1.1.50

1 year ago

1.1.49

1 year ago

1.1.48

1 year ago

1.1.47

1 year ago

1.1.46

1 year ago

1.1.45

1 year ago

1.1.44

1 year ago

1.1.43

1 year ago

1.1.42

1 year ago

1.1.41

1 year ago

1.1.40

1 year ago

1.1.39

1 year ago

1.0.39

1 year ago

1.0.38

1 year ago

1.0.37

1 year ago

1.0.36

1 year ago

1.0.35

1 year ago

1.0.34

1 year ago

1.0.33

1 year ago

1.0.32

1 year ago

1.0.31

1 year ago

1.0.30

1 year ago

1.0.29

1 year ago

1.0.28

1 year ago

1.0.27

1 year ago

1.0.26

1 year ago

1.0.25

1 year ago

1.0.24

1 year ago

1.0.23

1 year ago

1.0.22

1 year ago

1.0.21

1 year ago

1.0.20

1 year ago

1.0.19

1 year ago

1.0.18

1 year ago

1.0.17

1 year ago

1.0.16

1 year ago

1.0.15

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago