I was inspecting the code of a linux application and i saw the #include in one of the code files. I tried looking it up on opengroup.org but i couldn’t find it there, this is what the sys directory looks like: http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/ . I guess it’s not standard header file, but i checked it in my /usr/include/sys and it was there.
What does it do and what it is used for ? If you can provide me with some manual for it, i would be grateful. Thanks.
The comment at the top of the header pretty much says it all:
GNU specific extensions are usually pretty easy to identify (e.g.
_GNU_SOURCE). However, debugging and instrumentation has to work even if those extensions aren’t turned on. For instance, people want to use GDB on code that does not#define _GNU_SOURCE.In that case, stuff that is not defined in ISO C (and not required by POSIX) is usually clearly labeled as such.
You’ll also find all kinds of strange looking symbols in programs that include the Valgrind headers.