summaryrefslogtreecommitdiff
path: root/client.h
diff options
context:
space:
mode:
authorStephen M. Cameron <stephenmcameron@gmail.com>2012-02-24 08:17:30 +0100
committerJens Axboe <axboe@kernel.dk>2012-02-24 08:17:30 +0100
commitdd366728eb503e6344215ae6ec153c7ab6eafd9b (patch)
treefca2185d3594cfc2cffd382768b3d745efae0844 /client.h
parentc2cb68696255a8fda93043a1f2219b60af614549 (diff)
downloadfio-dd366728eb503e6344215ae6ec153c7ab6eafd9b.tar.gz
fio-dd366728eb503e6344215ae6ec153c7ab6eafd9b.tar.bz2
fio: make client operations pluggable
Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'client.h')
-rw-r--r--client.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/client.h b/client.h
new file mode 100644
index 00000000..b91b7421
--- /dev/null
+++ b/client.h
@@ -0,0 +1,32 @@
+#ifndef CLIENT_H
+#define CLIENT_H
+
+struct fio_client;
+struct fio_net_cmd;
+
+typedef void (*client_text_op_func)(struct fio_client *client,
+ FILE *f, __u16 pdu_len, const char *buf);
+
+typedef void (*client_disk_util_op_func)(struct fio_client *client, struct fio_net_cmd *cmd);
+
+typedef void (*client_thread_status_op)(struct fio_net_cmd *cmd);
+
+typedef void (*client_group_stats_op)(struct fio_net_cmd *cmd);
+
+typedef void (*client_eta_op)(struct fio_client *client, struct fio_net_cmd *cmd);
+
+typedef void (*client_probe_op)(struct fio_client *client, struct fio_net_cmd *cmd);
+
+struct client_ops {
+ client_text_op_func text_op;
+ client_disk_util_op_func disk_util;
+ client_thread_status_op thread_status;
+ client_group_stats_op group_stats;
+ client_eta_op eta;
+ client_probe_op probe;
+};
+
+extern struct client_ops fio_client_ops;
+
+#endif
+