X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Flttng%2Fliblttngctl.h;h=71c5e820805e2d9db11a3a7c61c532e760f1ba06;hb=ee0326c0c46f4b02e9eab0b2917b62d2c55aa346;hp=7d2bb88623171eec2a2dacd0e36249628ae42faa;hpb=ca95a21633510288dbb18a3cd8825195e5cbb4f3;p=lttng-tools.git diff --git a/include/lttng/liblttngctl.h b/include/lttng/liblttngctl.h index 7d2bb8862..71c5e8208 100644 --- a/include/lttng/liblttngctl.h +++ b/include/lttng/liblttngctl.h @@ -20,6 +20,7 @@ #define _LIBLTTNGCTL_H #include +#include /* Default unix group name for tracing. */ @@ -34,6 +35,12 @@ */ #define UUID_STR_LEN 37 +/* Trace type for lttng_trace. + */ +enum lttng_trace_type { + KERNEL, USERSPACE, +}; + /* Simple structure representing a session. */ struct lttng_session { @@ -41,12 +48,27 @@ struct lttng_session { char uuid[UUID_STR_LEN]; }; -extern int lttng_create_session(const char *name, char *session_id); +/* Simple trace representation. + */ +struct lttng_trace { + char name[NAME_MAX]; + pid_t pid; + enum lttng_trace_type type; +}; + +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_disconnect_sessiond(void); extern int lttng_set_tracing_group(const char *name); extern int lttng_check_session_daemon(void); extern const char *lttng_get_readable_code(int code); 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 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); #endif /* _LIBLTTNGCTL_H */