Mientras leía un poco sobre las llamadas al sistema, busqué "syscalls.h" para encontrar el archivo de encabezado en LXR. Los resultados de la búsqueda me desconcertaron. Hay una docena de archivos "syscalls.h" que provienen de directorios en "arch / _arch_name_ / include / asm". Están bien, son definiciones específicas de la arquitectura o se necesita algo más. La pregunta es ¿por qué tenemos dos encabezados "syscalls.h" diferentes en / include / linux y / include / asm-generic?
Además, quiero saber para qué sirven los encabezados / include / linux y para qué están los encabezados / include / asm-generic. ¿Cómo se diferencian entre sí? ¿Cuál es la lógica detrás de tener dos carpetas de encabezado separadas? ¿Cómo se relacionan entre sí?
Gracias