server: convert iolog in place instead of copy allocating it
[fio.git] / client.h
index 41a2a2dd0c009329b99f7651c9170546dfab4c0c..30228161fc2f479e66340ff5f65e8674e87b4d30 100644 (file)
--- a/client.h
+++ b/client.h
@@ -45,6 +45,7 @@ struct fio_client {
        int error;
        int ipv6;
        int sent_job;
+       uint32_t type;
 
        struct flist_head eta_list;
        struct client_eta *eta_in_flight;
@@ -58,10 +59,12 @@ struct fio_client {
        void *client_data;
 };
 
+struct cmd_iolog_pdu;
 typedef void (client_cmd_op)(struct fio_client *, struct fio_net_cmd *);
 typedef void (client_eta_op)(struct jobs_eta *je);
 typedef void (client_timed_out_op)(struct fio_client *);
 typedef void (client_jobs_eta_op)(struct fio_client *client, struct jobs_eta *je);
+typedef void (client_iolog_op)(struct fio_client *client, struct cmd_iolog_pdu *);
 
 struct client_ops {
        client_cmd_op           *text;
@@ -77,9 +80,11 @@ struct client_ops {
        client_cmd_op           *stop;
        client_cmd_op           *start;
        client_cmd_op           *job_start;
+       client_iolog_op         *iolog;
 
        unsigned int eta_msec;
        int stay_connected;
+       uint32_t client_type;
 };
 
 extern struct client_ops fio_client_ops;
@@ -116,5 +121,10 @@ extern void fio_put_client(struct fio_client *);
 
 #define FIO_CLIENT_DEF_ETA_MSEC                900
 
+enum {
+       FIO_CLIENT_TYPE_CLI             = 1,
+       FIO_CLIENT_TYPE_GUI             = 2,
+};
+
 #endif