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 */ 50