X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fcommon%2Fcommon.h;h=1abe37ec11b094bf80713ad212a462f6e6f32f93;hb=8b305066676fc7aa433e8eb668f9de8802008025;hp=e931e2d10047aa188c439853bc634849ffcd4723;hpb=27c61ce8f6ee66d910507f8a40ae5497287c943e;p=babeltrace.git diff --git a/src/common/common.h b/src/common/common.h index e931e2d1..1abe37ec 100644 --- a/src/common/common.h +++ b/src/common/common.h @@ -77,6 +77,40 @@ #define BT_COMMON_COLOR_BG_CYAN "\033[46m" #define BT_COMMON_COLOR_BG_LIGHT_GRAY "\033[47m" +enum bt_common_color_when { + BT_COMMON_COLOR_WHEN_AUTO, + BT_COMMON_COLOR_WHEN_ALWAYS, + BT_COMMON_COLOR_WHEN_NEVER, +}; + +struct bt_common_color_codes { + const char *reset; + const char *bold; + const char *fg_default; + const char *fg_red; + const char *fg_green; + const char *fg_yellow; + const char *fg_blue; + const char *fg_magenta; + const char *fg_cyan; + const char *fg_light_gray; + const char *fg_bright_red; + const char *fg_bright_green; + const char *fg_bright_yellow; + const char *fg_bright_blue; + const char *fg_bright_magenta; + const char *fg_bright_cyan; + const char *fg_bright_light_gray; + const char *bg_default; + const char *bg_red; + const char *bg_green; + const char *bg_yellow; + const char *bg_blue; + const char *bg_magenta; + const char *bg_cyan; + const char *bg_light_gray; +}; + struct bt_common_lttng_live_url_parts { GString *proto; GString *hostname; @@ -199,6 +233,10 @@ const char *bt_common_color_bg_cyan(void); BT_HIDDEN const char *bt_common_color_bg_light_gray(void); +BT_HIDDEN +void bt_common_color_get_codes(struct bt_common_color_codes *codes, + enum bt_common_color_when use_colors); + /* * Returns the substring from `input` to the first character found * in the list of characters `end_chars`, unescaping any character @@ -785,7 +823,7 @@ end: * bt_g_string_append_printf cannot be inlined because it expects a * variadic argument list. */ -BT_HIDDEN +BT_HIDDEN __BT_ATTR_FORMAT_PRINTF(2, 3) int bt_common_g_string_append_printf(GString *str, const char *fmt, ...); static inline