Mentre stavo leggendo alcune chiamate di sistema, ho fatto una ricerca per "syscalls.h" per trovare il file header in LXR. I risultati della ricerca mi hanno lasciato perplesso. Esistono una dozzina di file "syscalls.h" provenienti da directory in "arch / _arch_name_ / include / asm". Questi sono ok, sono definizioni specifiche dell'architettura o qualcos'altro necessario. La domanda è: perché abbiamo due diverse intestazioni "syscalls.h" in entrambe / include / linux e / include / asm-generic?
Inoltre, voglio scoprire che cosa sono le intestazioni di cosa / include / linux e che cosa sono le intestazioni di / include / asm-generico. Come si differenziano tra loro? Qual è la logica dietro avere due cartelle di intestazione separate? Come si relazionano tra loro?
Grazie