xref: /linux/tools/perf/util/color.h (revision e58e871becec2d3b04ed91c0c16fe8deac9c9dfa)
1 #ifndef __PERF_COLOR_H
2 #define __PERF_COLOR_H
3 
4 #include <stdio.h>
5 
6 /* "\033[1;38;5;2xx;48;5;2xxm\0" is 23 bytes */
7 #define COLOR_MAXLEN 24
8 
9 #define PERF_COLOR_NORMAL	""
10 #define PERF_COLOR_RESET	"\033[m"
11 #define PERF_COLOR_BOLD		"\033[1m"
12 #define PERF_COLOR_RED		"\033[31m"
13 #define PERF_COLOR_GREEN	"\033[32m"
14 #define PERF_COLOR_YELLOW	"\033[33m"
15 #define PERF_COLOR_BLUE		"\033[34m"
16 #define PERF_COLOR_MAGENTA	"\033[35m"
17 #define PERF_COLOR_CYAN		"\033[36m"
18 #define PERF_COLOR_BG_RED	"\033[41m"
19 
20 #define MIN_GREEN	0.5
21 #define MIN_RED		5.0
22 
23 /*
24  * This variable stores the value of color.ui
25  */
26 extern int perf_use_color_default;
27 
28 
29 /*
30  * Use this instead of perf_default_config if you need the value of color.ui.
31  */
32 int perf_color_default_config(const char *var, const char *value, void *cb);
33 
34 int perf_config_colorbool(const char *var, const char *value, int stdout_is_tty);
35 int color_vsnprintf(char *bf, size_t size, const char *color,
36 		    const char *fmt, va_list args);
37 int color_vfprintf(FILE *fp, const char *color, const char *fmt, va_list args);
38 int color_fprintf(FILE *fp, const char *color, const char *fmt, ...);
39 int color_snprintf(char *bf, size_t size, const char *color, const char *fmt, ...);
40 int color_fwrite_lines(FILE *fp, const char *color, size_t count, const char *buf);
41 int value_color_snprintf(char *bf, size_t size, const char *fmt, double value);
42 int percent_color_snprintf(char *bf, size_t size, const char *fmt, ...);
43 int percent_color_len_snprintf(char *bf, size_t size, const char *fmt, ...);
44 int percent_color_fprintf(FILE *fp, const char *fmt, double percent);
45 const char *get_percent_color(double percent);
46 
47 #endif /* __PERF_COLOR_H */
48