struct lttng_counter_ops *ops;
};
-#define LTTNG_EVENT_NOTIFIER_HT_BITS 12
-#define LTTNG_EVENT_NOTIFIER_HT_SIZE (1U << LTTNG_EVENT_NOTIFIER_HT_BITS)
+#define LTTNG_EVENT_HT_BITS 12
+#define LTTNG_EVENT_HT_SIZE (1U << LTTNG_EVENT_HT_BITS)
-struct lttng_event_notifier_ht {
- struct hlist_head table[LTTNG_EVENT_NOTIFIER_HT_SIZE];
+struct lttng_event_ht {
+ struct hlist_head table[LTTNG_EVENT_HT_SIZE];
};
struct lttng_event_notifier_group {
struct list_head node; /* event notifier group list */
struct list_head enablers_head; /* List of enablers */
struct list_head event_notifiers_head; /* List of event notifier */
- struct lttng_event_notifier_ht event_notifiers_ht; /* Hash table of event notifiers */
+ struct lttng_event_ht events_ht; /* Hash table of event notifiers */
struct lttng_kernel_channel_buffer_ops *ops;
struct lttng_transport *transport;
struct lttng_kernel_ring_buffer_channel *chan; /* Ring buffer channel for event notifier group. */
struct lttng_counter_ops ops;
};
-#define LTTNG_EVENT_HT_BITS 12
-#define LTTNG_EVENT_HT_SIZE (1U << LTTNG_EVENT_HT_BITS)
-
-struct lttng_event_ht {
- struct hlist_head table[LTTNG_EVENT_HT_SIZE];
-};
-
struct lttng_kernel_session_private {
struct lttng_kernel_session *pub; /* Public session interface */
struct list_head *enabler_bytecode_runtime_head);
#if defined(CONFIG_HAVE_SYSCALL_TRACEPOINTS)
-int lttng_syscalls_register_event(struct lttng_event_recorder_enabler *event_enabler);
-int lttng_syscalls_unregister_channel(struct lttng_kernel_channel_buffer *chan);
-int lttng_syscalls_destroy_channel(struct lttng_kernel_channel_buffer *chan);
-int lttng_syscall_filter_enable_event_recorder(struct lttng_kernel_event_recorder *event_recorder);
-int lttng_syscall_filter_disable_event_recorder(struct lttng_kernel_event_recorder *event_recorder);
+int lttng_syscalls_register_event(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_channel_syscall_mask(struct lttng_kernel_channel_buffer *channel,
- struct lttng_kernel_abi_syscall_mask __user *usyscall_mask);
+int lttng_syscalls_unregister_syscall_table(struct lttng_kernel_syscall_table *syscall_table);
+int lttng_syscalls_destroy_syscall_table(struct lttng_kernel_syscall_table *syscall_table);
-int lttng_syscalls_register_event_notifier(
- struct lttng_event_notifier_enabler *event_notifier_enabler);
-int lttng_syscalls_create_matching_event_notifiers(
- struct lttng_event_notifier_enabler *event_notifier_enabler);
-int lttng_syscalls_unregister_event_notifier_group(struct lttng_event_notifier_group *group);
-int lttng_syscall_filter_enable_event_notifier(struct lttng_kernel_event_notifier *event_notifier);
-int lttng_syscall_filter_disable_event_notifier(struct lttng_kernel_event_notifier *event_notifier);
+long lttng_syscall_table_get_active_mask(struct lttng_kernel_syscall_table *syscall_table,
+ struct lttng_kernel_abi_syscall_mask __user *usyscall_mask);
#else
-static inline int lttng_syscalls_register_event(
- struct lttng_event_recorder_enabler *event_enabler)
+static inline int lttng_syscalls_register_event(struct lttng_event_enabler_common *event_enabler)
{
return -ENOSYS;
}
-static inline int lttng_syscalls_unregister_channel(struct lttng_kernel_channel_buffer *chan)
-{
- return 0;
-}
-
-static inline int lttng_syscalls_destroy(struct lttng_kernel_channel_buffer *chan)
-{
- return 0;
-}
-
-static inline int lttng_syscall_filter_enable_event_recorder(struct lttng_kernel_event_recorder *event_recorder)
-{
- return -ENOSYS;
-}
-
-static inline int lttng_syscall_filter_disable_event_recorder(struct lttng_kernel_event_recorder *event_recorder)
+static inline int lttng_syscall_filter_enable_event(struct lttng_kernel_event_common *event)
{
return -ENOSYS;
}
-static inline long lttng_channel_syscall_mask(struct lttng_kernel_channel_buffer *channel,
- struct lttng_kernel_syscall_mask __user *usyscall_mask)
+static inline int lttng_syscall_filter_disable_event(struct lttng_kernel_event_common *event)
{
return -ENOSYS;
}
-static inline int lttng_syscalls_register_event_notifier(
- struct lttng_event_notifier_group *group)
+static inline int lttng_syscalls_unregister_syscall_table(struct lttng_kernel_syscall_table *syscall_table)
{
- return -ENOSYS;
+ return 0;
}
-static inline int lttng_syscalls_unregister_event_notifier_group(
- struct lttng_event_notifier_group *group)
+static inline int lttng_syscalls_destroy_syscall_table(struct lttng_kernel_syscall_table *syscall_table)
{
return 0;
}
-static inline int lttng_syscall_filter_enable_event_notifier(struct lttng_kernel_event_notifier *event_notifier)
+static inline long lttng_syscall_table_get_active_mask(struct lttng_kernel_syscall_table *syscall_table,
+ struct lttng_kernel_abi_syscall_mask __user *usyscall_mask)
{
return -ENOSYS;
}
-static inline int lttng_syscall_filter_disable_event_notifier(struct lttng_kernel_event_notifier *event_notifier)
+static inline int lttng_syscalls_create_matching_event_notifiers(struct lttng_event_notifier_enabler *event_notifier_enabler)
{
return -ENOSYS;
}
const char *symbol_name,
uint64_t offset,
uint64_t addr,
- struct lttng_kernel_event_recorder *event);
-void lttng_kprobes_unregister_event(struct lttng_kernel_event_recorder *event);
-void lttng_kprobes_destroy_event_private(struct lttng_kernel_event_recorder *event);
-int lttng_kprobes_register_event_notifier(const char *symbol_name,
- uint64_t offset,
- uint64_t addr,
- struct lttng_kernel_event_notifier *event_notifier);
-void lttng_kprobes_unregister_event_notifier(struct lttng_kernel_event_notifier *event_notifier);
-void lttng_kprobes_destroy_event_notifier_private(struct lttng_kernel_event_notifier *event_notifier);
+ struct lttng_kernel_event_common *event);
+void lttng_kprobes_unregister_event(struct lttng_kernel_event_common *event);
+void lttng_kprobes_destroy_event_private(struct lttng_kernel_event_common *event);
#else
static inline
int lttng_kprobes_register_event(const char *name,
const char *symbol_name,
uint64_t offset,
uint64_t addr,
- struct lttng_kernel_event_recorder *event)
+ struct lttng_kernel_event_common *event)
{
return -ENOSYS;
}
static inline
-void lttng_kprobes_unregister_event(struct lttng_kernel_event_recorder *event)
+void lttng_kprobes_unregister_event(struct lttng_kernel_event_common *event)
{
}
static inline
-void lttng_kprobes_destroy_event_private(struct lttng_kernel_event_recorder *event)
-{
-}
-
-static inline
-int lttng_kprobes_register_event_notifier(const char *symbol_name,
- uint64_t offset,
- uint64_t addr,
- struct lttng_kernel_event_notifier *event_notifier)
-{
- return -ENOSYS;
-}
-
-static inline
-void lttng_kprobes_unregister_event_notifier(struct lttng_kernel_event_notifier *event_notifier)
-{
-}
-
-static inline
-void lttng_kprobes_destroy_event_notifier_private(struct lttng_kernel_event_notifier *event_notifier)
+void lttng_kprobes_destroy_event_private(struct lttng_kernel_event_common *event)
{
}
#endif
#ifdef CONFIG_UPROBES
int lttng_uprobes_register_event(const char *name,
- int fd, struct lttng_kernel_event_recorder *event);
+ int fd, struct lttng_kernel_event_common *event);
int lttng_uprobes_event_add_callsite(struct lttng_kernel_event_common *event,
struct lttng_kernel_abi_event_callsite __user *callsite);
-void lttng_uprobes_unregister_event(struct lttng_kernel_event_recorder *event);
-void lttng_uprobes_destroy_event_private(struct lttng_kernel_event_recorder *event);
-int lttng_uprobes_register_event_notifier(const char *name,
- int fd, struct lttng_kernel_event_notifier *event_notifier);
-void lttng_uprobes_unregister_event_notifier(struct lttng_kernel_event_notifier *event_notifier);
-void lttng_uprobes_destroy_event_notifier_private(struct lttng_kernel_event_notifier *event_notifier);
+void lttng_uprobes_unregister_event(struct lttng_kernel_event_common *event);
+void lttng_uprobes_destroy_event_private(struct lttng_kernel_event_common *event);
#else
static inline
int lttng_uprobes_register_event(const char *name,
- int fd, struct lttng_kernel_event_recorder *event)
+ int fd, struct lttng_kernel_event_common *event)
{
return -ENOSYS;
}
}
static inline
-void lttng_uprobes_unregister_event(struct lttng_kernel_event_recorder *event)
-{
-}
-
-static inline
-void lttng_uprobes_destroy_event_private(struct lttng_kernel_event_recorder *event)
-{
-}
-
-static inline
-int lttng_uprobes_register_event_notifier(const char *name,
- int fd, struct lttng_kernel_event_notifier *event_notifier)
-{
- return -ENOSYS;
-}
-
-static inline
-void lttng_uprobes_unregister_event_notifier(struct lttng_kernel_event_notifier *event_notifier)
+void lttng_uprobes_unregister_event(struct lttng_kernel_event_common *event)
{
}
static inline
-void lttng_uprobes_destroy_event_notifier_private(struct lttng_kernel_event_notifier *event_notifier)
+void lttng_uprobes_destroy_event_private(struct lttng_kernel_event_common *event)
{
}
#endif
const char *symbol_name,
uint64_t offset,
uint64_t addr,
- struct lttng_kernel_event_recorder *event_entry,
- struct lttng_kernel_event_recorder *event_exit);
-void lttng_kretprobes_unregister(struct lttng_kernel_event_recorder *event);
-void lttng_kretprobes_destroy_private(struct lttng_kernel_event_recorder *event);
+ struct lttng_kernel_event_common *event_entry,
+ struct lttng_kernel_event_common *event_exit);
+void lttng_kretprobes_unregister(struct lttng_kernel_event_common *event);
+void lttng_kretprobes_destroy_private(struct lttng_kernel_event_common *event);
int lttng_kretprobes_event_enable_state(struct lttng_kernel_event_common *event,
int enable);
#else
const char *symbol_name,
uint64_t offset,
uint64_t addr,
- struct lttng_kernel_event_recorder *event_entry,
- struct lttng_kernel_event_recorder *event_exit)
+ struct lttng_kernel_event_common *event_entry,
+ struct lttng_kernel_event_common *event_exit)
{
return -ENOSYS;
}
static inline
-void lttng_kretprobes_unregister(struct lttng_kernel_event_recorder *event)
+void lttng_kretprobes_unregister(struct lttng_kernel_event_common *event)
{
}
static inline
-void lttng_kretprobes_destroy_private(struct lttng_kernel_event_recorder *event)
+void lttng_kretprobes_destroy_private(struct lttng_kernel_event_common *event)
{
}