Introduce common event structure
[lttng-ust.git] / liblttng-ust / ust-events-internal.h
index 24b56d3b33f3b7c82d21ea43971b00abb32b8267..ea62e029bc7f697967218fd7758c3acec5b6e965 100644 (file)
@@ -165,6 +165,60 @@ struct lttng_counter_transport {
        const struct lib_counter_config *client_config;
 };
 
+struct lttng_ust_event_common_private {
+       struct lttng_event_common *pub; /* Public event interface */
+
+       const struct lttng_event_desc *desc;
+       /* Backward references: list of lttng_enabler_ref (ref to enablers) */
+       struct cds_list_head enablers_ref_head;
+       int registered;                 /* has reg'd tracepoint probe */
+};
+
+struct lttng_ust_event_private {
+       struct lttng_ust_event_common_private parent;
+
+       struct lttng_event *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_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_enabler *lttng_event_enabler_as_enabler(
                struct lttng_event_enabler *event_enabler)
This page took 0.024068 seconds and 4 git commands to generate.