X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=parse.h;h=0a813b0fa7852b5d45731246f7d1e9b0905ad2a0;hb=e123c8332fc051dbbc0808a95a1cc0d994613101;hp=5273d23f6907b41db030d0090ea555f87cf0ee61;hpb=ebadc0ce34c11b3e0130d5602b18f4ed0e638386;p=fio.git diff --git a/parse.h b/parse.h index 5273d23f..0a813b0f 100644 --- a/parse.h +++ b/parse.h @@ -72,6 +72,10 @@ struct fio_option { unsigned int category; /* what type of option */ unsigned int group; /* who to group with */ void *gui_data; + int is_seconds; /* time value with seconds base */ + int is_time; /* time based value */ + int no_warn_def; + int pow2; /* must be a power-of-2 */ }; typedef int (str_cb_fn)(void *, char *); @@ -87,10 +91,13 @@ extern void options_free(struct fio_option *, void *); extern void strip_blank_front(char **); extern void strip_blank_end(char *); -extern int str_to_decimal(const char *, long long *, int, void *); +extern int str_to_decimal(const char *, long long *, int, void *, int, int); extern int check_str_bytes(const char *p, long long *val, void *data); -extern int check_str_time(const char *p, long long *val); -extern int str_to_float(const char *str, double *val); +extern int check_str_time(const char *p, long long *val, int); +extern int str_to_float(const char *str, double *val, int is_time); + +extern int string_distance(const char *s1, const char *s2); +extern int string_distance_ok(const char *s1, int dist); /* * Handlers for the options @@ -100,7 +107,7 @@ typedef int (fio_opt_str_val_fn)(void *, long long *); typedef int (fio_opt_int_fn)(void *, int *); typedef int (fio_opt_str_set_fn)(void *); -#define __td_var(start, offset) ((void *) start + (offset)) +#define __td_var(start, offset) ((char *) start + (offset)) struct thread_options; static inline void *td_var(struct thread_options *to, struct fio_option *o,