Add support for loadable profiles

Split the only existing profile, tiobench, into this setup.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/profile.h b/profile.h
new file mode 100644
index 0000000..6b19606
--- /dev/null
+++ b/profile.h
@@ -0,0 +1,21 @@
+#ifndef FIO_PROFILE_H
+#define FIO_PROFILE_H
+
+#include "flist.h"
+
+#define FIO_PROFILE_VERSION	1
+
+struct profile_ops {
+	struct flist_head list;
+	char name[32];
+	int version;
+	int flags;
+
+	const char **def_ops;
+};
+
+void register_profile(struct profile_ops *);
+void unregister_profile(struct profile_ops *);
+int load_profile(const char *);
+
+#endif