xref: /openbmc/linux/tools/perf/util/units.h (revision 8be98d2f2a0a262f8bf8a0bc1fdf522b3c7aab17)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
258db1d6eSArnaldo Carvalho de Melo #ifndef PERF_UNIT_H
358db1d6eSArnaldo Carvalho de Melo #define PERF_UNIT_H
458db1d6eSArnaldo Carvalho de Melo 
558db1d6eSArnaldo Carvalho de Melo #include <stddef.h>
658db1d6eSArnaldo Carvalho de Melo #include <linux/types.h>
758db1d6eSArnaldo Carvalho de Melo 
83caeafceSArnaldo Carvalho de Melo struct parse_tag {
93caeafceSArnaldo Carvalho de Melo 	char tag;
103caeafceSArnaldo Carvalho de Melo 	int  mult;
113caeafceSArnaldo Carvalho de Melo };
123caeafceSArnaldo Carvalho de Melo 
133caeafceSArnaldo Carvalho de Melo unsigned long parse_tag_value(const char *str, struct parse_tag *tags);
143caeafceSArnaldo Carvalho de Melo 
15*6859bc0eSChangbin Du double convert_unit_double(double value, char *unit);
1658db1d6eSArnaldo Carvalho de Melo unsigned long convert_unit(unsigned long value, char *unit);
1758db1d6eSArnaldo Carvalho de Melo int unit_number__scnprintf(char *buf, size_t size, u64 n);
1858db1d6eSArnaldo Carvalho de Melo 
1958db1d6eSArnaldo Carvalho de Melo #endif /* PERF_UNIT_H */
20