Can I Use a System Call?

This page summarizes the projects mentioned and recommended in the original post on

Our great sponsors
  • Onboard AI - ChatGPT with full context of any GitHub repo.
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern API for authentication & user identity.
  • duckduckgo-locales

    Translation files for <a href=""> </a>

    Given my (rough) understanding of Justine’s political leanings (active in Occupy [1]), I think (and hope) that you are mistaken. The following searchers turn up empty [2,3] as well.




    It is perfectly possible that you are still right. But I would be darn careful to make statements like you made without backing them up with facts. The Internet is a chilling enough place without even more vague rumours going around.

  • cosmopolitan

    build-once run-anywhere c library

    Love your naming of the magic numbers headers.

  • Onboard AI

    ChatGPT with full context of any GitHub repo. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at

  • src

    Read-only git conversion of OpenBSD's official CVS src repository. Pull requests not accepted - send diffs to the tech@ mailing list.

    > Our policy is to stick with stable supported interfaces whenever possible

    Except you're not though.

    FYI, on OpenBSD mincore(2) was removed 3 years, and it's UNIMPL syscall 78 was eventually reused by another system call: mquery(2), which your library passes bogus arguments to.

    I would be very surprised if there aren't more serious mistakes lurking.

  • windows-syscalls

    Windows System Call Tables (NT/2000/XP/2003/Vista/2008/7/2012/8/10)

    I'm pretty sure Windows just automatically generates syscall numbers in their build process. Since the kernel and the dynamic libraries that are the only blessed way to interact with the kernel are shipped together, that's not a problem from Windows's point of view.

    For example, look at [1] and search for e.g. 0x01aa, to see how the meaning of that syscall number changes in a pretty systematic way over releases.


  • go

    The Go programming language

    This is incorrect. On most platforms, the libc is part of the operating system, and the libc API is the supported system call interface; user programs aren't allowed to make system calls directly to the kernel, any more than they're allowed to jump directly into the middle of kernel routines.

    As described elsewhere in this thread, that is the policy of MacOS X and Windows.

    It is also a policy which OpenBSD is moving towards:

    According to the Go devs, this is also the policy on Solaris-family OSs (Go uses libc there):

    AFAIK, it is only Linux which explicitly supports the kernel system call interface, and so where alternative libcs are possible.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts