#define _LTTNG_EVENTS_INTERNAL_H
#include <wrapper/compiler_attributes.h>
+#include <wrapper/uuid.h>
#include <lttng/events.h>
unsigned int enabled:1;
uint64_t user_token; /* User-provided token. */
+
+ struct list_head node; /* list of enablers */
+ bool published; /* published in list. */
};
struct lttng_event_recorder_enabler {
struct lttng_event_enabler_common parent;
- struct list_head node; /* per-session list of enablers */
- bool published; /* published in per-session list. */
struct lttng_kernel_channel_buffer *chan;
};
struct lttng_event_notifier_enabler {
struct lttng_event_enabler_common parent;
uint64_t error_counter_index;
- struct list_head node; /* List of event_notifier enablers */
- bool published; /* published in group list. */
struct lttng_event_notifier_group *group;
/* head list of struct lttng_kernel_bytecode_node */
atomic_t producing; /* Metadata being produced (incomplete) */
struct kref refcount; /* Metadata cache usage */
struct list_head metadata_stream; /* Metadata stream list */
- uuid_le uuid; /* Trace session unique ID (copy) */
+ guid_t uuid; /* Trace session unique ID (copy) */
struct mutex lock; /* Produce/consume lock */
uint64_t version; /* Current version of the metadata */
};
struct list_head events; /* Event list head */
struct list_head list; /* Session list */
unsigned int free_chan_id; /* Next chan ID to allocate */
- uuid_le uuid; /* Trace session unique ID */
+ guid_t uuid; /* Trace session unique ID */
struct lttng_metadata_cache *metadata_cache;
unsigned int metadata_dumped:1,
tstate:1; /* Transient enable state */
bool lttng_event_enabler_desc_match_event(struct lttng_event_enabler_common *event_enabler,
const struct lttng_kernel_event_desc *desc,
struct lttng_kernel_event_common *event);
+bool lttng_event_enabler_event_name_match_event(struct lttng_event_enabler_common *event_enabler,
+ const char *event_name,
+ struct lttng_kernel_event_common *event);
void lttng_enabler_link_bytecode(const struct lttng_kernel_event_desc *event_desc,
struct lttng_kernel_ctx *ctx,
struct list_head *enabler_bytecode_runtime_head);
#if defined(CONFIG_HAVE_SYSCALL_TRACEPOINTS)
-int lttng_syscalls_register_event(struct lttng_event_enabler_common *event_enabler);
+int lttng_event_enabler_create_syscall_events_if_missing(struct lttng_event_enabler_common *event_enabler);
int lttng_syscall_filter_enable_event(struct lttng_kernel_event_common *event);
int lttng_syscall_filter_disable_event(struct lttng_kernel_event_common *event);
long lttng_syscall_table_get_active_mask(struct lttng_kernel_syscall_table *syscall_table,
struct lttng_kernel_abi_syscall_mask __user *usyscall_mask);
+
+void lttng_syscall_table_set_wildcard_all(struct lttng_event_enabler_common *event_enabler);
#else
-static inline int lttng_syscalls_register_event(struct lttng_event_enabler_common *event_enabler)
+static inline int lttng_event_enabler_create_syscall_events_if_missing(struct lttng_event_enabler_common *event_enabler)
{
return -ENOSYS;
}
return -ENOSYS;
}
+static inline void lttng_syscall_table_set_wildcard_all(struct lttng_event_enabler_common *event_enabler)
+{
+}
#endif
#ifdef CONFIG_KPROBES