X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=liblttng-ust%2Fust-events-internal.h;h=613dfabb49f3b9fda0f76b3eb2b704664d1b4394;hb=115db533af4d56a1b5c8b3a5ff6a15dc58579cd8;hp=1a94ba0ea3acf4d16136fb9c18843535e312aac4;hpb=68bb7559b0041c38158c9ed0528d91d655e7eb6c;p=lttng-ust.git diff --git a/liblttng-ust/ust-events-internal.h b/liblttng-ust/ust-events-internal.h index 1a94ba0e..613dfabb 100644 --- a/liblttng-ust/ust-events-internal.h +++ b/liblttng-ust/ust-events-internal.h @@ -165,17 +165,70 @@ struct lttng_counter_transport { 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 @@ -342,7 +395,7 @@ int lttng_event_notifier_enabler_attach_exclusion( 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(