X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=include%2Flttng%2Fust-events.h;h=8926785b61a8a8880ac8b75abd66cec9e32a3037;hb=47e5f13e885764eecde371627001d26da2a2f41f;hp=f3ade45c43558acddedefc5baf33d0a59798bef3;hpb=53569322d40ed45abe0368ddb08eb4a2738afc37;p=lttng-ust.git diff --git a/include/lttng/ust-events.h b/include/lttng/ust-events.h index f3ade45c..8926785b 100644 --- a/include/lttng/ust-events.h +++ b/include/lttng/ust-events.h @@ -101,11 +101,25 @@ enum lttng_string_encodings { NR_STRING_ENCODINGS, }; +struct lttng_enum_value { + unsigned long long value; + unsigned int signedness:1; +}; + +enum lttng_enum_entry_options { + LTTNG_ENUM_ENTRY_OPTION_IS_AUTO = 1U << 0, +}; + #define LTTNG_UST_ENUM_ENTRY_PADDING 16 struct lttng_enum_entry { - unsigned long long start, end; /* start and end are inclusive */ + struct lttng_enum_value start, end; /* start and end are inclusive */ const char *string; - char padding[LTTNG_UST_ENUM_ENTRY_PADDING]; + union { + struct { + unsigned int options; + } LTTNG_PACKED extra; + char padding[LTTNG_UST_ENUM_ENTRY_PADDING]; + } u; }; #define __type_integer(_type, _byte_order, _base, _encoding) \ @@ -328,7 +342,7 @@ struct lttng_probe_desc { /* Data structures used by the tracer. */ enum lttng_enabler_type { - LTTNG_ENABLER_WILDCARD, + LTTNG_ENABLER_STAR_GLOB, LTTNG_ENABLER_EVENT, }; @@ -409,6 +423,7 @@ struct lttng_bytecode_runtime { int link_failed; struct cds_list_head node; /* list of bytecode runtime in event */ struct lttng_session *session; + struct lttng_event *event; }; /* @@ -475,7 +490,8 @@ struct lttng_channel_ops { unsigned int read_timer_interval, unsigned char *uuid, uint32_t chan_id, - const int *stream_fds, int nr_stream_fds); + const int *stream_fds, int nr_stream_fds, + int64_t blocking_timeout); void (*channel_destroy)(struct lttng_channel *chan); union { void *_deprecated1; @@ -601,6 +617,7 @@ struct lttng_transport { 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, @@ -629,6 +646,7 @@ int lttng_enabler_attach_exclusion(struct lttng_enabler *enabler, struct lttng_ust_excluder_node *excluder); int lttng_attach_context(struct lttng_ust_context *context_param, + union ust_args *uargs, struct lttng_ctx **ctx, struct lttng_session *session); int lttng_session_context_init(struct lttng_ctx **ctx); @@ -639,6 +657,7 @@ void synchronize_trace(void); 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); @@ -713,8 +732,17 @@ int lttng_session_active(void); typedef int (*t_statedump_func_ptr)(struct lttng_session *session); void lttng_handle_pending_statedump(void *owner); struct cds_list_head *_lttng_get_sessions(void); -struct lttng_enum *lttng_ust_enum_get(struct lttng_session *session, - const char *enum_name); + +struct lttng_enum *lttng_ust_enum_get_from_desc(struct lttng_session *session, + const struct lttng_enum_desc *enum_desc); + +void lttng_ust_dl_update(void *ip); +void lttng_ust_fixup_fd_tracker_tls(void); + +/* For backward compatibility. Leave those exported symbols in place. */ +extern struct lttng_ctx *lttng_static_ctx; +void lttng_context_init(void); +void lttng_context_exit(void); #ifdef __cplusplus }