While I was doing some reading on system calls, I did a search for syscalls.h
to find the header file in LXR. The search results puzzled me. There is a dozen of syscalls.h
files coming from directories under arch/_arch_name_/include/asm
. These are ok, they are architecture specific definitions or something else needed. The question is why do we have two different syscalls.h
headers under both include/linux
and include/asm-generic
?
Also, I want to find out that what include/linux
headers are for and what include/asm-generic
headers are for. How do they differentiate between each other? What is the logic behind having two separate header folders? How do they relate to each other?
Thanks