X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Fliblttngctl.h;h=0ffa6f25896a45b003c6d382f1947e21bd92ffcd;hb=47b74d6393632d4d793a89d24b0fd600eac602b5;hp=eadc74a606d0da95fef91ccf1eca3e20c45c980c;hpb=5b8719f52eb9c8012e3bd48be778548cfbf5a8b8;p=lttng-tools.git diff --git a/include/lttng/liblttngctl.h b/include/lttng/liblttngctl.h index eadc74a60..0ffa6f258 100644 --- a/include/lttng/liblttngctl.h +++ b/include/lttng/liblttngctl.h @@ -19,6 +19,9 @@ #ifndef _LIBLTTNGCTL_H #define _LIBLTTNGCTL_H +#include +#include + /* Default unix group name for tracing. */ #define DEFAULT_TRACING_GROUP "tracing" @@ -28,16 +31,43 @@ */ #define LTTNG_SESSIOND_PATH_ENV "LTTNG_SESSIOND_PATH" -/* - * From libuuid +/* From libuuid */ #define UUID_STR_LEN 37 -extern int lttng_create_session(const char *name, char *session_id); +/* Trace type for lttng_trace. + */ +enum lttng_trace_type { + KERNEL, USERSPACE, +}; + +/* Simple structure representing a session. + */ +struct lttng_session { + char name[NAME_MAX]; + char uuid[UUID_STR_LEN]; +}; + +/* 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 size_t lttng_ust_list_apps(pid_t **pids); +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); #endif /* _LIBLTTNGCTL_H */