Merge branch 'evelu-peak' of https://github.com/ErwanAliasr1/fio
[fio.git] / optgroup.h
CommitLineData
d220c761
JA
1#ifndef FIO_OPT_GROUP_H
2#define FIO_OPT_GROUP_H
3
4struct opt_group {
5 const char *name;
6 uint64_t mask;
7};
8
9enum 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
29enum 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,
e4c4625f 55 __FIO_OPT_G_LIBRPMA,
d220c761
JA
56 __FIO_OPT_G_LIBAIO,
57 __FIO_OPT_G_ACT,
58 __FIO_OPT_G_LATPROF,
52b81b7c 59 __FIO_OPT_G_RBD,
c2f6a13d 60 __FIO_OPT_G_HTTP,
52b81b7c
KD
61 __FIO_OPT_G_GFAPI,
62 __FIO_OPT_G_MTD,
d220c761 63 __FIO_OPT_G_HDFS,
52b81b7c 64 __FIO_OPT_G_SG,
ff547caa 65 __FIO_OPT_G_MMAP,
247ef2aa 66 __FIO_OPT_G_ISCSI,
d643a1e2 67 __FIO_OPT_G_NBD,
27f436d9 68 __FIO_OPT_G_IOURING,
c446eff0 69 __FIO_OPT_G_FILESTAT,
839bea4f 70 __FIO_OPT_G_NR,
10756b2c 71 __FIO_OPT_G_LIBCUFILE,
c363fdd7 72 __FIO_OPT_G_DFS,
9326926b 73 __FIO_OPT_G_NFS,
d220c761
JA
74
75 FIO_OPT_G_RATE = (1ULL << __FIO_OPT_G_RATE),
76 FIO_OPT_G_ZONE = (1ULL << __FIO_OPT_G_ZONE),
77 FIO_OPT_G_RWMIX = (1ULL << __FIO_OPT_G_RWMIX),
78 FIO_OPT_G_VERIFY = (1ULL << __FIO_OPT_G_VERIFY),
79 FIO_OPT_G_TRIM = (1ULL << __FIO_OPT_G_TRIM),
80 FIO_OPT_G_IOLOG = (1ULL << __FIO_OPT_G_IOLOG),
81 FIO_OPT_G_IO_DEPTH = (1ULL << __FIO_OPT_G_IO_DEPTH),
82 FIO_OPT_G_IO_FLOW = (1ULL << __FIO_OPT_G_IO_FLOW),
83 FIO_OPT_G_DESC = (1ULL << __FIO_OPT_G_DESC),
84 FIO_OPT_G_FILENAME = (1ULL << __FIO_OPT_G_FILENAME),
85 FIO_OPT_G_IO_BASIC = (1ULL << __FIO_OPT_G_IO_BASIC),
86 FIO_OPT_G_CGROUP = (1ULL << __FIO_OPT_G_CGROUP),
87 FIO_OPT_G_RUNTIME = (1ULL << __FIO_OPT_G_RUNTIME),
88 FIO_OPT_G_PROCESS = (1ULL << __FIO_OPT_G_PROCESS),
89 FIO_OPT_G_CRED = (1ULL << __FIO_OPT_G_CRED),
90 FIO_OPT_G_CLOCK = (1ULL << __FIO_OPT_G_CLOCK),
91 FIO_OPT_G_IO_TYPE = (1ULL << __FIO_OPT_G_IO_TYPE),
92 FIO_OPT_G_THINKTIME = (1ULL << __FIO_OPT_G_THINKTIME),
93 FIO_OPT_G_RANDOM = (1ULL << __FIO_OPT_G_RANDOM),
94 FIO_OPT_G_IO_BUF = (1ULL << __FIO_OPT_G_IO_BUF),
95 FIO_OPT_G_TIOBENCH = (1ULL << __FIO_OPT_G_TIOBENCH),
96 FIO_OPT_G_ERR = (1ULL << __FIO_OPT_G_ERR),
97 FIO_OPT_G_E4DEFRAG = (1ULL << __FIO_OPT_G_E4DEFRAG),
98 FIO_OPT_G_NETIO = (1ULL << __FIO_OPT_G_NETIO),
99 FIO_OPT_G_RDMA = (1ULL << __FIO_OPT_G_RDMA),
e4c4625f 100 FIO_OPT_G_LIBRPMA = (1ULL << __FIO_OPT_G_LIBRPMA),
d220c761
JA
101 FIO_OPT_G_LIBAIO = (1ULL << __FIO_OPT_G_LIBAIO),
102 FIO_OPT_G_ACT = (1ULL << __FIO_OPT_G_ACT),
103 FIO_OPT_G_LATPROF = (1ULL << __FIO_OPT_G_LATPROF),
104 FIO_OPT_G_RBD = (1ULL << __FIO_OPT_G_RBD),
c2f6a13d 105 FIO_OPT_G_HTTP = (1ULL << __FIO_OPT_G_HTTP),
d220c761
JA
106 FIO_OPT_G_GFAPI = (1ULL << __FIO_OPT_G_GFAPI),
107 FIO_OPT_G_MTD = (1ULL << __FIO_OPT_G_MTD),
108 FIO_OPT_G_HDFS = (1ULL << __FIO_OPT_G_HDFS),
52b81b7c 109 FIO_OPT_G_SG = (1ULL << __FIO_OPT_G_SG),
ff547caa 110 FIO_OPT_G_MMAP = (1ULL << __FIO_OPT_G_MMAP),
d220c761 111 FIO_OPT_G_INVALID = (1ULL << __FIO_OPT_G_NR),
247ef2aa 112 FIO_OPT_G_ISCSI = (1ULL << __FIO_OPT_G_ISCSI),
d643a1e2 113 FIO_OPT_G_NBD = (1ULL << __FIO_OPT_G_NBD),
9326926b 114 FIO_OPT_G_NFS = (1ULL << __FIO_OPT_G_NFS),
27f436d9 115 FIO_OPT_G_IOURING = (1ULL << __FIO_OPT_G_IOURING),
c446eff0 116 FIO_OPT_G_FILESTAT = (1ULL << __FIO_OPT_G_FILESTAT),
10756b2c 117 FIO_OPT_G_LIBCUFILE = (1ULL << __FIO_OPT_G_LIBCUFILE),
c363fdd7 118 FIO_OPT_G_DFS = (1ULL << __FIO_OPT_G_DFS),
d220c761
JA
119};
120
121extern const struct opt_group *opt_group_from_mask(uint64_t *mask);
122extern const struct opt_group *opt_group_cat_from_mask(uint64_t *mask);
123
124#endif