#include "profile.h"
#include "fio_time.h"
#include "gettime.h"
-#include "lib/getopt.h"
+#include "oslib/getopt.h"
#include "lib/rand.h"
#include "lib/rbtree.h"
#include "client.h"
RATE_PROCESS_POISSON = 1,
};
+/*
+ * Per-thread/process specific data. Only used for the network client
+ * for now.
+ */
+struct sk_out;
+void sk_out_assign(struct sk_out *);
+void sk_out_drop(void);
+
/*
* This describes a single thread/process executing a fio job.
*/
struct thread_data {
struct thread_options o;
+ struct flist_head opt_list;
unsigned long flags;
void *eo;
char verror[FIO_VERROR_SIZE];
extern int __must_check parse_options(int, char **);
extern int parse_jobs_ini(char *, int, int, int);
extern int parse_cmd_line(int, char **, int);
-extern int fio_backend(void);
+extern int fio_backend(struct sk_out *);
extern void reset_fio_state(void);
extern void clear_io_state(struct thread_data *, int);
-extern int fio_options_parse(struct thread_data *, char **, int, int);
+extern int fio_options_parse(struct thread_data *, char **, int);
extern void fio_keywords_init(void);
extern void fio_keywords_exit(void);
extern int fio_cmd_option_parse(struct thread_data *, const char *, char *);
extern int fio_running_or_pending_io_threads(void);
extern int fio_set_fd_nonblocking(int, const char *);
extern void sig_show_status(int sig);
+extern struct thread_data *get_global_options(void);
extern uintptr_t page_mask;
extern uintptr_t page_size;
extern void td_set_runstate(struct thread_data *, int);
extern int td_bump_runstate(struct thread_data *, int);
extern void td_restore_runstate(struct thread_data *, int);
+extern const char *runstate_to_name(int runstate);
/*
* Allow 60 seconds for a job to quit on its own, otherwise reap with