I googled and searched The Stack Overflow but all in vain.GitHub has a project named 'runit' which represents an init-system, currently it's used by Void Linux distribution. I am not a programmer but I wanted to know how does the init-system work so I cloned the source code and opened it in Eclipse IDE with CDT plugins.
I see that there is a number of headers in '/src' directory. If I open e.g. 'runit.c', there is an include directive, which adds 'iopause.h' to the source file. Problem is neither Eclipse nor I can find this header. In fact, there are two other headers in '/src' directory which are named 'iopause.h1' and 'iopause.h2'. Also, there are other header files which are named in the same manner, using this sort of header versioning.
My questions are:
- What are these version-like header files: 'iopause.h1', 'iopause.h2' and others?
- How does a C compiler use them (because it definitely does, otherwise the whole 'runit' project has several bugs which should be linked to these headers)?
- Is there any kind of a standard or at least a section in Bash/CPP/GCC documentation where these version-like headers are explained?
- Extra question: why such a mature IDE like Eclipse doesn't know that there can be projects that use version-like headers?
Thanks in advance!