1 #ifndef FIO_OPT_GROUP_H 2 #define FIO_OPT_GROUP_H 3 4 struct opt_group { 5 const char *name; 6 uint64_t mask; 7 }; 8 9 enum opt_category { 10 __FIO_OPT_C_GENERAL = 0, 11 __FIO_OPT_C_IO, 12 __FIO_OPT_C_FILE, 13 __FIO_OPT_C_STAT, 14 __FIO_OPT_C_LOG, 15 __FIO_OPT_C_PROFILE, 16 __FIO_OPT_C_ENGINE, 17 __FIO_OPT_C_NR, 18 19 FIO_OPT_C_GENERAL = (1ULL << __FIO_OPT_C_GENERAL), 20 FIO_OPT_C_IO = (1ULL << __FIO_OPT_C_IO), 21 FIO_OPT_C_FILE = (1ULL << __FIO_OPT_C_FILE), 22 FIO_OPT_C_STAT = (1ULL << __FIO_OPT_C_STAT), 23 FIO_OPT_C_LOG = (1ULL << __FIO_OPT_C_LOG), 24 FIO_OPT_C_PROFILE = (1ULL << __FIO_OPT_C_PROFILE), 25 FIO_OPT_C_ENGINE = (1ULL << __FIO_OPT_C_ENGINE), 26 FIO_OPT_C_INVALID = (1ULL << __FIO_OPT_C_NR), 27 }; 28 29 enum opt_category_group { 30 __FIO_OPT_G_RATE = 0, 31 __FIO_OPT_G_ZONE, 32 __FIO_OPT_G_RWMIX, 33 __FIO_OPT_G_VERIFY, 34 __FIO_OPT_G_TRIM, 35 __FIO_OPT_G_IOLOG, 36 __FIO_OPT_G_IO_DEPTH, 37 __FIO_OPT_G_IO_FLOW, 38 __FIO_OPT_G_DESC, 39 __FIO_OPT_G_FILENAME, 40 __FIO_OPT_G_IO_BASIC, 41 __FIO_OPT_G_CGROUP, 42 __FIO_OPT_G_RUNTIME, 43 __FIO_OPT_G_PROCESS, 44 __FIO_OPT_G_CRED, 45 __FIO_OPT_G_CLOCK, 46 __FIO_OPT_G_IO_TYPE, 47 __FIO_OPT_G_THINKTIME, 48 __FIO_OPT_G_RANDOM, 49 __FIO_OPT_G_IO_BUF, 50 __FIO_OPT_G_TIOBENCH, 51 __FIO_OPT_G_ERR, 52 __FIO_OPT_G_E4DEFRAG, 53 __FIO_OPT_G_NETIO, 54 __FIO_OPT_G_RDMA, 55 __FIO_OPT_G_LIBAIO, 56 __FIO_OPT_G_ACT, 57 __FIO_OPT_G_LATPROF, 58 __FIO_OPT_G_RBD, 59 __FIO_OPT_G_GFAPI, 60 __FIO_OPT_G_MTD, 61 __FIO_OPT_G_HDFS, 62 __FIO_OPT_G_NR, 63 64 FIO_OPT_G_RATE = (1ULL << __FIO_OPT_G_RATE), 65 FIO_OPT_G_ZONE = (1ULL << __FIO_OPT_G_ZONE), 66 FIO_OPT_G_RWMIX = (1ULL << __FIO_OPT_G_RWMIX), 67 FIO_OPT_G_VERIFY = (1ULL << __FIO_OPT_G_VERIFY), 68 FIO_OPT_G_TRIM = (1ULL << __FIO_OPT_G_TRIM), 69 FIO_OPT_G_IOLOG = (1ULL << __FIO_OPT_G_IOLOG), 70 FIO_OPT_G_IO_DEPTH = (1ULL << __FIO_OPT_G_IO_DEPTH), 71 FIO_OPT_G_IO_FLOW = (1ULL << __FIO_OPT_G_IO_FLOW), 72 FIO_OPT_G_DESC = (1ULL << __FIO_OPT_G_DESC), 73 FIO_OPT_G_FILENAME = (1ULL << __FIO_OPT_G_FILENAME), 74 FIO_OPT_G_IO_BASIC = (1ULL << __FIO_OPT_G_IO_BASIC), 75 FIO_OPT_G_CGROUP = (1ULL << __FIO_OPT_G_CGROUP), 76 FIO_OPT_G_RUNTIME = (1ULL << __FIO_OPT_G_RUNTIME), 77 FIO_OPT_G_PROCESS = (1ULL << __FIO_OPT_G_PROCESS), 78 FIO_OPT_G_CRED = (1ULL << __FIO_OPT_G_CRED), 79 FIO_OPT_G_CLOCK = (1ULL << __FIO_OPT_G_CLOCK), 80 FIO_OPT_G_IO_TYPE = (1ULL << __FIO_OPT_G_IO_TYPE), 81 FIO_OPT_G_THINKTIME = (1ULL << __FIO_OPT_G_THINKTIME), 82 FIO_OPT_G_RANDOM = (1ULL << __FIO_OPT_G_RANDOM), 83 FIO_OPT_G_IO_BUF = (1ULL << __FIO_OPT_G_IO_BUF), 84 FIO_OPT_G_TIOBENCH = (1ULL << __FIO_OPT_G_TIOBENCH), 85 FIO_OPT_G_ERR = (1ULL << __FIO_OPT_G_ERR), 86 FIO_OPT_G_E4DEFRAG = (1ULL << __FIO_OPT_G_E4DEFRAG), 87 FIO_OPT_G_NETIO = (1ULL << __FIO_OPT_G_NETIO), 88 FIO_OPT_G_RDMA = (1ULL << __FIO_OPT_G_RDMA), 89 FIO_OPT_G_LIBAIO = (1ULL << __FIO_OPT_G_LIBAIO), 90 FIO_OPT_G_ACT = (1ULL << __FIO_OPT_G_ACT), 91 FIO_OPT_G_LATPROF = (1ULL << __FIO_OPT_G_LATPROF), 92 FIO_OPT_G_RBD = (1ULL << __FIO_OPT_G_RBD), 93 FIO_OPT_G_GFAPI = (1ULL << __FIO_OPT_G_GFAPI), 94 FIO_OPT_G_MTD = (1ULL << __FIO_OPT_G_MTD), 95 FIO_OPT_G_HDFS = (1ULL << __FIO_OPT_G_HDFS), 96 FIO_OPT_G_INVALID = (1ULL << __FIO_OPT_G_NR), 97 }; 98 99 extern const struct opt_group *opt_group_from_mask(uint64_t *mask); 100 extern const struct opt_group *opt_group_cat_from_mask(uint64_t *mask); 101 102 #endif 103