+struct lttng_kernel_session_private {
+ struct lttng_kernel_session *pub; /* Public session interface */
+
+ int been_active; /* Has trace session been active ? */
+ struct file *file; /* File associated to session */
+ struct list_head chan; /* Channel list head */
+ struct list_head events; /* Event list head */
+ struct list_head list; /* Session list */
+ unsigned int free_chan_id; /* Next chan ID to allocate */
+ uuid_le uuid; /* Trace session unique ID */
+ struct lttng_metadata_cache *metadata_cache;
+ unsigned int metadata_dumped:1,
+ tstate:1; /* Transient enable state */
+ /* List of event enablers */
+ struct list_head enablers_head;
+ /* Hash table of events */
+ struct lttng_event_ht events_ht;
+ char name[LTTNG_KERNEL_ABI_SESSION_NAME_LEN];
+ char creation_time[LTTNG_KERNEL_ABI_SESSION_CREATION_TIME_ISO8601_LEN];
+};
+
+struct lttng_id_hash_node {
+ struct hlist_node hlist;
+ int id;
+};
+
+enum tracker_type {
+ TRACKER_PID,
+ TRACKER_VPID,
+ TRACKER_UID,
+ TRACKER_VUID,
+ TRACKER_GID,
+ TRACKER_VGID,
+
+ TRACKER_UNKNOWN,
+};
+
+struct lttng_kernel_id_tracker_private {
+ struct lttng_kernel_id_tracker *pub; /* Public interface */
+
+ struct lttng_kernel_session *session;
+ enum tracker_type tracker_type;
+};
+