#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
/* 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;
};
-extern int lttng_create_session(char *name, uuid_t *session_id);
+extern int lttng_create_session(char *name);
extern int lttng_destroy_session(uuid_t *uuid);
extern int lttng_connect_sessiond(void);
extern int lttng_disconnect_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);
+/*
+ * Kernel tracer control
+ */
+extern int lttng_kernel_enable_event(char *event_name);
+extern int lttng_kernel_disable_event(char *event_name);
+extern int lttng_kernel_create_session(void);
+extern int lttng_kernel_start_tracing(void);
+extern int lttng_kernel_stop_tracing(void);
+extern int lttng_kernel_create_channel(void);
+extern int lttng_kernel_create_stream(void);
+extern int lttng_kernel_open_metadata(void);
+
#endif /* _LIBLTTNGCTL_H */