title: How the headers of the standard library are installed in Linux?
body: <p>I have an annoying problem with a library siginfo.h. I need a version of this library that contains the structure of siginfo_t with a field for handling SIGSYS signals.</p>
  
  <p>For isntance, the version of structure as I need can be found here : 
  <a href="http://code.woboq.org/userspace/glibc/sysdeps/unix/sysv/linux/x86/bits/siginfo.h.html" rel="nofollow">http://code.woboq.org/userspace/glibc/sysdeps/unix/sysv/linux/x86/bits/siginfo.h.html</a></p>
  
  <p>The version that is automatically included using the #include  is the version in 
  /usr/include/bits/siginfo.h that misses this field. However, there is another version of the same library in asm-generic that provides the fields I need. The kernel contains two files called  siginfo.h but they don not contain the structure siginfo_t. I thought that this problem could be solved by updating glibc but in the latest version of glibc (2.17) there is a completely different version again, and not what I need.  </p>
  
  <p>Now I am bit confused, how headers of the standard libraries are actually installed? 
  Should I activate compiling options to have this structure?</p>