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