#include <lttng/domain.h>
#include <lttng/event.h>
+#include <stdint.h>
#ifdef __cplusplus
extern "C" {
*/
#define LTTNG_CHANNEL_ATTR_PADDING1 LTTNG_SYMBOL_NAME_LEN + 12
struct lttng_channel_attr {
- int overwrite; /* 1: overwrite, 0: discard */
- uint64_t subbuf_size; /* bytes */
+ int overwrite; /* -1: session default, 1: overwrite, 0: discard */
+ uint64_t subbuf_size; /* bytes, power of 2 */
uint64_t num_subbuf; /* power of 2 */
unsigned int switch_timer_interval; /* usec */
unsigned int read_timer_interval; /* usec */
uint64_t tracefile_count; /* number of tracefiles */
/* LTTng 2.3 padding limit */
unsigned int live_timer_interval; /* usec */
+ /* LTTng 2.7 padding limit */
+ uint32_t align_to_64;
+ union {
+ uint64_t padding;
+ void *ptr;
+ } extended;
char padding[LTTNG_CHANNEL_ATTR_PADDING1];
};
char padding[LTTNG_CHANNEL_PADDING1];
};
+/*
+ */
+extern struct lttng_channel *lttng_channel_create(struct lttng_domain *domain);
+
+/*
+ */
+extern void lttng_channel_destroy(struct lttng_channel *channel);
+
/*
* List the channel(s) of a session.
*
extern void lttng_channel_set_default_attr(struct lttng_domain *domain,
struct lttng_channel_attr *attr);
+/*
+ * Get the discarded event count of a specific LTTng channel.
+ *
+ * Returns 0 on success, or a negative LTTng error code on error.
+ */
+extern int lttng_channel_get_discarded_event_count(struct lttng_channel *chan,
+ uint64_t *discarded_events);
+
+/*
+ * Get the lost packet count of a specific LTTng channel.
+ *
+ * Returns 0 on success, or a negative LTTng error code on error.
+ */
+extern int lttng_channel_get_lost_packet_count(struct lttng_channel *chan,
+ uint64_t *lost_packets);
+
+extern int lttng_channel_get_monitor_timer_interval(struct lttng_channel *chan,
+ uint64_t *monitor_timer_interval);
+
+extern int lttng_channel_set_monitor_timer_interval(struct lttng_channel *chan,
+ uint64_t monitor_timer_interval);
+
+extern int lttng_channel_get_blocking_timeout(struct lttng_channel *chan,
+ int64_t *blocking_timeout);
+
+extern int lttng_channel_set_blocking_timeout(struct lttng_channel *chan,
+ int64_t blocking_timeout);
+
#ifdef __cplusplus
}
#endif