Enforce DL_LIBS value instead of hard coded -ldl
[lttng-tools.git] / include / lttng / channel.h
index bb5bbcd382f47723eae934e94da69fc9eb11375e..4e61a611b4c4b2f19f83dd8950165a766d711325 100644 (file)
@@ -20,6 +20,7 @@
 
 #include <lttng/domain.h>
 #include <lttng/event.h>
+#include <stdint.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -32,7 +33,7 @@ extern "C" {
  */
 #define LTTNG_CHANNEL_ATTR_PADDING1        LTTNG_SYMBOL_NAME_LEN + 12
 struct lttng_channel_attr {
-       int overwrite;                      /* 1: overwrite, 0: discard */
+       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 */
@@ -43,6 +44,12 @@ struct lttng_channel_attr {
        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];
 };
@@ -61,6 +68,14 @@ struct lttng_channel {
        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.
  *
@@ -101,6 +116,34 @@ extern int lttng_disable_channel(struct lttng_handle *handle,
 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
This page took 0.023502 seconds and 4 git commands to generate.