syscall.sh - Tablas de syscalls Linux por arquitectura con API

Show HN: I've updated my Linux System Call website and API

syscall.sh - Tablas de syscalls Linux por arquitectura con API

syscall.sh reúne todas las tablas de system calls de Linux en un solo lugar, agrupadas por arquitectura. Cubre 27 arquitecturas con sus números, argumentos y registros, desde Linux 3.3 hasta 7.3. Cada tabla incluye el historial completo de cuándo apareció y se eliminó cada syscall, y está disponible como JSON en /<arch>/syscalls.json. También ofrece una API para consultar cualquier syscall, ver diferencias entre versiones del kernel y más. Ideal para desarrolladores de bajo nivel, ingenieros de seguridad y entusiastas del kernel que necesitan referencia rápida y precisa.

Todo en este sitio se lee directamente del código fuente del kernel, por lo que estos son los números que el kernel realmente despacha.
  1. ozgrakkurt

    También recomendaría usar comandos como:

    echo '#include <sys/syscall.h>' | gcc -E -dM -xc - | grep -i "read"

    para obtener los valores reales en tu PC y asegurarte.

    Varias veces los LLM me dieron números o definiciones de constantes incorrectas, pero hacer que generen un comando como este y verlo yo mismo funciona siempre.

    Además, la documentación de chromium tiene una tabla:

    https://www.chromium.org/chromium-os/developer-library/refer...

    Sería muy útil que este sitio web enlazara directamente al número de syscall.

  2. bkallus

    En x86_64 y x32, el número de syscall va en eax, no en rax. Los 32 bits superiores de rax se ignoran y pueden ser cualquier cosa.

  3. guitmz

    También hice una CLI para consultar la API de syscalls cuando publiqué originalmente el sitio web. Creo que puedo ordenar el código y hacerlo público también. Usa un conjunto de datos embebido para no tener que consultar el endpoint de la API todo el tiempo.

  4. DustinBrett

    Ese sitio web me estropea los gráficos por alguna razón.

  5. wg0

    Este recurso es realmente genial, no lo conocía. Pero una pregunta no relacionada con el sitio web anterior: ¿por qué las syscalls varían según la arquitectura si la API de Linux es la misma?

    ¿O es que lo estoy confundiendo con la biblioteca estándar de C/POSIX y asumiendo que debería ser igual en todas partes?

Más de este día

2026-11-02