From b738434783af68bc4f8a0de9b97e89e58c30f16e Mon Sep 17 00:00:00 2001 From: David Goulet Date: Fri, 27 May 2011 15:51:45 -0400 Subject: [PATCH] Cleanup lttng.h public header Signed-off-by: David Goulet --- include/lttng/lttng.h | 79 ++++++++++++++++++++++++------------------- 1 file changed, 45 insertions(+), 34 deletions(-) diff --git a/include/lttng/lttng.h b/include/lttng/lttng.h index a1ccc451e..8811e197a 100644 --- a/include/lttng/lttng.h +++ b/include/lttng/lttng.h @@ -1,4 +1,8 @@ /* + * lttng.h + * + * Linux Trace Toolkit Control Library Header File + * * Copyright (C) 2011 - David Goulet * * This program is free software; you can redistribute it and/or @@ -16,73 +20,80 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifndef _LIBLTTNGCTL_H -#define _LIBLTTNGCTL_H +#ifndef _LTTNG_H +#define _LTTNG_H #include -#include #include -/* Default unix group name for tracing. - */ -#define DEFAULT_TRACING_GROUP "tracing" +/* Default unix group name for tracing. */ +#define LTTNG_DEFAULT_TRACING_GROUP "tracing" -/* Environment variable to set session daemon - * binary path. - */ +/* Environment variable to set session daemon binary path. */ #define LTTNG_SESSIOND_PATH_ENV "LTTNG_SESSIOND_PATH" -/* 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. +/* + * Trace type for lttng_trace. */ enum lttng_trace_type { - KERNEL, USERSPACE, + KERNEL, + USERSPACE, }; -/* Simple structure representing a session. +/* + * Basic trace information exposed. */ -struct lttng_session { +struct lttng_trace { char name[NAME_MAX]; - uuid_t uuid; + pid_t pid; /* Only useful for user-space trace */ + enum lttng_trace_type type; }; -/* Simple trace representation. +/* + * Basic session information exposed. */ -struct lttng_trace { +struct lttng_session { char name[NAME_MAX]; - pid_t pid; - enum lttng_trace_type type; + uuid_t uuid; }; +/* + * Session daemon control + */ +extern int lttng_check_session_daemon(void); +extern int lttng_connect_sessiond(void); 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_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); +/* Return an allocated array of lttng_session */ extern int lttng_list_sessions(struct lttng_session **sessions); +/* Return an allocated array of lttng_traces */ extern int lttng_list_traces(uuid_t *uuid, struct lttng_trace **traces); +/* Set tracing group for the current execution */ +extern int lttng_set_tracing_group(const char *name); +/* Set session uuid for the current execution */ extern void lttng_set_current_session_uuid(uuid_t *uuid); +extern const char *lttng_get_readable_code(int code); + +/* + * User-space tracer control + */ extern int lttng_ust_create_trace(pid_t pid); +/* Return an allocated array of pids */ +extern int lttng_ust_list_apps(pid_t **pids); 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_session(void); extern int lttng_kernel_create_stream(void); +extern int lttng_kernel_disable_event(char *event_name); +extern int lttng_kernel_enable_event(char *event_name); extern int lttng_kernel_open_metadata(void); +extern int lttng_kernel_start_tracing(void); +extern int lttng_kernel_stop_tracing(void); -#endif /* _LIBLTTNGCTL_H */ +#endif /* _LTTNG_H */ -- 2.34.1