X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng-sessiond%2Fust-app.h;h=dafca85b0203b86046826a301ab79fe4152b4284;hp=f369a8a2fcd503b4ea34534bfc972e1e1ccaf298;hb=9730260e7e733b421e1af26a9953f938de2628cc;hpb=5b4a0ec04ce1ee5a4cf4c8a5896edab28750da56 diff --git a/lttng-sessiond/ust-app.h b/lttng-sessiond/ust-app.h index f369a8a2f..dafca85b0 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_consumerd64_fd, ust_consumerd32_fd; + /* * Application registration data structure. */ @@ -36,6 +38,7 @@ struct ust_register_msg { pid_t ppid; uid_t uid; gid_t gid; + uint32_t bits_per_long; char name[16]; }; @@ -76,12 +79,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]; }; /* @@ -92,13 +97,13 @@ struct ust_app { pid_t ppid; uid_t uid; /* User ID that owns the apps */ gid_t gid; /* Group ID that owns the apps */ + int bits_per_long; uint32_t v_major; /* Verion major number */ uint32_t v_minor; /* Verion minor number */ char name[17]; /* Process name (short) */ struct cds_lfht *sessions; struct cds_lfht_node node; struct ust_app_key key; - int sock_closed; }; #ifdef HAVE_LIBLTTNG_UST_CTL @@ -111,8 +116,18 @@ 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); +int ust_app_disable_channel_all(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan); +int ust_app_enable_channel_all(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan); +int ust_app_disable_event_all(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan); void ust_app_global_update(struct ltt_ust_session *usess, int sock); void ust_app_clean_list(void);