X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fmi-lttng.c;h=2fb1c19050da82acc07ac1ec9f89b22cb0c01c59;hp=02500ff14fe0a0df4f9ad9f94047e65f346553e1;hb=7e66b1b0255bbe6b5a55a83d3ff182ba3d4300ee;hpb=5e18ec73f48d06fd508fb74386d175d45606d7e2 diff --git a/src/common/mi-lttng.c b/src/common/mi-lttng.c index 02500ff14..2fb1c1905 100644 --- a/src/common/mi-lttng.c +++ b/src/common/mi-lttng.c @@ -25,17 +25,26 @@ /* Strings related to command */ const char * const mi_lttng_element_command = "command"; +const char * const mi_lttng_element_command_name = "name"; const char * const mi_lttng_element_command_version = "version"; const char * const mi_lttng_element_command_list = "list"; -const char * const mi_lttng_element_command_name = "name"; +const char * const mi_lttng_element_command_save = "save"; +const char * const mi_lttng_element_command_load = "load"; +const char * const mi_lttng_element_command_start = "start"; +const char * const mi_lttng_element_command_stop = "stop"; +const char * const mi_lttng_element_command_create = "create"; +const char * const mi_lttng_element_command_destroy = "destroy"; +const char * const mi_lttng_element_command_calibrate = "calibrate"; const char * const mi_lttng_element_command_output = "output"; +const char * const mi_lttng_element_command_success = "success"; -/* Strings related to command: version */ +/* Strings related to version command */ const char * const mi_lttng_element_version = "version"; const char * const mi_lttng_element_version_str = "string"; const char * const mi_lttng_element_version_web = "url"; const char * const mi_lttng_element_version_major = "major"; const char * const mi_lttng_element_version_minor = "minor"; +const char * const mi_lttng_element_version_commit = "commit"; const char * const mi_lttng_element_version_license = "license"; const char * const mi_lttng_element_version_patch_level = "patchLevel"; const char * const mi_lttng_element_version_description = "description"; @@ -45,6 +54,12 @@ const char * const mi_lttng_element_pids = "pids"; const char * const mi_lttng_element_pid = "pid"; const char * const mi_lttng_element_pid_id = "id"; +/* Strings related to save command */ +const char * const mi_lttng_element_save = "save"; + +/* Strings related to load command */ +const char * const mi_lttng_element_load = "load"; + /* String related to a lttng_event_field */ const char * const mi_lttng_element_event_field = "event_field"; const char * const mi_lttng_element_event_fields = "event_fields"; @@ -75,11 +90,16 @@ const char * const mi_lttng_loglevel_str_notice = "TRACE_NOTICE"; const char * const mi_lttng_loglevel_str_unknown = "UNKNOWN"; const char * const mi_lttng_loglevel_str_warning = "TRACE_WARNING"; +/* String related to loglevel type */ const char * const mi_lttng_loglevel_type_all = "ALL"; const char * const mi_lttng_loglevel_type_range = "RANGE"; const char * const mi_lttng_loglevel_type_single = "SINGLE"; const char * const mi_lttng_loglevel_type_unknown = "UNKNOWN"; +/* String related to lttng_calibrate */ +const char * const mi_lttng_element_calibrate = "calibrate"; +const char * const mi_lttng_element_calibrate_function = "FUNCTION"; + const char * const mi_lttng_element_empty = ""; const char *mi_lttng_loglevel_string(int value) @@ -205,6 +225,21 @@ const char *mi_lttng_buffertype_string(enum lttng_buffer_type value) } } +const char *mi_lttng_calibratetype_string(enum lttng_calibrate_type val) +{ + const char *ret; + + switch (val) { + case LTTNG_CALIBRATE_FUNCTION: + ret = mi_lttng_element_calibrate_function; + break; + default: + ret = mi_lttng_element_empty; + break; + } + return ret; +} + LTTNG_HIDDEN struct mi_writer *mi_lttng_writer_create(int fd_output, int mi_output_type) { @@ -372,6 +407,13 @@ int mi_lttng_version(struct mi_writer *writer, struct mi_lttng_version *version, goto end; } + /* Commit version number */ + ret = mi_lttng_writer_write_element_string(writer, + mi_lttng_element_version_commit, version->version_commit); + if (ret) { + goto end; + } + /* Patch number */ ret = mi_lttng_writer_write_element_unsigned_int(writer, mi_lttng_element_version_patch_level, version->version_patchlevel); @@ -947,3 +989,28 @@ close: end: return ret; } + +LTTNG_HIDDEN +int mi_lttng_calibrate(struct mi_writer *writer, + struct lttng_calibrate *calibrate) +{ + int ret; + + /* Open calibrate element */ + ret = mi_lttng_writer_open_element(writer, mi_lttng_element_calibrate); + if (ret) { + goto end; + } + + /* Calibration type */ + ret = mi_lttng_writer_write_element_string(writer, config_element_type, + mi_lttng_calibratetype_string(calibrate->type)); + if (ret) { + goto end; + } + + /* Closing calibrate element */ + ret = mi_lttng_writer_close_element(writer); +end: + return ret; +}