X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=include%2Flttng%2Fkernel-probe-internal.h;h=87d0ab9aad0cd70be0bb8b2b756367cbd5a48284;hb=488dbb6062973d4990a33284e4717d89a893339d;hp=e2889fd78d2b04d034505d806486ba12c78d7ce0;hpb=959e3c66727698e58a8788aceeda5820b3c938ba;p=lttng-tools.git diff --git a/include/lttng/kernel-probe-internal.h b/include/lttng/kernel-probe-internal.h index e2889fd78..87d0ab9aa 100644 --- a/include/lttng/kernel-probe-internal.h +++ b/include/lttng/kernel-probe-internal.h @@ -10,14 +10,21 @@ #include #include +#include #include +#include #include #include #include +#ifdef __cplusplus +extern "C" { +#endif + 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, @@ -33,6 +40,9 @@ typedef ssize_t (*kernel_probe_location_create_from_payload_cb)( 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 */ @@ -66,6 +76,7 @@ struct lttng_kernel_probe_location { 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 { @@ -79,27 +90,30 @@ 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); -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); +enum lttng_error_code lttng_kernel_probe_location_mi_serialize( + const struct lttng_kernel_probe_location *location, + struct mi_writer *writer); + +#ifdef __cplusplus +} +#endif + #endif /* LTTNG_KERNEL_PROBE_INTERNAL_H */