if (!(access & FILEIO_OPEN_SYNC)) {
/*
- * F_NODIRECT was added in Mac OS 10.7.0 "Lion" which has Darwin
- * kernel 11.0.0.
+ * F_NODIRECT was added in Mac OS 10.7.0 "Lion".
*/
- if (Hostinfo_OSVersion(0) >= 11) {
+ if (Hostinfo_OSVersion(0) >= HOSTINFO_OS_VERSION_MACOS_10_7) {
error = fcntl(fd, F_NODIRECT, 1);
if (error == -1) {
ret = FileIOErrno2Result(errno);
return Hostinfo_SystemTimerNS() / 1000000ULL;
}
+/*
+ * Apple's kernel major versions are the same as their marketed
+ * minor versions + 4. (E.g. Marketed 10.8.0 == Kernel 12.0.0)
+ * These constants simplify this and make code easier to read / understand.
+ */
+enum {
+ HOSTINFO_OS_VERSION_MACOS_10_5 = 9,
+ HOSTINFO_OS_VERSION_MACOS_10_6 = 10,
+ HOSTINFO_OS_VERSION_MACOS_10_7 = 11,
+ HOSTINFO_OS_VERSION_MACOS_10_8 = 12,
+ HOSTINFO_OS_VERSION_MACOS_10_9 = 13,
+ HOSTINFO_OS_VERSION_MACOS_10_10 = 14,
+ HOSTINFO_OS_VERSION_MACOS_10_11 = 15,
+ HOSTINFO_OS_VERSION_MACOS_10_12 = 16,
+};
+
int Hostinfo_OSVersion(unsigned int i);
int Hostinfo_GetSystemBitness(void);
const char *Hostinfo_OSVersionString(void);