blob: be25458f0165d0a7c590f500c3c9051cd35505f4 [file] [log] [blame]
Jens Axboe2afd8262009-12-14 23:08:42 +01001#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
Jens Axboe53531372009-12-15 10:28:37 +010017#define FIO_USE_GENERIC_RAND
Jens Axboe2afd8262009-12-14 23:08:42 +010018
19#define OS_MAP_ANON MAP_ANON
20
21typedef unsigned long os_cpu_mask_t;
Jens Axboe2afd8262009-12-14 23:08:42 +010022typedef unsigned int clockid_t;
Jens Axboe331539a2010-03-19 21:31:01 +010023typedef off_t off64_t;
Jens Axboe2afd8262009-12-14 23:08:42 +010024
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}
Jens Axboe2afd8262009-12-14 23:08:42 +010039#endif