#include <common/optional.hpp>
#include <lttng/constant.h>
#include <lttng/lttng-error.h>
+#include <lttng/trace-format-descriptor-internal.hpp>
struct lttng_session;
struct lttng_payload_view;
struct lttng_session_extended {
LTTNG_OPTIONAL(uint64_t) creation_time;
+ /*
+ * This is done this way to satisfy the API memory restriction for lttng_session on listing.
+ * The caller must be able to simply call free on the return object and all memory be freed.
+ */
+ struct lttng_buffer_view serialized_trace_format_descriptor;
};
struct lttng_session_comm {
uint8_t enabled;
uint32_t snapshot_mode;
uint32_t live_timer_interval;
+ uint32_t trace_format_descriptor_len;
/* lttng_session_extended data */
LTTNG_OPTIONAL(uint64_t) LTTNG_PACKED creation_time;
/*
* Dynamic payload:
* - name[name_len]
* - path[path_len]
+ * - trace_format_descriptor
*/
char payload[];
} LTTNG_PACKED;