Hi, 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 understand 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
Hi,
Hi,
Also, I want to understand 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?
AFAIK, headers found in /include/asm-generic directory is for architechture independent (probably shared across architectures) code. Most likely you do not need to include these headers directly, instead we include these headers indirectly via architecthure dependent headers. OTOH, /include/linux directory is for generic header files to define interfaces between components of the kernel. In most situations, you will find all the kernel functionalities you need in these headers. regards, chngr.
participants (2)
-
Cihangir Aktürk -
Sertaç Olgunsoylu