Hi,
<div>While I was doing some reading on system calls, I did a search for &quot;syscalls.h&quot; to find the header file in LXR. The search results puzzled me. There is a dozen of &quot;syscalls.h&quot; files coming from directories under &quot;arch/_arch_name_/include/asm&quot;. These are ok, they are architecture specific definitions or something else needed. The question is why do we have two different &quot;syscalls.h&quot; headers under both /include/linux and /include/asm-generic?<br>

<br></div><div>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?<br>

<br>Thanks</div>