X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=liblttng-ust%2Fust-events-internal.h;h=055e4f6eab259b633b615015a449a888f3538d52;hb=b670e9e80fd344432cb56e3c168b60103acd77d0;hp=6ade956e769be4a5ca37fab357e4a7a84ed06c40;hpb=8441d764b31826a03aeea3f92b716d257b816616;p=lttng-ust.git diff --git a/liblttng-ust/ust-events-internal.h b/liblttng-ust/ust-events-internal.h index 6ade956e..055e4f6e 100644 --- a/liblttng-ust/ust-events-internal.h +++ b/liblttng-ust/ust-events-internal.h @@ -7,6 +7,7 @@ #ifndef _LTTNG_UST_EVENTS_INTERNAL_H #define _LTTNG_UST_EVENTS_INTERNAL_H +#include #include #include @@ -251,7 +252,7 @@ struct lttng_event_notifier_group { struct lttng_transport { char *name; struct cds_list_head node; - struct lttng_ust_channel_ops ops; + struct lttng_ust_channel_buffer_ops ops; const struct lttng_ust_lib_ring_buffer_config *client_config; }; @@ -283,6 +284,7 @@ struct lttng_ust_event_recorder_private { struct cds_list_head node; /* Event recorder list */ struct cds_hlist_node hlist; /* Hash table of event recorders */ struct lttng_ust_ctx *ctx; + unsigned int id; }; struct lttng_ust_event_notifier_private { @@ -332,6 +334,9 @@ struct lttng_ust_session_private { struct lttng_ust_enum_ht enums_ht; /* ht of enumerations */ struct cds_list_head enums_head; struct lttng_ust_ctx *ctx; /* contexts for filters. */ + + unsigned char uuid[LTTNG_UST_UUID_LEN]; /* Trace session unique ID */ + bool uuid_set; /* Is uuid set ? */ }; struct lttng_enum { @@ -344,8 +349,8 @@ struct lttng_enum { struct lttng_ust_shm_handle; -struct lttng_ust_channel_ops_private { - struct lttng_ust_channel_ops *pub; /* Public channels ops interface */ +struct lttng_ust_channel_buffer_ops_private { + struct lttng_ust_channel_buffer_ops *pub; /* Public channel buffer ops interface */ struct lttng_ust_channel_buffer *(*channel_create)(const char *name, void *buf_addr, @@ -362,12 +367,10 @@ struct lttng_ust_channel_ops_private { * packet. Note that the size returned is only a hint, since it * may change due to concurrent writes. */ - size_t (*packet_avail_size)(struct lttng_ust_lib_ring_buffer_channel *chan, - struct lttng_ust_shm_handle *handle); - int (*is_finalized)(struct lttng_ust_lib_ring_buffer_channel *chan); - int (*is_disabled)(struct lttng_ust_lib_ring_buffer_channel *chan); - int (*flush_buffer)(struct lttng_ust_lib_ring_buffer_channel *chan, - struct lttng_ust_shm_handle *handle); + size_t (*packet_avail_size)(struct lttng_ust_channel_buffer *chan); + int (*is_finalized)(struct lttng_ust_channel_buffer *chan); + int (*is_disabled)(struct lttng_ust_channel_buffer *chan); + int (*flush_buffer)(struct lttng_ust_channel_buffer *chan); }; struct lttng_ust_channel_common_private { @@ -386,6 +389,7 @@ struct lttng_ust_channel_buffer_private { unsigned int id; /* Channel ID */ enum lttng_ust_abi_chan_type type; struct lttng_ust_ctx *ctx; + struct lttng_ust_lib_ring_buffer_channel *rb_chan; /* Ring buffer channel */ unsigned char uuid[LTTNG_UST_UUID_LEN]; /* Trace session unique ID */ }; @@ -506,7 +510,7 @@ struct lttng_ust_type_common *lttng_ust_create_type_array_text(unsigned int leng array_type->alignment = 0; array_type->encoding = lttng_ust_string_encoding_UTF8; array_type->elem_type = lttng_ust_create_type_integer(sizeof(char) * CHAR_BIT, - lttng_alignof(char) * CHAR_BIT, lttng_is_signed_type(char), + lttng_ust_rb_alignof(char) * CHAR_BIT, lttng_ust_is_signed_type(char), BYTE_ORDER, 10); if (!array_type->elem_type) goto error_elem; @@ -751,7 +755,7 @@ struct lttng_counter *lttng_ust_counter_create( const char *counter_transport_name, size_t number_dimensions, const struct lttng_counter_dimension *dimensions); -#ifdef HAVE_PERF_EVENT +#ifdef HAVE_LINUX_PERF_EVENT_H __attribute__((visibility("hidden"))) int lttng_add_perf_counter_to_ctx(uint32_t type, @@ -765,7 +769,7 @@ int lttng_perf_counter_init(void); __attribute__((visibility("hidden"))) void lttng_perf_counter_exit(void); -#else /* #ifdef HAVE_PERF_EVENT */ +#else /* #ifdef HAVE_LINUX_PERF_EVENT_H */ static inline int lttng_add_perf_counter_to_ctx(uint32_t type, @@ -784,7 +788,7 @@ static inline void lttng_perf_counter_exit(void) { } -#endif /* #else #ifdef HAVE_PERF_EVENT */ +#endif /* #else #ifdef HAVE_LINUX_PERF_EVENT_H */ __attribute__((visibility("hidden"))) int lttng_probes_get_event_list(struct lttng_ust_tracepoint_list *list); @@ -893,4 +897,15 @@ int lttng_ust_interpret_event_filter(struct lttng_ust_event_common *event, const char *interpreter_stack_data, void *filter_ctx); +__attribute__((visibility("hidden"))) +int lttng_ust_session_uuid_validate(struct lttng_ust_session *session, + unsigned char *uuid); + +__attribute__((visibility("hidden"))) +bool lttng_ust_validate_event_name(const struct lttng_ust_event_desc *desc); + +__attribute__((visibility("hidden"))) +void lttng_ust_format_event_name(const struct lttng_ust_event_desc *desc, + char *name); + #endif /* _LTTNG_UST_EVENTS_INTERNAL_H */