X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=options.h;h=6a5db0762183c2818a0b55afa888da768188ae28;hb=603e604eb6d9b3ba9f201a6bff0a18da1a6c0967;hp=ed6b9c2da47a5699cb9b4d3f1808eba4b8ede019;hpb=7e356b2dee2e86f3684424fc6e903f1ef9f00ef4;p=fio.git diff --git a/options.h b/options.h index ed6b9c2d..6a5db076 100644 --- a/options.h +++ b/options.h @@ -4,8 +4,10 @@ #define FIO_MAX_OPTS 512 #include +#include #include "parse.h" #include "flist.h" +#include "lib/types.h" #define td_var_offset(var) ((size_t) &((struct thread_options *)0)->var) @@ -17,15 +19,32 @@ 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 *); +char *get_name_idx(char *, int); +int set_name_idx(char *, size_t, char *, int); -static inline int o_match(struct fio_option *o, const char *opt) +extern char client_sockaddr_str[]; /* used with --client option */ + +extern struct fio_option fio_options[FIO_MAX_OPTS]; + +extern bool __fio_option_is_set(struct thread_options *, unsigned int off); + +#define fio_option_is_set(__td, name) \ +({ \ + const unsigned int off = td_var_offset(name); \ + bool __r = __fio_option_is_set((__td), off); \ + __r; \ +}) + +extern void fio_option_mark_set(struct thread_options *, struct fio_option *); + +static inline bool o_match(struct fio_option *o, const char *opt) { if (!strcmp(o->name, opt)) - return 1; + return true; else if (o->alias && !strcmp(o->alias, opt)) - return 1; + return true; - return 0; + return false; } static inline struct fio_option *find_option(struct fio_option *options, @@ -40,4 +59,7 @@ static inline struct fio_option *find_option(struct fio_option *options, return NULL; } +extern struct fio_option *fio_option_find(const char *name); +extern unsigned int fio_get_kb_base(void *); + #endif