Remove extern "C" from internal headers
[lttng-tools.git] / include / lttng / kernel-probe-internal.h
index 680f3afab095ab225e59e3922945ee698113635f..2d2ab86844472a836aa474adaa3650857be9d2c7 100644 (file)
@@ -10,7 +10,9 @@
 
 #include <common/fd-handle.h>
 #include <common/macros.h>
+#include <lttng/lttng-error.h>
 #include <lttng/kernel-probe.h>
+#include <lttng/lttng-error.h>
 #include <stdbool.h>
 #include <stdint.h>
 #include <sys/types.h>
@@ -18,6 +20,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 +34,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 +71,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 {
@@ -76,19 +86,26 @@ struct lttng_kernel_probe_location_address {
        uint64_t address;
 };
 
-LTTNG_HIDDEN
 int lttng_kernel_probe_location_serialize(
                const struct lttng_kernel_probe_location *location,
                struct lttng_payload *payload);
 
-LTTNG_HIDDEN
 ssize_t lttng_kernel_probe_location_create_from_payload(
                struct lttng_payload_view *view,
                struct lttng_kernel_probe_location **probe_location);
 
-LTTNG_HIDDEN
 bool lttng_kernel_probe_location_is_equal(
                const struct lttng_kernel_probe_location *a,
                const struct lttng_kernel_probe_location *b);
 
+struct lttng_kernel_probe_location *lttng_kernel_probe_location_copy(
+               const struct lttng_kernel_probe_location *location);
+
+unsigned long lttng_kernel_probe_location_hash(
+               const struct lttng_kernel_probe_location *location);
+
+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.024732 seconds and 4 git commands to generate.