os-mac.h revision 331539ace6487a031f40281eacf41e4de008ad23
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
21typedef unsigned long os_cpu_mask_t;
22typedef unsigned int clockid_t;
23typedef off_t off64_t;
24
25static inline int blockdev_invalidate_cache(int fd)
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}
39#endif
40