#ifndef FIO_OPTION_H
#define FIO_OPTION_H
+#define FIO_MAX_OPTS 512
+
+#include <string.h>
#include "parse.h"
#include "flist.h"
#define td_var_offset(var) ((size_t) &((struct thread_options *)0)->var)
-struct ext_option {
- struct flist_head list;
- struct fio_option o;
-};
+int add_option(struct fio_option *);
+void invalidate_profile_options(const char *);
+extern char *exec_profile;
+
+void add_opt_posval(const char *, const char *, const char *);
+void del_opt_posval(const char *, const char *);
+struct thread_data;
+void fio_options_free(struct thread_data *);
+
+static inline int o_match(struct fio_option *o, const char *opt)
+{
+ if (!strcmp(o->name, opt))
+ return 1;
+ else if (o->alias && !strcmp(o->alias, opt))
+ return 1;
+
+ return 0;
+}
+
+static inline struct fio_option *find_option(struct fio_option *options,
+ const char *opt)
+{
+ struct fio_option *o;
+
+ for (o = &options[0]; o->name; o++)
+ if (o_match(o, opt))
+ return o;
-void register_option(struct ext_option *);
+ return NULL;
+}
#endif