X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fmi-lttng.c;h=2fb1c19050da82acc07ac1ec9f89b22cb0c01c59;hp=0994678a334377faa00ca8c75899dcc560c7084a;hb=7e66b1b0255bbe6b5a55a83d3ff182ba3d4300ee;hpb=37d03ff782ab6774cb972549854ebc3f95e7d677 diff --git a/src/common/mi-lttng.c b/src/common/mi-lttng.c index 0994678a3..2fb1c1905 100644 --- a/src/common/mi-lttng.c +++ b/src/common/mi-lttng.c @@ -33,6 +33,8 @@ 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"; @@ -94,6 +96,10 @@ 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) @@ -219,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) { @@ -968,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; +}