X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lttng-sessiond%2Fust-app.h;h=9fb4df1a70b8c72d35b92859e0bb46d42d5a1ef7;hb=045e5491d29048a9d888559cd91d6d6f304fc171;hp=c730cb738044d7daf3a4f517ca570613a20dde0f;hpb=477d7741a6555ba9d2ef0bbfc72fc7877cbbb869;p=lttng-tools.git diff --git a/lttng-sessiond/ust-app.h b/lttng-sessiond/ust-app.h index c730cb738..9fb4df1a7 100644 --- a/lttng-sessiond/ust-app.h +++ b/lttng-sessiond/ust-app.h @@ -26,7 +26,7 @@ #define UST_APP_EVENT_LIST_SIZE 32 -extern int ust_consumer_fd; +extern int ust_consumerd64_fd, ust_consumerd32_fd; /* * Application registration data structure. @@ -38,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 +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; @@ -78,10 +86,11 @@ 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]; @@ -95,27 +104,51 @@ 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_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); 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_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_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_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_enable_all_event_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan); +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); @@ -125,6 +158,11 @@ struct ust_app *ust_app_find_by_pid(pid_t pid); #else /* HAVE_LIBLTTNG_UST_CTL */ +static inline +int ust_app_destroy_trace_all(struct ltt_ust_session *usess) +{ + return 0; +} static inline int ust_app_start_trace(struct ltt_ust_session *usess, struct ust_app *app) { @@ -136,6 +174,11 @@ 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; @@ -177,29 +220,83 @@ 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 cds_lfht *ust_app_get_ht(void) +{ + return NULL; +} +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_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan) +{ + return 0; +} +static inline +int ust_app_enable_channel_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan) +{ + return 0; +} +static inline +int ust_app_create_channel_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan) +{ + return 0; +} +static inline +int ust_app_disable_all_event_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan) +{ + return 0; +} +static inline +int ust_app_enable_all_event_glb(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, +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 -struct cds_lfht *ust_app_get_ht(void) +int ust_app_disable_event_glb(struct ltt_ust_session *usess, + struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent) { - return NULL; + return 0; } static inline -void ust_app_ht_alloc(void) +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 -void ust_app_global_update(struct ltt_ust_session *usess, int sock) +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; } #endif /* HAVE_LIBLTTNG_UST_CTL */