X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=ltt-sessiond%2Ftrace-ust.h;h=9a236626931f58fbe566cd1b5a3fe301c9a85e2d;hp=fa86cb94f5fa921a263c2bcff484d8ac71b4ae0c;hb=44d3bd014f6ad217cff7e7c3dfaad76b1927c37b;hpb=f8f0c3d1337c4eda5fb76a323ffe6c21c926a21e diff --git a/ltt-sessiond/trace-ust.h b/ltt-sessiond/trace-ust.h index fa86cb94f..9a2366269 100644 --- a/ltt-sessiond/trace-ust.h +++ b/ltt-sessiond/trace-ust.h @@ -25,6 +25,14 @@ #include #include +/* + * UST session list. + */ +struct ltt_ust_session_list { + unsigned int count; + struct cds_list_head head; +}; + /* UST event list */ struct ltt_ust_event_list { unsigned int count; @@ -41,8 +49,8 @@ struct ltt_ust_channel_list { struct ltt_ust_event { int handle; int enabled; - struct lttng_ust_context *ctx; - struct lttng_ust_event *event; + struct lttng_ust_context ctx; + struct lttng_ust_event attr; struct cds_list_head list; }; @@ -50,10 +58,10 @@ struct ltt_ust_event { struct ltt_ust_channel { int handle; int enabled; - char *name; - char *trace_path; /* Trace file path name */ - struct lttng_ust_context *ctx; - struct lttng_ust_channel *attr; + char name[LTTNG_UST_SYM_NAME_LEN]; + char trace_path[PATH_MAX]; /* Trace file path name */ + struct lttng_ust_context ctx; + struct lttng_ust_channel attr; struct ltt_ust_event_list events; struct cds_list_head list; }; @@ -62,7 +70,7 @@ struct ltt_ust_channel { struct ltt_ust_metadata { int handle; char *trace_path; /* Trace file path name */ - struct lttng_ust_channel *attr; + struct lttng_ust_channel attr; }; /* UST session */ @@ -70,9 +78,11 @@ struct ltt_ust_session { int handle; int enabled; int uconsumer_fds_sent; - char *path; + char path[PATH_MAX]; + struct lttng_domain domain; struct ltt_ust_metadata *metadata; struct ltt_ust_channel_list channels; + struct cds_list_head list; }; /* @@ -82,13 +92,16 @@ struct ltt_ust_event *trace_ust_get_event_by_name( char *name, struct ltt_ust_channel *channel); struct ltt_ust_channel *trace_ust_get_channel_by_name( char *name, struct ltt_ust_session *session); +struct ltt_ust_session *trace_ust_get_session_by_pid( + struct ltt_ust_session_list *session_list, pid_t pid); /* * Create functions malloc() the data structure. */ -struct ltt_ust_session *trace_ust_create_session(void); -struct ltt_ust_channel *trace_ust_create_channel(char *name, char *path, - struct lttng_ust_channel *attr); +struct ltt_ust_session *trace_ust_create_session(char *path, pid_t pid, + struct lttng_domain *domain); +struct ltt_ust_channel *trace_ust_create_channel(struct lttng_channel *attr, + char *path); struct ltt_ust_event *trace_ust_create_event(struct lttng_event *ev); struct ltt_ust_metadata *trace_ust_create_metadata(char *path);