struct lttng_ust_context ctx;
struct lttng_ust_object_data *obj;
struct lttng_ht_node_ulong node;
+ struct cds_list_head list;
};
struct ust_app_event {
struct ust_app_stream_list streams;
/* Session pointer that owns this object. */
struct ust_app_session *session;
+ /*
+ * Contexts are kept in a hash table for fast lookup and in an ordered list
+ * so we are able to enable them on the tracer side in the same order the
+ * user added them.
+ */
struct lttng_ht *ctx;
+ struct cds_list_head ctx_list;
+
struct lttng_ht *events;
uint64_t tracefile_size;
uint64_t tracefile_count;
* Tracing session ID. Multiple ust app session can have the same tracing
* session id making this value NOT unique to the object.
*/
- int tracing_id;
+ uint64_t tracing_id;
uint64_t id; /* Unique session identifier */
struct lttng_ht *channels; /* Registered channels */
- struct lttng_ht_node_ulong node;
+ struct lttng_ht_node_u64 node;
char path[PATH_MAX];
/* UID/GID of the application owning the session */
uid_t uid;
struct consumer_socket *socket, int send_zero_data);
void ust_app_destroy(struct ust_app *app);
int ust_app_snapshot_record(struct ltt_ust_session *usess,
- struct snapshot_output *output, int wait);
+ struct snapshot_output *output, int wait, unsigned int nb_streams);
+unsigned int ust_app_get_nb_stream(struct ltt_ust_session *usess);
+
+static inline
+int ust_app_supported(void)
+{
+ return 1;
+}
#else /* HAVE_LIBLTTNG_UST_CTL */
}
static inline
int ust_app_snapshot_record(struct ltt_ust_session *usess,
- struct snapshot_output *output, int wait)
+ struct snapshot_output *output, int wait, unsigned int nb_stream)
+{
+ return 0;
+}
+static inline
+unsigned int ust_app_get_nb_stream(struct ltt_ust_session *usess)
+{
+ return 0;
+}
+
+static inline
+int ust_app_supported(void)
{
return 0;
}