Separate the act of adding and starting a job

CMD_JOB or CMD_JOB_LINE only adds the necessary jobs, which will
automatically return the job option info to the client. Let the
client do what it wants with the options, then have the client
send a CMD_RUN command to actually start the jobs.

Next we'll have a command for passing back edited options, so that
the client can update existing options.

This adds a new button to gfio, to note this split of add and run
as well.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/client.h b/client.h
index eccac92..9157aff 100644
--- a/client.h
+++ b/client.h
@@ -11,6 +11,15 @@
 struct fio_net_cmd;
 struct client_ops;
 
+enum {
+	Client_created		= 0,
+	Client_connected	= 1,
+	Client_started		= 2,
+	Client_running		= 3,
+	Client_stopped		= 4,
+	Client_exited		= 5,
+};
+
 struct fio_client {
 	struct flist_head list;
 	struct flist_head hash_list;
@@ -93,6 +102,8 @@
 };
 
 extern int fio_clients_connect(void);
+extern int fio_start_client(struct fio_client *);
+extern int fio_start_all_clients(void);
 extern int fio_clients_send_ini(const char *);
 extern int fio_handle_clients(struct client_ops *);
 extern int fio_client_add(struct client_ops *, const char *, void **);