X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Fchannel-internal.h;fp=include%2Flttng%2Fchannel-internal.h;h=c3e1230635558fad9df00c711b7f6d7c5b957616;hp=04b19322f96ea35f1340b6e5d6f74ac569ca3246;hb=999af9c1150784f8676c6fce0764772d2314854a;hpb=13dd7782d52be2dac47be5116c00d3a2ba0ad626 diff --git a/include/lttng/channel-internal.h b/include/lttng/channel-internal.h index 04b19322f..c3e123063 100644 --- a/include/lttng/channel-internal.h +++ b/include/lttng/channel-internal.h @@ -9,6 +9,11 @@ #define LTTNG_CHANNEL_INTERNAL_H #include +#include +#include + +struct lttng_dynamic_buffer; +struct lttng_buffer_view; struct lttng_channel_extended { uint64_t discarded_events; @@ -17,4 +22,45 @@ struct lttng_channel_extended { int64_t blocking_timeout; } LTTNG_PACKED; +struct lttng_channel_comm { + /* Includes terminator `\0`. */ + uint32_t name_len; + uint8_t enabled; + + /* attr */ + int8_t overwrite; + uint64_t subbuf_size; + uint64_t num_subbuf; + uint32_t switch_timer_interval; + uint32_t read_timer_interval; + uint8_t output; + uint64_t tracefile_size; + uint64_t tracefile_count; + uint32_t live_timer_interval; + + /* Extended struct */ + uint64_t discarded_events; + uint64_t lost_packets; + uint64_t monitor_timer_interval; + int64_t blocking_timeout; +} LTTNG_PACKED; + +struct lttng_channel *lttng_channel_create_internal(void); + +struct lttng_channel *lttng_channel_copy(const struct lttng_channel *src); + +ssize_t lttng_channel_create_from_buffer(const struct lttng_buffer_view *view, + struct lttng_channel **event); + +int lttng_channel_serialize(struct lttng_channel *channel, + struct lttng_dynamic_buffer *buf); + +void lttng_channel_set_default_extended_attr(struct lttng_domain *domain, + struct lttng_channel_extended *extended_attr); + +enum lttng_error_code lttng_channels_create_and_flatten_from_buffer( + const struct lttng_buffer_view *view, + unsigned int count, + struct lttng_channel **channels); + #endif /* LTTNG_CHANNEL_INTERNAL_H */