X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng-sessiond%2Fust-app.h;h=dafca85b0203b86046826a301ab79fe4152b4284;hp=a69ed845162ac71adb7ca88f1aee70e9a9b1f35b;hb=9730260e7e733b421e1af26a9953f938de2628cc;hpb=d80a6244b0e8dc14b2912e72e94ff0848bb52ccc diff --git a/lttng-sessiond/ust-app.h b/lttng-sessiond/ust-app.h index a69ed8451..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]; }; @@ -56,6 +59,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 +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]; }; /* @@ -91,27 +97,37 @@ 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 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); +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);