xref: /openbmc/linux/tools/perf/util/color.h (revision b2251c32)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
28b40f521SJohn Kacur #ifndef __PERF_COLOR_H
38b40f521SJohn Kacur #define __PERF_COLOR_H
486470930SIngo Molnar 
57a8ef4c4SArnaldo Carvalho de Melo #include <stdio.h>
6b2251c32SArnaldo Carvalho de Melo #include <stdarg.h>
77a8ef4c4SArnaldo Carvalho de Melo 
886470930SIngo Molnar /* "\033[1;38;5;2xx;48;5;2xxm\0" is 23 bytes */
986470930SIngo Molnar #define COLOR_MAXLEN 24
1086470930SIngo Molnar 
1186470930SIngo Molnar #define PERF_COLOR_NORMAL	""
1286470930SIngo Molnar #define PERF_COLOR_RESET	"\033[m"
1386470930SIngo Molnar #define PERF_COLOR_BOLD		"\033[1m"
1486470930SIngo Molnar #define PERF_COLOR_RED		"\033[31m"
1586470930SIngo Molnar #define PERF_COLOR_GREEN	"\033[32m"
1686470930SIngo Molnar #define PERF_COLOR_YELLOW	"\033[33m"
1786470930SIngo Molnar #define PERF_COLOR_BLUE		"\033[34m"
1886470930SIngo Molnar #define PERF_COLOR_MAGENTA	"\033[35m"
1986470930SIngo Molnar #define PERF_COLOR_CYAN		"\033[36m"
2086470930SIngo Molnar #define PERF_COLOR_BG_RED	"\033[41m"
2186470930SIngo Molnar 
221e11fd82SFrederic Weisbecker #define MIN_GREEN	0.5
231e11fd82SFrederic Weisbecker #define MIN_RED		5.0
241e11fd82SFrederic Weisbecker 
2586470930SIngo Molnar /*
2686470930SIngo Molnar  * This variable stores the value of color.ui
2786470930SIngo Molnar  */
2886470930SIngo Molnar extern int perf_use_color_default;
2986470930SIngo Molnar 
3086470930SIngo Molnar 
3186470930SIngo Molnar /*
3286470930SIngo Molnar  * Use this instead of perf_default_config if you need the value of color.ui.
3386470930SIngo Molnar  */
3486470930SIngo Molnar int perf_color_default_config(const char *var, const char *value, void *cb);
3586470930SIngo Molnar 
3686470930SIngo Molnar int perf_config_colorbool(const char *var, const char *value, int stdout_is_tty);
37a4e3b956SArnaldo Carvalho de Melo int color_vsnprintf(char *bf, size_t size, const char *color,
38a4e3b956SArnaldo Carvalho de Melo 		    const char *fmt, va_list args);
398f28827aSFrederic Weisbecker int color_vfprintf(FILE *fp, const char *color, const char *fmt, va_list args);
4086470930SIngo Molnar int color_fprintf(FILE *fp, const char *color, const char *fmt, ...);
41a4e3b956SArnaldo Carvalho de Melo int color_snprintf(char *bf, size_t size, const char *color, const char *fmt, ...);
4286470930SIngo Molnar int color_fwrite_lines(FILE *fp, const char *color, size_t count, const char *buf);
431f513b2cSRamkumar Ramachandra int value_color_snprintf(char *bf, size_t size, const char *fmt, double value);
4453805ecaSMichael Hudson-Doyle int percent_color_snprintf(char *bf, size_t size, const char *fmt, ...);
45d675107cSNamhyung Kim int percent_color_len_snprintf(char *bf, size_t size, const char *fmt, ...);
461e11fd82SFrederic Weisbecker int percent_color_fprintf(FILE *fp, const char *fmt, double percent);
4783a0944fSIngo Molnar const char *get_percent_color(double percent);
4886470930SIngo Molnar 
498b40f521SJohn Kacur #endif /* __PERF_COLOR_H */
50