X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Fkernel-probe-internal.h;h=e2889fd78d2b04d034505d806486ba12c78d7ce0;hp=680f3afab095ab225e59e3922945ee698113635f;hb=0de2479d5f5a287d31c69e34ea5202a69019f224;hpb=808cb744a46310d2e5fbbe9ab025cd427bcfc0a8 diff --git a/include/lttng/kernel-probe-internal.h b/include/lttng/kernel-probe-internal.h index 680f3afab..e2889fd78 100644 --- a/include/lttng/kernel-probe-internal.h +++ b/include/lttng/kernel-probe-internal.h @@ -31,6 +31,8 @@ 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); struct lttng_kernel_probe_location_comm { /* enum lttng_kernel_probe_location_type */ @@ -63,6 +65,7 @@ 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; }; struct lttng_kernel_probe_location_symbol { @@ -91,4 +94,12 @@ 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); + #endif /* LTTNG_KERNEL_PROBE_INTERNAL_H */