configure: add generic pshared mutex test
[fio.git] / os / os-aix.h
1 #ifndef FIO_OS_AIX_H
2 #define FIO_OS_AIX_H
3
4 #define FIO_OS  os_aix
5
6 #include <errno.h>
7 #include <unistd.h>
8 #include <sys/devinfo.h>
9 #include <sys/ioctl.h>
10
11 #include "../file.h"
12
13 #define FIO_HAVE_ODIRECT
14 #define FIO_USE_GENERIC_RAND
15 #define FIO_USE_GENERIC_INIT_RANDOM_STATE
16
17 #define OS_MAP_ANON             MAP_ANON
18 #define OS_MSG_DONTWAIT         0
19
20 #define FIO_USE_GENERIC_SWAP
21
22 static inline int blockdev_invalidate_cache(struct fio_file *f)
23 {
24         return ENOTSUP;
25 }
26
27 static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes)
28 {
29         struct devinfo info;
30
31         if (!ioctl(f->fd, IOCINFO, &info)) {
32                 *bytes = (unsigned long long)info.un.scdk.numblks *
33                                 info.un.scdk.blksize;
34                 return 0;
35         }
36
37         return errno;
38 }
39
40 static inline unsigned long long os_phys_mem(void)
41 {
42         long mem = sysconf(_SC_AIX_REALMEM);
43
44         if (mem == -1)
45                 return 0;
46
47         return (unsigned long long) mem * 1024;
48 }
49
50 #endif