X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng-sessiond%2Fust-app.h;h=2e8ce58da28f0cab9ecc1a8a194bad49c88be2c6;hp=753639270af84e9f4febdb9471cb6d3a9b38f860;hb=cc920def6dae913bb4d78788fd440b4d87928134;hpb=487cf67c6435255ab3ede6dd8cd7678b8b4d1981 diff --git a/lttng-sessiond/ust-app.h b/lttng-sessiond/ust-app.h index 753639270..2e8ce58da 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_consumerd64_fd, ust_consumerd32_fd; + /* * Application registration data structure. */ @@ -34,6 +38,7 @@ struct ust_register_msg { pid_t ppid; uid_t uid; gid_t gid; + uint32_t bits_per_long; char name[16]; }; @@ -54,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; @@ -73,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]; }; /* @@ -89,6 +97,7 @@ 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) */ @@ -101,12 +110,26 @@ 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(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(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); +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); +int ust_app_disable_event(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, char *event_name); void ust_app_global_update(struct ltt_ust_session *usess, int sock); void ust_app_clean_list(void); @@ -117,9 +140,29 @@ struct ust_app *ust_app_find_by_pid(pid_t pid); #else /* HAVE_LIBLTTNG_UST_CTL */ static inline -int ust_app_start_trace(struct ltt_ust_session *usess) +int ust_app_destroy_trace_all(struct ltt_ust_session *usess) { - return -ENOSYS; + return 0; +} +static inline +int ust_app_start_trace(struct ltt_ust_session *usess, struct ust_app *app) +{ + return 0; +} +static inline +int ust_app_start_trace_all(struct ltt_ust_session *usess) +{ + return 0; +} +static inline +int ust_app_stop_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) @@ -158,16 +201,16 @@ struct ust_app *ust_app_get_by_pid(pid_t pid) return NULL; } static inline -int ust_app_add_channel(struct ltt_ust_session *usess, +int ust_app_add_channel_all(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan) { return 0; } static inline -int ust_app_add_event(struct ltt_ust_session *usess, +int ust_app_add_event_all(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent) { - return -ENOSYS; + return 0; } static inline struct cds_lfht *ust_app_get_ht(void) @@ -176,11 +219,45 @@ struct cds_lfht *ust_app_get_ht(void) } static inline void ust_app_ht_alloc(void) +{} +static inline +void ust_app_global_update(struct ltt_ust_session *usess, int sock) +{} +static inline +int ust_app_disable_channel_all(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan) { + return 0; } static inline -void ust_app_global_update(struct ltt_ust_session *usess, int sock) +int ust_app_enable_channel_all(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan) +{ + return 0; +} +static inline +int ust_app_disable_event_all(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan) +{ + return 0; +} +static inline +int ust_app_disable_event(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, char *event_name) +{ + return 0; +} +static inline +int ust_app_create_channel_all(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan) { + return 0; +} +static inline +int ust_app_create_event_all(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent) +{ + return 0; } #endif /* HAVE_LIBLTTNG_UST_CTL */