color.h 1.7 KB

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