Furthermore, the Posix spec says that basic is the default, so REG_BASIC = 0 isn't just an implementation artifact. In other words, this should be fine for all conforming posix implementations, not just the FreeBSD and linux ones. No need for #ifdef REG_BASIC.