+ ret = ask_sessiond(UST_LIST_APPS, (void**) pids);
+ if (ret < 0) {
+ return ret;
+ }
+
+ return ret / sizeof(pid_t);
+}
+
+/*
+ * lttng_list_traces
+ *
+ * Ask the session daemon for all traces (kernel and ust)
+ * for the session identified by uuid.
+ *
+ * Return the number of traces.
+ */
+int lttng_list_traces(uuid_t *uuid, struct lttng_trace **traces)
+{
+ int ret;
+
+ uuid_copy(lsm.session_uuid, *uuid);
+
+ ret = ask_sessiond(LTTNG_LIST_TRACES, (void **) traces);
+ if (ret < 0) {
+ return ret;
+ }
+
+ return ret / sizeof(struct lttng_trace);
+}
+
+/*
+ * lttng_create_session
+ *
+ * Create a brand new session using name. Allocate
+ * the session_id param pointing to the UUID.
+ */
+int lttng_create_session(char *name, uuid_t *session_id)
+{
+ int ret;
+
+ strncpy(lsm.session_name, name, sizeof(lsm.session_name));
+ lsm.session_name[sizeof(lsm.session_name) - 1] = '\0';