#include "config.h"
#include <stdio.h>
#include <stdlib.h>
+#include <stddef.h>
#include <signal.h>
#include <unistd.h>
#include <string.h>
#define False 0
#define uint32 unsigned
+struct op {
+ unsigned count;
+ double total_time;
+ double max_latency;
+};
+
+#define ZERO_STRUCT(x) memset(&(x), 0, sizeof(x))
+
+#define MAX_OPS 100
+
struct child_struct {
int id;
int failed;
double last_bytes;
struct timeval last_time;
} rate;
+ struct op ops[MAX_OPS];
void *private;
};
int sync_open;
int sync_dirs;
int do_fsync;
+ int no_resolve;
int fsync_frequency;
char *tcp_options;
int timelimit;
int ea_enable;
const char *server;
int clients_per_process;
+ int one_byte_write_fix;
+ int stat_check;
+ int fake_io;
+ int skip_cleanup;
+ int per_client_results;
+ const char *export;
+ const char *protocol;
};
+
+struct dbench_op {
+ struct child_struct *child;
+ const char *op;
+ const char *fname;
+ const char *fname2;
+ const char *status;
+ int params[10];
+};
+
+struct backend_op {
+ const char *name;
+ void (*fn)(struct dbench_op *);
+};
+
+struct nb_operations {
+ const char *backend_name;
+ struct backend_op *ops;
+ void (*setup)(struct child_struct *child);
+ void (*cleanup)(struct child_struct *child);
+};
+extern struct nb_operations nb_ops;
+
/* CreateDisposition field. */
#define FILE_SUPERSEDE 0
#define FILE_OPEN 1
#define O_DIRECTORY 0200000
#endif
+struct nfsio;
+
#include "proto.h"
extern struct options options;