FreeBSD requires __POSIX_VISIBLE macro to be defined