First snapshot of FIO for Windows
[fio.git] / os / os-mac.h
1 #ifndef FIO_OS_APPLE_H
2 #define FIO_OS_APPLE_H
3
4 #include <errno.h>
5 #include <sys/sysctl.h>
6
7 #ifndef CLOCK_MONOTONIC
8 #define CLOCK_MONOTONIC 1
9 #endif
10
11 #ifndef CLOCK_REALTIME
12 #define CLOCK_REALTIME 1
13 #endif
14
15 #define FIO_HAVE_POSIXAIO
16 #define FIO_USE_GENERIC_BDEV_SIZE
17 #define FIO_USE_GENERIC_RAND
18
19 #define OS_MAP_ANON             MAP_ANON
20
21 typedef unsigned int clockid_t;
22 typedef off_t off64_t;
23
24 static inline int blockdev_invalidate_cache(int fd)
25 {
26         return EINVAL;
27 }
28
29 static inline unsigned long long os_phys_mem(void)
30 {
31         int mib[2] = { CTL_HW, HW_PHYSMEM };
32         unsigned long long mem;
33         size_t len = sizeof(mem);
34
35         sysctl(mib, 2, &mem, &len, NULL, 0);
36         return mem;
37 }
38 #endif