X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng-sessiond%2Fust-app.h;h=0c753ab36eb66c72056c722fd1e2b75cfbd047b3;hp=2e8ce58da28f0cab9ecc1a8a194bad49c88be2c6;hb=6df2e2c977b698cc6b8f15c90b649516674028f9;hpb=ce4500b0db50259c41d9f148ae3e8ecb2030683a diff --git a/lttng-sessiond/ust-app.h b/lttng-sessiond/ust-app.h index 2e8ce58da..0c753ab36 100644 --- a/lttng-sessiond/ust-app.h +++ b/lttng-sessiond/ust-app.h @@ -55,6 +55,13 @@ struct ust_app_key { struct cds_lfht_node node; }; +struct ust_app_ctx { + int handle; + struct lttng_ust_context ctx; + struct lttng_ust_object_data *obj; + struct cds_lfht_node node; +}; + struct ust_app_event { int enabled; int handle; @@ -81,11 +88,14 @@ 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; + int handle; /* used has unique identifier for app session */ + int id; /* session unique identifier */ struct ltt_ust_metadata *metadata; struct cds_lfht *channels; /* Registered channels */ struct cds_lfht_node node; + /* UID/GID of the user owning the session */ + uid_t uid; + gid_t gid; char path[PATH_MAX]; }; @@ -110,10 +120,6 @@ struct ust_app { int ust_app_register(struct ust_register_msg *msg, int sock); void ust_app_unregister(int sock); -int ust_app_create_channel_all(struct ltt_ust_session *usess, - struct ltt_ust_channel *uchan); -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); @@ -122,14 +128,33 @@ 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, +int ust_app_create_channel_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan); +int ust_app_create_event_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent); +int ust_app_disable_event_pid(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent, + pid_t pid); +int ust_app_enable_event_pid(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent, + pid_t pid); +int ust_app_disable_channel_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan); +int ust_app_enable_channel_glb(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan); -int ust_app_enable_channel_all(struct ltt_ust_session *usess, +int ust_app_enable_event_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent); +int ust_app_disable_all_event_glb(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan); -int ust_app_disable_event_all(struct ltt_ust_session *usess, +int ust_app_enable_all_event_glb(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); +int ust_app_disable_event_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent); +int ust_app_add_ctx_event_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent, + struct ltt_ust_context *uctx); +int ust_app_add_ctx_channel_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_context *uctx); void ust_app_global_update(struct ltt_ust_session *usess, int sock); void ust_app_clean_list(void); @@ -201,18 +226,6 @@ struct ust_app *ust_app_get_by_pid(pid_t pid) return NULL; } static inline -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_all(struct ltt_ust_session *usess, - struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent) -{ - return 0; -} -static inline struct cds_lfht *ust_app_get_ht(void) { return NULL; @@ -224,41 +237,80 @@ 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, +int ust_app_disable_channel_glb(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan) { return 0; } static inline -int ust_app_enable_channel_all(struct ltt_ust_session *usess, +int ust_app_enable_channel_glb(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, +int ust_app_create_channel_glb(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) +int ust_app_disable_all_event_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan) { return 0; } static inline -int ust_app_create_channel_all(struct ltt_ust_session *usess, +int ust_app_enable_all_event_glb(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, +int ust_app_create_event_glb(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent) { return 0; } +static inline +int ust_app_disable_event_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent) +{ + return 0; +} +static inline +int ust_app_enable_event_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent) +{ + return 0; +} +static inline +int ust_app_add_ctx_event_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent, + struct ltt_ust_context *uctx) +{ + return 0; +} +static inline +int ust_app_add_ctx_channel_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_context *uctx) +{ + return 0; +} +static inline +int ust_app_enable_event_pid(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent, + pid_t pid) +{ + return 0; +} +static inline +int ust_app_disable_event_pid(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent, + pid_t pid) +{ + return 0; +} #endif /* HAVE_LIBLTTNG_UST_CTL */