FIO Windows update
[fio.git] / os / os-mac.h
CommitLineData
2afd826b
JA
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
ecc314ba 16#define FIO_HAVE_CLOCK_MONOTONIC
2afd826b 17#define FIO_USE_GENERIC_BDEV_SIZE
53531370 18#define FIO_USE_GENERIC_RAND
2afd826b
JA
19
20#define OS_MAP_ANON MAP_ANON
21
2afd826b 22typedef unsigned int clockid_t;
331539ac 23typedef off_t off64_t;
2afd826b 24
ecc314ba 25static inline int blockdev_invalidate_cache(struct fio_file fio_unused *f)
2afd826b
JA
26{
27 return EINVAL;
28}
29
30static inline unsigned long long os_phys_mem(void)
31{
32 int mib[2] = { CTL_HW, HW_PHYSMEM };
33 unsigned long long mem;
34 size_t len = sizeof(mem);
35
36 sysctl(mib, 2, &mem, &len, NULL, 0);
37 return mem;
38}
2afd826b 39#endif