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