{"repo":"XenoAtom/XenoAtom.Interop","free":true,"listed":false,"github":"https://github.com/XenoAtom/XenoAtom.Interop","clone":"git clone https://github.com/XenoAtom/XenoAtom.Interop.git","description":"This XenoAtom.Interop project provides a set of C# libraries to interop with C/C++ libraries (musl, libgit2, sqlite, vulkan...)","language":"C#","stars":68,"topics":["dotnet","musl","pinvoke","pinvoke-wrapper","sqlite","ligbit2","libdrm","shaderc","vulkan","libgbm"],"license":"BSD-2-Clause","category":"databases-storage","readme_excerpt":"XenoAtom.Interop 🚀 This XenoAtom.Interop project provides a set of C# libraries to interop with C/C++ libraries. ✨ Features - API generated automatically from C/C++ headers providing a near 100% API coverage . - Low-level interop with C/C++ libraries - The C/C++ API exposed is raw and will use pointers...etc. - Pure Function Pointers generated for callbacks, no managed delegates. - Similarly for ReadOnlySpan whenever possible. - Modern interop using [ [LibraryImport] ](https://learn.microsoft.com/en-us/dotnet/standard/native-interop/pinvoke-source-generation) with P/Invoke source generation. - Some functions taking or returning strings try to offer a more user-friendly API by using string (but the raw function is still accessible!) - Fast UTF16 to UTF8 string marshalling with zero allocations (for small strings). - DllImportResolver support for each library to customize loading the native library. - No native binaries are provided, only the P/Invoke bindings . - But some 3rd party NuGet packages might provide compatible native libraries. See the list of available compatible packages in each library below. - Simple API XML documentation is provided for each library whenever possible (extracted from the C/C++ headers). - NativeAOT Compatible. - Supports net8.0 + 📦 Libraries The C/C++ header files from the Alpine Linux v3.24 were used to generated automatically the .NET P/Invoke bindings. The following libraries are available: Library Native Version Arch NuGet ------- --------","default_branch":null,"files":null,"tree":[],"storefront":"/r/XenoAtom","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/XenoAtom/XenoAtom.Interop/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}