Merge branch 'samples-colnames' of https://github.com/parallel-fs-utils/fio
[fio.git] / gfio.h
diff --git a/gfio.h b/gfio.h
index 3b572041107c8e5c8cec3887fcb53ab5e9db64ee..aa14e3c7d961108c7759bbe9449c2fbea7b65d57 100644 (file)
--- a/gfio.h
+++ b/gfio.h
@@ -3,6 +3,12 @@
 
 #include <gtk/gtk.h>
 
+#include "gcompat.h"
+#include "stat.h"
+#include "thread_options.h"
+#include "ghelpers.h"
+#include "graph.h"
+
 struct probe_widget {
        GtkWidget *hostname;
        GtkWidget *os;
@@ -10,13 +16,6 @@ struct probe_widget {
        GtkWidget *fio_ver;
 };
 
-struct multitext_widget {
-       GtkWidget *entry;
-       char **text;
-       unsigned int cur_text;
-       unsigned int max_text;
-};
-
 struct eta_widget {
        GtkWidget *names;
        struct multitext_widget iotype;
@@ -33,6 +32,8 @@ struct eta_widget {
        GtkWidget *write_iops;
        GtkWidget *cw_bw;
        GtkWidget *cw_iops;
+       GtkWidget *trim_bw;
+       GtkWidget *trim_iops;
 };
 
 struct gfio_graphs {
@@ -40,7 +41,13 @@ struct gfio_graphs {
 #define DRAWING_AREA_YDIM 400
        GtkWidget *drawing_area;
        struct graph *iops_graph;
+       graph_label_t read_iops;
+       graph_label_t write_iops;
+       graph_label_t trim_iops;
        struct graph *bandwidth_graph;
+       graph_label_t read_bw;
+       graph_label_t write_bw;
+       graph_label_t trim_bw;
 };
 
 /*
@@ -70,7 +77,7 @@ struct gui {
        pthread_t t;
        int handler_running;
 
-       struct flist_head list;
+       GHashTable *ge_hash;
 } main_ui;
 
 enum {
@@ -93,7 +100,6 @@ enum {
  * Notebook entry
  */
 struct gui_entry {
-       struct flist_head list;
        struct gui *ui;
 
        GtkWidget *vbox;
@@ -123,8 +129,11 @@ struct gui_entry {
        struct graph *lat_bucket_graph;
 
        struct gfio_client *client;
-       int nr_job_files;
-       char **job_files;
+       char *job_file;
+       char *host;
+       int port;
+       int type;
+       int server_start;
 };
 
 struct end_results {
@@ -132,21 +141,39 @@ struct end_results {
        struct thread_stat ts;
 };
 
+struct gfio_client_options {
+       struct flist_head list;
+       struct thread_options o;
+};
+
 struct gfio_client {
        struct gui_entry *ge;
        struct fio_client *client;
        GtkWidget *err_entry;
-       struct thread_options o;
+       uint32_t client_cpus;
+       uint64_t client_flags;
+
+       struct flist_head o_list;
+       unsigned int o_list_nr;
 
        struct end_results *results;
        unsigned int nr_results;
 
+       uint32_t update_job_status;
+       volatile uint32_t update_job_done;
+
        struct cmd_du_pdu *du;
        unsigned int nr_du;
 };
 
-#define ARRAYSIZE(x) (sizeof((x)) / (sizeof((x)[0])))
-
 #define GFIO_MIME      "text/fio"
 
+extern void gfio_view_log(struct gui *ui);
+extern void gfio_set_state(struct gui_entry *ge, unsigned int state);
+extern void clear_ge_ui_info(struct gui_entry *ge);
+
+extern const char *gfio_graph_font;
+extern GdkColor gfio_color_white;
+extern GdkColor gfio_color_lightyellow;
+
 #endif