MI: implement all objects related to trigger machine interface
[lttng-tools.git] / include / lttng / kernel-probe-internal.h
index 680f3afab095ab225e59e3922945ee698113635f..2a655fb806b3259cb8d4a03553a6d439e22feff2 100644 (file)
@@ -18,6 +18,7 @@
 struct lttng_payload;
 struct lttng_payload_view;
 struct lttng_dynamic_buffer;
+struct mi_writer;
 
 typedef bool (*kernel_probe_location_equal_cb)(
                const struct lttng_kernel_probe_location *a,
@@ -31,6 +32,11 @@ typedef bool (*kernel_probe_location_equal_cb)(
 typedef ssize_t (*kernel_probe_location_create_from_payload_cb)(
                struct lttng_payload_view *view,
                struct lttng_kernel_probe_location **kernel_probe_location);
+typedef unsigned long (*kernel_probe_location_hash_cb)(
+               const struct lttng_kernel_probe_location *location);
+typedef enum lttng_error_code (*kernel_probe_location_mi_serialize_cb)(
+               const struct lttng_kernel_probe_location *location,
+               struct mi_writer *writer);
 
 struct lttng_kernel_probe_location_comm {
        /* enum lttng_kernel_probe_location_type */
@@ -63,6 +69,8 @@ struct lttng_kernel_probe_location {
        enum lttng_kernel_probe_location_type type;
        kernel_probe_location_equal_cb equal;
        kernel_probe_location_serialize_cb serialize;
+       kernel_probe_location_hash_cb hash;
+       kernel_probe_location_mi_serialize_cb mi_serialize;
 };
 
 struct lttng_kernel_probe_location_symbol {
@@ -91,4 +99,17 @@ bool lttng_kernel_probe_location_is_equal(
                const struct lttng_kernel_probe_location *a,
                const struct lttng_kernel_probe_location *b);
 
+LTTNG_HIDDEN
+struct lttng_kernel_probe_location *lttng_kernel_probe_location_copy(
+               const struct lttng_kernel_probe_location *location);
+
+LTTNG_HIDDEN
+unsigned long lttng_kernel_probe_location_hash(
+               const struct lttng_kernel_probe_location *location);
+
+LTTNG_HIDDEN
+enum lttng_error_code lttng_kernel_probe_location_mi_serialize(
+               const struct lttng_kernel_probe_location *location,
+               struct mi_writer *writer);
+
 #endif /* LTTNG_KERNEL_PROBE_INTERNAL_H */
This page took 0.033309 seconds and 4 git commands to generate.