> That is fine. But what is the reason behind > > #if defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 2 || defined _XOPEN_SOURCE > # define __USE_POSIX2 1 > #endif > > Why does _POSIX_C_SOURCE >= 2 mean POSIX.2? Because that's what 1003.2-1992, which was the standard to specify _POSIX_C_SOURCE, says it means.