gfio: start of options view and edit

This is pretty crap right now, but it's exposing all the options.
Now we just need them to reflect the current job, and be able to
update a remote job with a new set of options.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/options.h b/options.h
index ed6b9c2..0b93c05 100644
--- a/options.h
+++ b/options.h
@@ -18,6 +18,8 @@
 struct thread_data;
 void fio_options_free(struct thread_data *);
 
+extern struct fio_option fio_options[FIO_MAX_OPTS];
+
 static inline int o_match(struct fio_option *o, const char *opt)
 {
 	if (!strcmp(o->name, opt))
@@ -40,4 +42,51 @@
 	return NULL;
 }
 
+struct opt_group {
+	const char *name;
+	unsigned int mask;
+};
+
+enum opt_category {
+	__FIO_OPT_G_DESC	= 0,
+	__FIO_OPT_G_FILE	= 1,
+	__FIO_OPT_G_MISC	= 2,
+	__FIO_OPT_G_IO		= 3,
+	__FIO_OPT_G_IO_DDIR	= 4,
+	__FIO_OPT_G_IO_BUF	= 5,
+	__FIO_OPT_G_RAND	= 6,
+	__FIO_OPT_G_OS		= 7,
+	__FIO_OPT_G_MEM		= 8,
+	__FIO_OPT_G_VERIFY	= 9,
+	__FIO_OPT_G_CPU		= 10,
+	__FIO_OPT_G_LOG		= 11,
+	__FIO_OPT_G_ZONE	= 12,
+	__FIO_OPT_G_CACHE	= 13,
+	__FIO_OPT_G_STAT	= 14,
+	__FIO_OPT_G_ERR		= 15,
+	__FIO_OPT_G_JOB		= 16,
+	__FIO_OPT_G_NR		= 17,
+
+	FIO_OPT_G_DESC		= (1U << __FIO_OPT_G_DESC),
+	FIO_OPT_G_FILE		= (1U << __FIO_OPT_G_FILE),
+	FIO_OPT_G_MISC		= (1U << __FIO_OPT_G_MISC),
+	FIO_OPT_G_IO		= (1U << __FIO_OPT_G_IO),
+	FIO_OPT_G_IO_DDIR	= (1U << __FIO_OPT_G_IO_DDIR),
+	FIO_OPT_G_IO_BUF	= (1U << __FIO_OPT_G_IO_BUF),
+	FIO_OPT_G_RAND		= (1U << __FIO_OPT_G_RAND),
+	FIO_OPT_G_OS		= (1U << __FIO_OPT_G_OS),
+	FIO_OPT_G_MEM		= (1U << __FIO_OPT_G_MEM),
+	FIO_OPT_G_VERIFY	= (1U << __FIO_OPT_G_VERIFY),
+	FIO_OPT_G_CPU		= (1U << __FIO_OPT_G_CPU),
+	FIO_OPT_G_LOG		= (1U << __FIO_OPT_G_LOG),
+	FIO_OPT_G_ZONE		= (1U << __FIO_OPT_G_ZONE),
+	FIO_OPT_G_CACHE		= (1U << __FIO_OPT_G_CACHE),
+	FIO_OPT_G_STAT		= (1U << __FIO_OPT_G_STAT),
+	FIO_OPT_G_ERR		= (1U << __FIO_OPT_G_ERR),
+	FIO_OPT_G_JOB		= (1U << __FIO_OPT_G_JOB),
+	FIO_OPT_G_INVALID	= (1U << __FIO_OPT_G_NR),
+};
+
+extern struct opt_group *opt_group_from_mask(unsigned int *mask);
+
 #endif