Sync lttng-modules ABI version in internal kernel-ioctl.h
[lttng-tools.git] / src / common / mi-lttng.c
index f884f9385de317c72b68422e626a281878f6e1e9..bc2d3f3d0cf4b3752268110c934236a40a7be338 100644 (file)
@@ -21,6 +21,7 @@
 #include <common/config/session-config.h>
 #include <common/defaults.h>
 #include <lttng/snapshot-internal.h>
+#include <lttng/tracker-internal.h>
 #include <lttng/channel.h>
 #include "mi-lttng.h"
 
@@ -1661,11 +1662,14 @@ int mi_lttng_targets_open(struct mi_writer *writer)
 LTTNG_HIDDEN
 int mi_lttng_id_target(struct mi_writer *writer,
                enum lttng_tracker_type tracker_type,
-               struct lttng_tracker_id *id,
+               const struct lttng_tracker_id *id,
                int is_open)
 {
        int ret;
        const char *element_id_tracker, *element_target_id;
+       enum lttng_tracker_id_status status;
+       int value;
+       const char *string;
 
        ret = get_tracker_elements(
                        tracker_type, &element_id_tracker, &element_target_id);
@@ -1673,7 +1677,7 @@ int mi_lttng_id_target(struct mi_writer *writer,
                return ret;
        }
 
-       switch (id->type) {
+       switch (lttng_tracker_id_get_type(id)) {
        case LTTNG_ID_ALL:
                ret = mi_lttng_writer_open_element(writer, element_target_id);
                if (ret) {
@@ -1702,8 +1706,15 @@ int mi_lttng_id_target(struct mi_writer *writer,
                if (ret) {
                        goto end;
                }
+
+               status = lttng_tracker_id_get_value(id, &value);
+               if (status != LTTNG_TRACKER_ID_STATUS_OK) {
+                       ret = -1;
+                       goto end;
+               }
+
                ret = mi_lttng_writer_write_element_signed_int(
-                               writer, config_element_id, id->value);
+                               writer, config_element_id, value);
                if (ret) {
                        goto end;
                }
@@ -1721,8 +1732,15 @@ int mi_lttng_id_target(struct mi_writer *writer,
                if (ret) {
                        goto end;
                }
+
+               status = lttng_tracker_id_get_string(id, &string);
+               if (status != LTTNG_TRACKER_ID_STATUS_OK) {
+                       ret = -1;
+                       goto end;
+               }
+
                ret = mi_lttng_writer_write_element_string(
-                               writer, config_element_name, id->string);
+                               writer, config_element_name, string);
                if (ret) {
                        goto end;
                }
This page took 0.02575 seconds and 5 git commands to generate.