Add info log on whether tsc is reliable or not for --cpuclock-test
[fio.git] / ioengine.h
index 997f90afcfe605feee231da08822289364be20dc..6809501ffa795fa46e59419d91345bfc3904a0a6 100644 (file)
@@ -1,6 +1,13 @@
 #ifndef FIO_IOENGINE_H
 #define FIO_IOENGINE_H
 
+#ifdef CONFIG_LIBAIO
+#include <libaio.h>
+#endif
+#ifdef CONFIG_GUASI
+#include <guasi.h>
+#endif
+
 #define FIO_IOOPS_VERSION      14
 
 enum {
@@ -19,25 +26,25 @@ enum {
  */
 struct io_u {
        union {
-#ifdef FIO_HAVE_LIBAIO
+#ifdef CONFIG_LIBAIO
                struct iocb iocb;
 #endif
-#ifdef FIO_HAVE_POSIXAIO
+#ifdef CONFIG_POSIXAIO
                os_aiocb_t aiocb;
 #endif
 #ifdef FIO_HAVE_SGIO
                struct sg_io_hdr hdr;
 #endif
-#ifdef FIO_HAVE_GUASI
+#ifdef CONFIG_GUASI
                guasi_req_t greq;
 #endif
-#ifdef FIO_HAVE_SOLARISAIO
+#ifdef CONFIG_SOLARISAIO
                aio_result_t resultp;
 #endif
 #ifdef FIO_HAVE_BINJECT
                struct b_user_cmd buc;
 #endif
-#ifdef FIO_HAVE_RDMA
+#ifdef CONFIG_RDMA
                struct ibv_mr *mr;
 #endif
                void *mmap_data;
@@ -121,6 +128,8 @@ struct ioengine_ops {
        int (*close_file)(struct thread_data *, struct fio_file *);
        int (*get_file_size)(struct thread_data *, struct fio_file *);
        void (*terminate)(struct thread_data *);
+       int (*io_u_init)(struct thread_data *, struct io_u *);
+       void (*io_u_free)(struct thread_data *, struct io_u *);
        int option_struct_size;
        struct fio_option *options;
        void *data;