#define _LIBLTTNGCTL_H
#include <limits.h>
+#include <stdint.h>
#include <uuid/uuid.h>
/* Default unix group name for tracing.
*/
#define LTTNG_SESSIOND_PATH_ENV "LTTNG_SESSIOND_PATH"
-/* From libuuid
- */
+/* UUID string length (including \0) */
#define UUID_STR_LEN 37
+/* UUID short string version length (including \0) */
+#define UUID_SHORT_STR_LEN 9
+
+typedef uint64_t u64;
/* Trace type for lttng_trace.
*/
*/
struct lttng_session {
char name[NAME_MAX];
- char uuid[UUID_STR_LEN];
+ uuid_t uuid;
};
/* Simple trace representation.
enum lttng_trace_type type;
};
+/*
+ * LTTng DebugFS ABI structures.
+ */
+enum lttng_instrum_type {
+ INSTRUM_TRACEPOINTS,
+};
+
+struct lttng_channel {
+ int overwrite; /* 1: overwrite, 0: discard */
+ u64 subbuf_size;
+ u64 num_subbuf;
+ unsigned int switch_timer_interval;
+ unsigned int read_timer_interval;
+};
+
+struct lttng_event {
+ enum lttng_instrum_type itype;
+ char name[];
+};
+
extern int lttng_create_session(char *name, uuid_t *session_id);
extern int lttng_destroy_session(uuid_t *uuid);
extern int lttng_connect_sessiond(void);
extern int lttng_ust_list_apps(pid_t **pids);
extern int lttng_list_sessions(struct lttng_session **sessions);
extern int lttng_list_traces(uuid_t *uuid, struct lttng_trace **traces);
-extern void lttng_set_current_session_uuid(char *uuid);
+extern void lttng_set_current_session_uuid(uuid_t *uuid);
extern int lttng_ust_create_trace(pid_t pid);
extern int lttng_ust_start_trace(pid_t pid);
extern int lttng_ust_stop_trace(pid_t pid);