X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng-sessiond%2Fust-app.h;h=e92458e2b5801726396cec74caf65af7dbe61499;hp=76b81b29a1eb5a2560fe2e05148d601dc0788a3d;hb=84cd17c63cde7ea5d7a0ad037dd41e8297658812;hpb=421cb6011479aad4a37260e2e496c353a89318c0 diff --git a/lttng-sessiond/ust-app.h b/lttng-sessiond/ust-app.h index 76b81b29a..e92458e2b 100644 --- a/lttng-sessiond/ust-app.h +++ b/lttng-sessiond/ust-app.h @@ -24,6 +24,10 @@ #include "trace-ust.h" +#define UST_APP_EVENT_LIST_SIZE 32 + +extern int ust_consumer_fd; + /* * Application registration data structure. */ @@ -54,6 +58,7 @@ struct ust_app_event { int enabled; int handle; struct lttng_ust_object_data *obj; + struct lttng_ust_event attr; char name[LTTNG_UST_SYM_NAME_LEN]; struct cds_lfht *ctx; struct cds_lfht_node node; @@ -73,12 +78,14 @@ struct ust_app_channel { struct ust_app_session { int enabled; + /* started: has the session been in started state at any time ? */ + int started; /* allows detection of start vs restart. */ int handle; /* Used has unique identifier */ unsigned int uid; struct ltt_ust_metadata *metadata; - struct lttng_ust_object_data *obj; struct cds_lfht *channels; /* Registered channels */ struct cds_lfht_node node; + char path[PATH_MAX]; }; /* @@ -101,13 +108,18 @@ struct ust_app { int ust_app_register(struct ust_register_msg *msg, int sock); void ust_app_unregister(int sock); -int ust_app_add_channel_all(struct ltt_ust_session *usess, +int ust_app_create_channel_all(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan); -int ust_app_add_event_all(struct ltt_ust_session *usess, +int ust_app_create_event_all(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent); unsigned long ust_app_list_count(void); int ust_app_start_trace(struct ltt_ust_session *usess, struct ust_app *app); +int ust_app_stop_trace(struct ltt_ust_session *usess, struct ust_app *app); int ust_app_start_trace_all(struct ltt_ust_session *usess); +int ust_app_stop_trace_all(struct ltt_ust_session *usess); +int ust_app_destroy_trace(struct ltt_ust_session *usess, struct ust_app *app); +int ust_app_destroy_trace_all(struct ltt_ust_session *usess); +int ust_app_list_events(struct lttng_event **events); void ust_app_global_update(struct ltt_ust_session *usess, int sock); void ust_app_clean_list(void); @@ -128,6 +140,11 @@ int ust_app_start_trace_all(struct ltt_ust_session *usess) return 0; } static inline +int ust_app_list_events(struct lttng_event **events) +{ + return 0; +} +static inline int ust_app_register(struct ust_register_msg *msg, int sock) { return -ENOSYS;