X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Futils.c;h=556728da23773f19935d0ea8b484a1b2cf901664;hb=748bde765422ca3b2868999cdc7cb5a2de6d5d0e;hp=94c4527d97ff293029f99dbdca79e3cbf6956caa;hpb=8ce58badbfbff17e050194e01a9120ac6058bc1c;p=lttng-tools.git diff --git a/src/bin/lttng/utils.c b/src/bin/lttng/utils.c index 94c4527d9..556728da2 100644 --- a/src/bin/lttng/utils.c +++ b/src/bin/lttng/utils.c @@ -16,14 +16,21 @@ */ #define _GNU_SOURCE +#include #include #include #include #include +#include #include "conf.h" #include "utils.h" +#include "command.h" + +static const char *str_kernel = "Kernel"; +static const char *str_ust = "UST"; +static const char *str_jul = "JUL"; /* * get_session_name @@ -36,7 +43,7 @@ char *get_session_name(void) char *path, *session_name = NULL; /* Get path to config file */ - path = config_get_default_path(); + path = utils_get_home_dir(); if (path == NULL) { goto error; } @@ -55,6 +62,24 @@ error: return NULL; } +/* + * list_commands + * + * List commands line by line. This is mostly for bash auto completion and to + * avoid difficult parsing. + */ +void list_commands(struct cmd_struct *commands, FILE *ofp) +{ + int i = 0; + struct cmd_struct *cmd = NULL; + + cmd = &commands[i]; + while (cmd->name != NULL) { + fprintf(ofp, "%s\n", cmd->name); + i++; + cmd = &commands[i]; + } +} /* * list_cmd_options @@ -229,3 +254,25 @@ int get_count_order_ulong(unsigned long x) return fls_ulong(x - 1); } + +const char *get_domain_str(enum lttng_domain_type domain) +{ + const char *str_dom; + + switch (domain) { + case LTTNG_DOMAIN_KERNEL: + str_dom = str_kernel; + break; + case LTTNG_DOMAIN_UST: + str_dom = str_ust; + break; + case LTTNG_DOMAIN_JUL: + str_dom = str_jul; + break; + default: + /* Should not have an unknown domain or else define it. */ + assert(0); + } + + return str_dom; +}