LinuxCore 0.2.11

There is a newer version of this package available.
See the version list below for details.
dotnet add package LinuxCore --version 0.2.11
                    
NuGet\Install-Package LinuxCore -Version 0.2.11
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LinuxCore" Version="0.2.11" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LinuxCore" Version="0.2.11" />
                    
Directory.Packages.props
<PackageReference Include="LinuxCore" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LinuxCore --version 0.2.11
                    
#r "nuget: LinuxCore, 0.2.11"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package LinuxCore@0.2.11
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=LinuxCore&version=0.2.11
                    
Install as a Cake Addin
#tool nuget:?package=LinuxCore&version=0.2.11
                    
Install as a Cake Tool

LinuxCore

A thin, AOT-compatible .NET wrapper around Linux libc APIs. Provides ergonomic, low-allocation C# abstractions over raw syscalls for files, sockets, events, polling, scheduling, and more.

LinuxCore release LinuxCore download count

Features

  • File I/OLinuxFile for open/read/write/seek/fstat with Span<byte> support
  • Memory FilesLinuxMemoryFile for memfd_create and memfd seals via fcntl
  • Events & SemaphoresLinuxEvent and LinuxSemaphore backed by eventfd
  • PollingLinuxPoll for poll()-based readiness notification
  • ClocksLinuxClock for nanosecond-precision monotonic timestamps
  • SchedulingLinuxScheduler for sched_setscheduler (FIFO, RR, etc.)
  • Resource LimitsLinuxResourceLimit for getrlimit/setrlimit
  • CancellationLinuxCancellationToken bridges CancellationToken to native poll
  • SocketsUnixSocket for AF_UNIX sockets and LinuxSocketBase for shared raw socket operations
  • System ConfigurationSystemConfiguration for sysconf() queries (page size, max open files, etc.)
  • Users & GroupsLinuxUser and LinuxGroup for passwd/group lookups by name or ID

Requirements

  • Linux (the library is annotated with [SupportedOSPlatform("linux")])
  • .NET 10+

Architecture

The library has two layers:

  • LinuxCore.Interop — internal P/Invoke declarations using source-generated [LibraryImport]. Each file maps to a libc subsystem.
  • LinuxCore — public API types wrapping the interop layer with safe-ish, idiomatic C# APIs.

File-descriptor-owning types follow this hierarchy:

NativeObject (IDisposable + Finalizer)
  └─ FileObject (FileDescriptor, shared I/O and descriptor-control helpers)
       ├─ LinuxEventBase → LinuxEvent, LinuxSemaphore
       ├─ LinuxSocketBase → UnixSocket
       └─ LinuxFile → LinuxMemoryFile

LinuxSecurityObject (Id + Name)
  ├─ LinuxUser
  └─ LinuxGroup

License

MIT

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on LinuxCore:

Package Downloads
NetNsCore

Linux network namespace utilities

LibNlCore

NETLINK .NET wrappers

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.3.2 35 4/7/2026
0.3.1 44 4/6/2026
0.3.0 60 4/2/2026
0.2.12 43 4/1/2026
0.2.11 36 3/31/2026
0.2.10 34 3/31/2026
0.2.9 37 3/31/2026
0.2.8 43 3/31/2026
0.2.7 43 3/31/2026
0.2.6 57 3/29/2026
0.2.5 50 3/29/2026
0.2.4 81 3/28/2026
0.2.3 102 3/28/2026
0.2.2 37 3/25/2026
0.2.1 39 3/25/2026
0.2.0 41 3/22/2026
0.1.15 95 2/25/2026
0.1.14 50 2/25/2026
0.1.13 100 2/23/2026
0.1.12 50 2/23/2026
Loading failed