#include "os-linux.h"
#elif defined(__FreeBSD__)
#include "os-freebsd.h"
+#elif defined(__sun__)
+#include "os-solaris.h"
#else
#error "unsupported os"
#endif
#define ioprio_set(which, who, prio) (0)
#endif
-struct thread_data;
-extern int fio_libaio_init(struct thread_data *);
-extern int fio_posixaio_init(struct thread_data *);
-extern int fio_syncio_init(struct thread_data *);
-extern int fio_mmapio_init(struct thread_data *);
-extern int fio_sgio_init(struct thread_data *);
+#ifndef FIO_HAVE_ODIRECT
+#define OS_O_DIRECT 0
+#else
+#define OS_O_DIRECT O_DIRECT
+#endif
+
+#ifndef FIO_HAVE_HUGETLB
+#define SHM_HUGETLB 0
+#define FIO_HUGE_PAGE 0
+#else
+#ifndef FIO_HUGE_PAGE
+#define FIO_HUGE_PAGE 4194304
+#endif
+#endif
+
+#if __GNUC__ < 3
+#define __must_check
+#else
+#define __must_check __attribute__((warn_unused_result))
+#endif
#endif