- int been_active; /* Been active ? */
- int objd; /* Object associated */
- void *_deprecated1;
- struct cds_list_head chan_head; /* Channel list head */
- struct cds_list_head events_head; /* list of events */
- struct cds_list_head _deprecated2;
- struct cds_list_head node; /* Session list */
- int _deprecated3;
- unsigned int _deprecated4:1;
-
- /* 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. */
-};
-
-struct lttng_counter {
- int objd;
- struct lttng_event_notifier_group *event_notifier_group; /* owner */
- struct lttng_counter_transport *transport;
- struct lib_counter *counter;
- struct lttng_counter_ops *ops;
-};
-
-struct lttng_event_notifier_group {
- int objd;
- void *owner;
- int notification_fd;
- struct cds_list_head node; /* Event notifier group handle list */
- struct cds_list_head enablers_head;
- struct cds_list_head event_notifiers_head; /* list of event_notifiers */
- struct lttng_ust_event_notifier_ht event_notifiers_ht; /* hashtable of event_notifiers */
- struct lttng_ctx *ctx; /* contexts for filters. */
-
- struct lttng_counter *error_counter;
- size_t error_counter_len;
-};
-
-struct lttng_transport {
- char *name;
- struct cds_list_head node;
- struct lttng_channel_ops ops;
- const struct lttng_ust_lib_ring_buffer_config *client_config;
-};
-
-struct lttng_counter_transport {
- char *name;
- struct cds_list_head node;
- struct lttng_counter_ops ops;
- const struct lib_counter_config *client_config;
-};
-
-struct lttng_session *lttng_session_create(void);
-int lttng_session_enable(struct lttng_session *session);
-int lttng_session_disable(struct lttng_session *session);
-int lttng_session_statedump(struct lttng_session *session);
-void lttng_session_destroy(struct lttng_session *session);
-
-struct lttng_channel *lttng_channel_create(struct lttng_session *session,
- const char *transport_name,
- void *buf_addr,
- size_t subbuf_size, size_t num_subbuf,
- unsigned int switch_timer_interval,
- unsigned int read_timer_interval,
- int **shm_fd, int **wait_fd,
- uint64_t **memory_map_size,
- struct lttng_channel *chan_priv_init);
-
-int lttng_channel_enable(struct lttng_channel *channel);
-int lttng_channel_disable(struct lttng_channel *channel);
-
-int lttng_attach_context(struct lttng_ust_context *context_param,
- union ust_args *uargs,
- struct lttng_ctx **ctx, struct lttng_session *session);
-void lttng_transport_register(struct lttng_transport *transport);
-void lttng_transport_unregister(struct lttng_transport *transport);
-
-void lttng_counter_transport_register(struct lttng_counter_transport *transport);
-void lttng_counter_transport_unregister(struct lttng_counter_transport *transport);
-
-struct lttng_counter *lttng_ust_counter_create(
- const char *counter_transport_name,
- size_t number_dimensions, const struct lttng_counter_dimension *dimensions);
-
-int lttng_probe_register(struct lttng_probe_desc *desc);
-void lttng_probe_unregister(struct lttng_probe_desc *desc);
-void lttng_probe_provider_unregister_events(struct lttng_probe_desc *desc);
-int lttng_fix_pending_events(void);
-int lttng_probes_init(void);
-void lttng_probes_exit(void);
-int lttng_find_context(struct lttng_ctx *ctx, const char *name);
-int lttng_get_context_index(struct lttng_ctx *ctx, const char *name);
-struct lttng_ctx_field *lttng_append_context(struct lttng_ctx **ctx_p);
-void lttng_context_update(struct lttng_ctx *ctx);
-void lttng_remove_context_field(struct lttng_ctx **ctx_p,
- struct lttng_ctx_field *field);
-void lttng_destroy_context(struct lttng_ctx *ctx);
-int lttng_add_vtid_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_vpid_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_pthread_id_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_procname_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_ip_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_cpu_id_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_dyntest_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_cgroup_ns_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_ipc_ns_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_mnt_ns_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_net_ns_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_pid_ns_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_time_ns_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_user_ns_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_uts_ns_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_vuid_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_veuid_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_vsuid_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_vgid_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_vegid_to_ctx(struct lttng_ctx **ctx);
-int lttng_add_vsgid_to_ctx(struct lttng_ctx **ctx);
-void lttng_context_vtid_reset(void);
-void lttng_context_vpid_reset(void);
-void lttng_context_procname_reset(void);
-void lttng_context_cgroup_ns_reset(void);
-void lttng_context_ipc_ns_reset(void);
-void lttng_context_mnt_ns_reset(void);
-void lttng_context_net_ns_reset(void);
-void lttng_context_pid_ns_reset(void);
-void lttng_context_time_ns_reset(void);
-void lttng_context_user_ns_reset(void);
-void lttng_context_uts_ns_reset(void);
-void lttng_context_vuid_reset(void);
-void lttng_context_veuid_reset(void);
-void lttng_context_vsuid_reset(void);
-void lttng_context_vgid_reset(void);
-void lttng_context_vegid_reset(void);
-void lttng_context_vsgid_reset(void);
-
-#ifdef LTTNG_UST_HAVE_PERF_EVENT
-int lttng_add_perf_counter_to_ctx(uint32_t type,
- uint64_t config,
- const char *name,
- struct lttng_ctx **ctx);
-int lttng_perf_counter_init(void);
-void lttng_perf_counter_exit(void);
-#else /* #ifdef LTTNG_UST_HAVE_PERF_EVENT */
-static inline
-int lttng_add_perf_counter_to_ctx(uint32_t type,
- uint64_t config,
- const char *name,
- struct lttng_ctx **ctx)
-{
- return -ENOSYS;
-}
-static inline
-int lttng_perf_counter_init(void)
-{
- return 0;
-}