X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Fsession.h;h=06d4f8b9d51a4f5bea02dfb2fa0e0712f7bc945c;hp=9b2d7eb414a8500ff7319f1f79164125f4c289d7;hb=55c9e7cac24318259d4f2549c97f7577b7b52db4;hpb=83ed9e903336bd1d098d93b62cd6e444f2a8d6f1 diff --git a/include/lttng/session.h b/include/lttng/session.h index 9b2d7eb41..06d4f8b9d 100644 --- a/include/lttng/session.h +++ b/include/lttng/session.h @@ -23,6 +23,31 @@ extern "C" { #endif +#include + +enum lttng_tracker_type { + LTTNG_TRACKER_PID = 0, + LTTNG_TRACKER_VPID = 1, + LTTNG_TRACKER_UID = 2, + LTTNG_TRACKER_GID = 3, + LTTNG_TRACKER_VUID = 4, + LTTNG_TRACKER_VGID = 5, +}; + +enum lttng_tracker_id_type { + LTTNG_ID_UNKNOWN = -1, + LTTNG_ID_ALL = 0, + LTTNG_ID_VALUE = 1, + LTTNG_ID_STRING = 2, +}; + +struct lttng_tracker_id { + enum lttng_tracker_id_type type; + int value; + char *string; +}; + +struct lttng_handle; struct lttng_session_descriptor; struct lttng_destruction_handle; @@ -214,6 +239,46 @@ extern enum lttng_error_code lttng_session_get_creation_time( extern int lttng_set_session_shm_path(const char *session_name, const char *shm_path); +/* + * Add ID to session tracker. + * + * tracker_type is the type of tracker. + * id the id to track. + * + * Return 0 on success else a negative LTTng error code. + */ +extern int lttng_track_id(struct lttng_handle *handle, + enum lttng_tracker_type tracker_type, + const struct lttng_tracker_id *id); + +/* + * Remove ID from session tracker. + * + * tracker_type is the type of tracker. + * id the id to untrack. + * + * Return 0 on success else a negative LTTng error code. + */ +extern int lttng_untrack_id(struct lttng_handle *handle, + enum lttng_tracker_type tracker_type, + const struct lttng_tracker_id *id); + +/* + * List IDs in the tracker. + * + * tracker_type is the type of tracker. + * ids is set to an allocated array of IDs currently tracked. On + * success, ids and the strings it contains must be freed by the + * caller. + * nr_ids is set to the number of entries contained by the ids array. + * + * Returns 0 on success, else a negative LTTng error code. + */ +extern int lttng_list_tracker_ids(struct lttng_handle *handle, + enum lttng_tracker_type tracker_type, + struct lttng_tracker_id **ids, + size_t *nr_ids); + /* * Add PID to session tracker. *