In the C and C++ programming languages, unistd.h is the name of the header file that provides access to the POSIX operating system API.
[1] It is defined by the POSIX.1 standard, the base of the Single Unix Specification, and should therefore be available in any POSIX-compliant operating system and compiler.
For instance, this includes Unix and Unix-like operating systems, such as GNU variants, distributions of Linux and BSD, and macOS, and compilers such as GCC and LLVM.
Thus, unistd.h is only a generically defined adaptive layer that might be based upon already existing system and compiler specific definitions.
This has the general advantage of not having a possibly concurrent set of header file defined, but one that is built upon the same root which, for this reason, will raise much fewer concerns in combined usage cases.