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