const struct lib_counter_config *client_config;
};
-struct lttng_ust_event_private {
- struct lttng_event *pub; /* Public event interface */
+struct lttng_ust_event_common_private {
+ struct lttng_ust_event_common *pub; /* Public event interface */
const struct lttng_event_desc *desc;
- enum lttng_ust_instrumentation instrumentation;
- struct cds_list_head node; /* Event list in session */
-
/* Backward references: list of lttng_enabler_ref (ref to enablers) */
struct cds_list_head enablers_ref_head;
- struct cds_hlist_node hlist; /* session ht of events */
int registered; /* has reg'd tracepoint probe */
+ uint64_t user_token;
+};
+
+struct lttng_ust_event_recorder_private {
+ struct lttng_ust_event_common_private parent;
+
+ struct lttng_ust_event_recorder *pub; /* Public event interface */
+ struct cds_list_head node; /* Event list in session */
+ struct cds_hlist_node hlist; /* session ht of events */
+};
+
+struct lttng_ust_event_notifier_private {
+ struct lttng_ust_event_common_private parent;
+
+ struct lttng_event_notifier *pub; /* Public event notifier interface */
+ struct cds_hlist_node hlist; /* hashtable of event_notifiers */
+ struct cds_list_head node; /* event_notifier list in session */
+ struct lttng_event_notifier_group *group; /* weak ref */
+ size_t num_captures; /* Needed to allocate the msgpack array. */
+ uint64_t error_counter_index;
+};
+
+struct lttng_ust_bytecode_runtime_private {
+ struct bytecode_runtime *pub; /* Public bytecode runtime interface */
+
+ struct lttng_ust_bytecode_node *bc;
+ int link_failed;
+ /*
+ * Pointer to a URCU-protected pointer owned by an `struct
+ * lttng_session`or `struct lttng_event_notifier_group`.
+ */
+ struct lttng_ctx **pctx;
+};
+
+struct lttng_ust_session_private {
+ struct lttng_session *pub; /* Public session interface */
+
+ int been_active; /* Been active ? */
+ int objd; /* Object associated */
+ struct cds_list_head chan_head; /* Channel list head */
+ struct cds_list_head events_head; /* list of events */
+ struct cds_list_head node; /* Session list */
+
+ /* New UST 2.1 */
+ /* List of enablers */
+ struct cds_list_head enablers_head;
+ struct lttng_ust_event_ht events_ht; /* ht of events */
+ void *owner; /* object owner */
+ int tstate:1; /* Transient enable state */
+
+ /* New UST 2.4 */
+ int statedump_pending:1;
+
+ /* New UST 2.8 */
+ struct lttng_ust_enum_ht enums_ht; /* ht of enumerations */
+ struct cds_list_head enums_head;
+ struct lttng_ctx *ctx; /* contexts for filters. */
};
static inline
struct lttng_ust_excluder_node **excluder);
LTTNG_HIDDEN
-void lttng_free_event_filter_runtime(struct lttng_event *event);
+void lttng_free_event_recorder_filter_runtime(struct lttng_ust_event_recorder *event_recorder);
LTTNG_HIDDEN
void lttng_free_event_notifier_filter_runtime(