[PATCH] Add per-option help
[fio.git] / parse.h
diff --git a/parse.h b/parse.h
index c36bdc0e20aaf2f65dafde4ec4b3a47aef17b7b7..9cfd68de5403631101241514945608293072abcb 100644 (file)
--- a/parse.h
+++ b/parse.h
@@ -7,6 +7,7 @@
 enum fio_opt_type {
        FIO_OPT_STR = 0,
        FIO_OPT_STR_VAL,
+       FIO_OPT_STR_VAL_INT,
        FIO_OPT_STR_VAL_TIME,
        FIO_OPT_STR_STORE,
        FIO_OPT_RANGE,
@@ -18,17 +19,22 @@ enum fio_opt_type {
  * Option define
  */
 struct fio_option {
-       char *name;
+       const char *name;
        enum fio_opt_type type;
        unsigned int off1;
        unsigned int off2;
+       unsigned int off3;
+       unsigned int off4;
        unsigned int max_val;
        void *cb;
+       const char *help;
 };
 
 typedef int (str_cb_fn)(void *, char *);
 
 extern int parse_option(const char *, struct fio_option *, void *);
+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 strip_blank_front(char **);
 extern void strip_blank_end(char *);
@@ -36,7 +42,7 @@ extern void strip_blank_end(char *);
 /*
  * Handlers for the options
  */
-typedef int (fio_opt_str_fn)(void *, char *);
+typedef int (fio_opt_str_fn)(void *, const char *);
 typedef int (fio_opt_str_val_fn)(void *, unsigned long long *);
 typedef int (fio_opt_int_fn)(void *, unsigned int *);
 typedef int (fio_opt_str_set_fn)(void *);