X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Fuserspace-probe-internal.h;h=e0075974f0e8978b791381d8c1640f2ded200131;hb=2520000ca08809a23ebb68d99fca8d85676df5aa;hp=ffe3f1cf9e087ad062ff1495536bac4800fa5577;hpb=fe489250ce102edf511e99669025934ec9587c63;p=lttng-tools.git diff --git a/include/lttng/userspace-probe-internal.h b/include/lttng/userspace-probe-internal.h index ffe3f1cf9..e0075974f 100644 --- a/include/lttng/userspace-probe-internal.h +++ b/include/lttng/userspace-probe-internal.h @@ -17,10 +17,16 @@ struct lttng_payload; struct lttng_payload_view; struct lttng_dynamic_buffer; +struct mi_writer; typedef bool (*userspace_probe_location_equal_cb)( const struct lttng_userspace_probe_location *a, const struct lttng_userspace_probe_location *b); +typedef unsigned long (*userspace_probe_location_hash_cb)( + const struct lttng_userspace_probe_location *location); +typedef enum lttng_error_code (*userspace_probe_location_mi)( + const struct lttng_userspace_probe_location *location, + struct mi_writer); /* * No elf-specific comm structure is defined since no elf-specific payload is @@ -88,6 +94,8 @@ struct lttng_userspace_probe_location { enum lttng_userspace_probe_location_type type; struct lttng_userspace_probe_location_lookup_method *lookup_method; userspace_probe_location_equal_cb equal; + userspace_probe_location_hash_cb hash; + userspace_probe_location_hash_cb mi; }; struct lttng_userspace_probe_location_function { @@ -99,7 +107,7 @@ struct lttng_userspace_probe_location_function { * early on to keep the backing inode valid over the course of the * intrumentation and use. It prevents deletion and reuse races. */ - struct fd_handle *binary_fd; + struct fd_handle *binary_fd_handle; enum lttng_userspace_probe_location_function_instrumentation_type instrumentation_type; }; @@ -113,7 +121,7 @@ struct lttng_userspace_probe_location_tracepoint { * early on to keep the backing inode valid over the course of the * intrumentation and use. It prevents deletion and reuse races. */ - struct fd_handle *binary_fd; + struct fd_handle *binary_fd_handle; }; LTTNG_HIDDEN @@ -150,4 +158,13 @@ bool lttng_userspace_probe_location_is_equal( const struct lttng_userspace_probe_location *a, const struct lttng_userspace_probe_location *b); +LTTNG_HIDDEN +unsigned long lttng_userspace_probe_location_hash( + const struct lttng_userspace_probe_location *location); + +LTTNG_HIDDEN +enum lttng_error_code lttng_userspace_probe_location_mi_serialize( + const struct lttng_userspace_probe_location *location, + struct mi_writer *writer); + #endif /* LTTNG_USERSPACE_PROBE_INTERNAL_H */