Move Windows port to MinGW
[fio.git] / os / os-aix.h
index 1cc35e86cb2addc70af03a3c2aa13ac24aaed906..1870e6e46f9c14676c53394eaadff3383a08d675 100644 (file)
@@ -1,30 +1,54 @@
 #ifndef FIO_OS_AIX_H
 #define FIO_OS_AIX_H
 
+#define        FIO_OS  os_aix
+
 #include <errno.h>
 #include <unistd.h>
 #include <sys/devinfo.h>
 #include <sys/ioctl.h>
 
+#include "../file.h"
+
 #define FIO_HAVE_POSIXAIO
-#define FIO_HAVE_FALLOCATE
 #define FIO_HAVE_ODIRECT
 #define FIO_USE_GENERIC_RAND
+#define FIO_USE_GENERIC_INIT_RANDOM_STATE
+#define FIO_HAVE_CLOCK_MONOTONIC
+
+/*
+ * This is broken on AIX if _LARGE_FILES is defined...
+ */
+#if 0
+#define FIO_HAVE_FALLOCATE
+#endif
 
 #define FIO_HAVE_PSHARED_MUTEX
 
 #define OS_MAP_ANON            MAP_ANON
+#define OS_MSG_DONTWAIT                0
+
+#if BYTE_ORDER == BIG_ENDIAN
+#define FIO_BIG_ENDIAN
+#else
+#define FIO_LITTLE_ENDIAN
+#endif
+
+#define FIO_USE_GENERIC_SWAP
+
+#define FIO_OS_HAVE_SOCKLEN_T
+#define fio_socklen_t socklen_t
 
-static inline int blockdev_invalidate_cache(int fd)
+static inline int blockdev_invalidate_cache(struct fio_file *f)
 {
        return EINVAL;
 }
 
-static inline int blockdev_size(int fd, unsigned long long *bytes)
+static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes)
 {
        struct devinfo info;
 
-       if (!ioctl(fd, IOCINFO, &info)) {
+       if (!ioctl(f->fd, IOCINFO, &info)) {
                *bytes = (unsigned long long)info.un.scdk.numblks *
                                info.un.scdk.blksize;
                return 0;