X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=lttng-sessiond%2Fust-app.h;fp=lttng-sessiond%2Fust-app.h;h=0000000000000000000000000000000000000000;hb=10a8a2237343699e3923d87e24dbf2d7fe225377;hp=071ad0d90d0189c93ebfc3427a256cf820cd5e8d;hpb=734f79bf717d87817623d382c59086dc9e8ef610;p=lttng-tools.git diff --git a/lttng-sessiond/ust-app.h b/lttng-sessiond/ust-app.h deleted file mode 100644 index 071ad0d90..000000000 --- a/lttng-sessiond/ust-app.h +++ /dev/null @@ -1,327 +0,0 @@ -/* - * Copyright (C) 2011 - David Goulet - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; only version 2 - * of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifndef _LTT_UST_APP_H -#define _LTT_UST_APP_H - -#include -#include - -#include "trace-ust.h" - -#define UST_APP_EVENT_LIST_SIZE 32 - -extern int ust_consumerd64_fd, ust_consumerd32_fd; - -/* - * Application registration data structure. - */ -struct ust_register_msg { - uint32_t major; - uint32_t minor; - pid_t pid; - pid_t ppid; - uid_t uid; - gid_t gid; - uint32_t bits_per_long; - char name[16]; -}; - -/* - * Global applications HT used by the session daemon. - */ -struct lttng_ht *ust_app_ht; - -struct lttng_ht *ust_app_sock_key_map; - -struct ust_app_key { - pid_t pid; - int sock; - struct lttng_ht_node_ulong node; -}; - -struct ust_app_ctx { - int handle; - struct lttng_ust_context ctx; - struct lttng_ust_object_data *obj; - struct lttng_ht_node_ulong node; -}; - -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 lttng_ht *ctx; - struct lttng_ht_node_str node; -}; - -struct ust_app_channel { - int enabled; - int handle; - char name[LTTNG_UST_SYM_NAME_LEN]; - struct lttng_ust_channel attr; - struct lttng_ust_object_data *obj; - struct ltt_ust_stream_list streams; - struct lttng_ht *ctx; - struct lttng_ht *events; - struct lttng_ht_node_str node; -}; - -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 for app session */ - int id; /* session unique identifier */ - struct ltt_ust_metadata *metadata; - struct lttng_ht *channels; /* Registered channels */ - struct lttng_ht_node_ulong node; - char path[PATH_MAX]; - /* UID/GID of the user owning the session */ - uid_t uid; - gid_t gid; -}; - -/* - * Registered traceable applications. Libust registers to the session daemon - * and a linked list is kept of all running traceable app. - */ -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 lttng_ht *sessions; - struct lttng_ht_node_ulong node; - struct ust_app_key key; -}; - -#ifdef HAVE_LIBLTTNG_UST_CTL - -int ust_app_register(struct ust_register_msg *msg, int sock); -static inline -int ust_app_register_done(int sock) -{ - return ustctl_register_done(sock); -} -void ust_app_unregister(int sock); -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_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_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); -void ust_app_ht_alloc(void); -struct lttng_ht *ust_app_get_ht(void); -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) -{ - 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) -{ - return -ENOSYS; -} -static inline -int ust_app_register_done(int sock) -{ - return -ENOSYS; -} -static inline -void ust_app_unregister(int sock) -{ -} -static inline -unsigned int ust_app_list_count(void) -{ - return 0; -} -static inline -void ust_app_lock_list(void) -{ -} -static inline -void ust_app_unlock_list(void) -{ -} -static inline -void ust_app_clean_list(void) -{ -} -static inline -struct ust_app_list *ust_app_get_list(void) -{ - return NULL; -} -static inline -struct ust_app *ust_app_get_by_pid(pid_t pid) -{ - return NULL; -} -static inline -struct lttng_ht *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_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 */ - -#endif /* _LTT_UST_APP_H */