• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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