The enums in core.sys.posix.unistd are not at all in sync with FreeBSD's unistd.h.
Comment #1 by bugzilla — 2012-06-20T12:59:41Z
Which ones are you talking about? I checked these:
else version( FreeBSD )
{
enum F_OK = 0;
enum R_OK = 0x04;
enum W_OK = 0x02;
enum X_OK = 0x01;
enum F_ULOCK = 0;
enum F_LOCK = 1;
enum F_TLOCK = 2;
enum F_TEST = 3;
}
from unistd.d and they are correct.
Please be specific about what is in error.
Comment #2 by alex — 2012-06-20T13:00:54Z
More specifically, all the _SC_* constants that are specified in POSIX (_SC_PAGESIZE for example) are not there (but are in unistd.h). Note that they are there for Linux, but not FreeBSD (and also note that FreeBSD's definitions are completely different).
Comment #3 by alex — 2012-06-24T15:21:29Z
The enums also seem to be severely lacking on OS X (same identifiers).
Comment #4 by pro.mathias.lang — 2020-01-16T13:50:22Z
This issue has been fixed, all the SC constant are here and we have definitions for various BSD flavors.