gfio: add per-job option view
[fio.git] / gfio.h
diff --git a/gfio.h b/gfio.h
index 3b572041107c8e5c8cec3887fcb53ab5e9db64ee..dd69c5450bb459f1a564303c98058a8a39f216a8 100644 (file)
--- a/gfio.h
+++ b/gfio.h
@@ -3,6 +3,11 @@
 
 #include <gtk/gtk.h>
 
+#include "stat.h"
+#include "thread_options.h"
+#include "ghelpers.h"
+#include "graph.h"
+
 struct probe_widget {
        GtkWidget *hostname;
        GtkWidget *os;
@@ -10,13 +15,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;
@@ -40,7 +38,11 @@ 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;
        struct graph *bandwidth_graph;
+       graph_label_t read_bw;
+       graph_label_t write_bw;
 };
 
 /*
@@ -70,7 +72,7 @@ struct gui {
        pthread_t t;
        int handler_running;
 
-       struct flist_head list;
+       GHashTable *ge_hash;
 } main_ui;
 
 enum {
@@ -93,7 +95,6 @@ enum {
  * Notebook entry
  */
 struct gui_entry {
-       struct flist_head list;
        struct gui *ui;
 
        GtkWidget *vbox;
@@ -123,8 +124,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,11 +136,18 @@ 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;
+
+       struct flist_head o_list;
+       unsigned int o_list_nr;
 
        struct end_results *results;
        unsigned int nr_results;
@@ -145,8 +156,13 @@ struct gfio_client {
        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;
+
 #endif