Home | History | Annotate | Download | only in fio
      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