X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng-sessiond%2Fust-app.h;h=e92458e2b5801726396cec74caf65af7dbe61499;hp=a69ed845162ac71adb7ca88f1aee70e9a9b1f35b;hb=84cd17c63cde7ea5d7a0ad037dd41e8297658812;hpb=d80a6244b0e8dc14b2912e72e94ff0848bb52ccc diff --git a/lttng-sessiond/ust-app.h b/lttng-sessiond/ust-app.h index a69ed8451..e92458e2b 100644 --- a/lttng-sessiond/ust-app.h +++ b/lttng-sessiond/ust-app.h @@ -26,6 +26,8 @@ #define UST_APP_EVENT_LIST_SIZE 32 +extern int ust_consumer_fd; + /* * Application registration data structure. */ @@ -56,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; @@ -75,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]; }; /* @@ -97,20 +102,23 @@ struct ust_app { struct cds_lfht *sessions; struct cds_lfht_node node; struct ust_app_key key; - int sock_closed; }; #ifdef HAVE_LIBLTTNG_UST_CTL 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);