Cleanup profile support

This is closer to where it needs to end up. No ext_options, just
include profile options in the general option table (and mark them
private for that profile).

Profile options are only available after loading a specific profile,
so there should be less confusion.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/parse.h b/parse.h
index 5f602a3..8f7982a 100644
--- a/parse.h
+++ b/parse.h
@@ -7,7 +7,8 @@
  * Option types
  */
 enum fio_opt_type {
-	FIO_OPT_STR = 0,
+	FIO_OPT_INVALID = 0,
+	FIO_OPT_STR,
 	FIO_OPT_STR_VAL,
 	FIO_OPT_STR_VAL_TIME,
 	FIO_OPT_STR_STORE,
@@ -52,14 +53,15 @@
 	const struct value_pair posval[PARSE_MAX_VP];/* possible values */
 	const char *parent;		/* parent option */
 	int (*verify)(struct fio_option *, void *);
+	const char *prof_name;		/* only valid for specific profile */
 };
 
 typedef int (str_cb_fn)(void *, char *);
 
-extern int parse_option(const char *, struct fio_option *, struct flist_head *, void *);
+extern int parse_option(const char *, struct fio_option *, void *);
 extern void sort_options(char **, struct fio_option *, int);
-extern int parse_cmd_option(const char *t, const char *l, struct fio_option *, struct flist_head *, void *);
-extern int show_cmd_help(struct fio_option *, struct flist_head *, const char *);
+extern int parse_cmd_option(const char *t, const char *l, struct fio_option *, void *);
+extern int show_cmd_help(struct fio_option *, const char *);
 extern void fill_default_options(void *, struct fio_option *);
 extern void option_init(struct fio_option *);
 extern void options_init(struct fio_option *);