From: Mathieu Desnoyers Date: Mon, 8 Nov 2021 19:28:28 +0000 (-0500) Subject: Refactoring: introduce lttng_get_event_ht_from_enabler and lttng_get_event_list_head_... X-Git-Url: http://git.lttng.org./?a=commitdiff_plain;h=1cc046d36e7818d4a37d5ce9a351cb773337135f;p=lttng-ust.git Refactoring: introduce lttng_get_event_ht_from_enabler and lttng_get_event_list_head_from_enabler Signed-off-by: Mathieu Desnoyers Change-Id: I67c14a4345c48ef96de39e4bbb9e04a3ea07c868 --- diff --git a/src/common/events.h b/src/common/events.h index 0eb7ecc9..ff86c016 100644 --- a/src/common/events.h +++ b/src/common/events.h @@ -641,7 +641,49 @@ struct lttng_event_enabler_common *lttng_event_notifier_enabler_as_enabler( return &event_notifier_enabler->parent; } +static inline +struct lttng_ust_event_ht *lttng_get_event_ht_from_enabler(struct lttng_event_enabler_common *event_enabler) +{ + switch (event_enabler->enabler_type) { + case LTTNG_EVENT_ENABLER_TYPE_RECORDER: /* Fall-through */ + case LTTNG_EVENT_ENABLER_TYPE_COUNTER: + { + struct lttng_event_enabler_session_common *event_enabler_session = + caa_container_of(event_enabler, struct lttng_event_enabler_session_common, parent); + return &event_enabler_session->chan->session->priv->events_name_ht; + } + case LTTNG_EVENT_ENABLER_TYPE_NOTIFIER: + { + struct lttng_event_notifier_enabler *event_notifier_enabler = + caa_container_of(event_enabler, struct lttng_event_notifier_enabler, parent); + return &event_notifier_enabler->group->event_notifiers_ht; + } + default: + return NULL; + } +} +static inline +struct cds_list_head *lttng_get_event_list_head_from_enabler(struct lttng_event_enabler_common *event_enabler) +{ + switch (event_enabler->enabler_type) { + case LTTNG_EVENT_ENABLER_TYPE_RECORDER: /* Fall-through */ + case LTTNG_EVENT_ENABLER_TYPE_COUNTER: + { + struct lttng_event_enabler_session_common *event_enabler_session = + caa_container_of(event_enabler, struct lttng_event_enabler_session_common, parent); + return &event_enabler_session->chan->session->priv->events_head; + } + case LTTNG_EVENT_ENABLER_TYPE_NOTIFIER: + { + struct lttng_event_notifier_enabler *event_notifier_enabler = + caa_container_of(event_enabler, struct lttng_event_notifier_enabler, parent); + return &event_notifier_enabler->group->event_notifiers_head; + } + default: + return NULL; + } +} /* This is ABI between liblttng-ust and liblttng-ust-dl */ void lttng_ust_dl_update(void *ip);