Mentre eseguivo delle letture sulle chiamate di sistema, ho effettuato una ricerca per syscalls.h
per trovare il file di intestazione in LXR. I risultati della ricerca mi hanno perplesso. Esiste 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
sotto sia include/linux
e include/asm-generic
?Organizzazione delle intestazioni del kernel Linux
Inoltre, voglio scoprire che cosa sono le intestazioni di include/linux
e le intestazioni di include/asm-generic
. Come si differenziano tra loro? Qual è la logica dietro avere due cartelle di intestazione separate? Come si relazionano tra loro?
Grazie
Hai guardato all'interno di questi file? –
In /include/linux/syscalls.h, ci sono diverse dichiarazioni di chiamata di sistema. In /include/asm-generic/syscalls.h, tutte le chiamate di sistema sono dichiarate con le definizioni di macro di accompagnamento. Ma questo vale solo per syscalls.h, tuttavia, mi piacerebbe capire il quadro generale. – dirtybit