X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=ltt-sessiond%2Ftrace.h;h=43b67eae25cf9d35f5157b8c93348206cdca6c9c;hb=2e0ac66c6c13c670bca92e7a333358554769f638;hp=f0d25c89400db78de651f36850a78db95ebb1c8b;hpb=9e78d6ae219789dee9c96f35f190d6166ef389c3;p=lttng-tools.git diff --git a/ltt-sessiond/trace.h b/ltt-sessiond/trace.h index f0d25c894..43b67eae2 100644 --- a/ltt-sessiond/trace.h +++ b/ltt-sessiond/trace.h @@ -21,6 +21,9 @@ #include #include + +#include + #include "lttng-kernel.h" /* Kernel event list */ @@ -41,6 +44,8 @@ struct ltt_kernel_channel_list { /* Kernel event */ struct ltt_kernel_event { int fd; + int enabled; + struct lttng_kernel_context *ctx; struct lttng_kernel_event *event; struct cds_list_head list; }; @@ -48,9 +53,11 @@ struct ltt_kernel_event { /* Kernel channel */ struct ltt_kernel_channel { int fd; + int enabled; char *pathname; unsigned int stream_count; - struct lttng_kernel_channel *channel; + struct lttng_kernel_context *ctx; + struct lttng_channel *channel; struct ltt_kernel_event_list events_list; struct ltt_kernel_stream_list stream_list; struct cds_list_head list; @@ -60,7 +67,7 @@ struct ltt_kernel_channel { struct ltt_kernel_metadata { int fd; char *pathname; - struct lttng_kernel_channel *conf; + struct lttng_channel *conf; }; /* Channel stream */ @@ -75,6 +82,7 @@ struct ltt_kernel_stream { struct ltt_kernel_session { int fd; int metadata_stream_fd; + int kconsumer_fds_sent; unsigned int channel_count; unsigned int stream_count_global; struct ltt_kernel_metadata *metadata; @@ -96,4 +104,31 @@ struct ltt_ust_marker { char *channel; }; +/* + * Get functions. + */ +struct ltt_kernel_event *get_kernel_event_by_name( + char *name, struct ltt_kernel_channel *channel); +struct ltt_kernel_channel *get_kernel_channel_by_name( + char *name, struct ltt_kernel_session *session); + +/* + * Create functions malloc() the data structure. + */ +struct ltt_kernel_session *trace_create_kernel_session(void); +struct ltt_kernel_channel *trace_create_kernel_channel(struct lttng_channel *chan, char *path); +struct ltt_kernel_event *trace_create_kernel_event(struct lttng_event *ev); +struct ltt_kernel_metadata *trace_create_kernel_metadata(void); +struct ltt_kernel_stream *trace_create_kernel_stream(void); + +/* + * Destroy functions free() the data structure and remove from linked list if + * it's applies. + */ +void trace_destroy_kernel_session(struct ltt_kernel_session *session); +void trace_destroy_kernel_metadata(struct ltt_kernel_metadata *metadata); +void trace_destroy_kernel_channel(struct ltt_kernel_channel *channel); +void trace_destroy_kernel_event(struct ltt_kernel_event *event); +void trace_destroy_kernel_stream(struct ltt_kernel_stream *stream); + #endif /* _LTT_TRACE_H */