- enum lttng_kernel_abi_instrumentation instrumentation;
- union {
- struct lttng_kprobe kprobe;
- struct lttng_uprobe uprobe;
- struct {
- enum lttng_syscall_entryexit entryexit;
- enum lttng_syscall_abi abi;
- struct hlist_node node; /* chain registered syscall event_notifier */
- unsigned int syscall_id;
- } syscall;
-
- } u;
-
- /* Backward references: list of lttng_enabler_ref (ref to enablers) */
- struct list_head enablers_ref_head;
- struct hlist_node hlist; /* session ht of event_notifiers */
- /* list of struct lttng_bytecode_runtime, sorted by seqnum */
- struct list_head filter_bytecode_runtime_head;
- size_t num_captures;
- struct list_head capture_bytecode_runtime_head;
- int has_enablers_without_bytecode;
- int eval_capture; /* Should evaluate capture */
-
- void (*send_notification)(struct lttng_event_notifier *event_notifier,
- struct lttng_probe_ctx *lttng_probe_ctx,
- const char *interpreter_stack_data,
- struct lttng_kernel_notifier_ctx *notif_ctx);
- struct lttng_event_notifier_group *group; /* Weak ref */
+struct lttng_kernel_event_notifier_private;
+
+struct lttng_kernel_event_notifier {
+ struct lttng_kernel_event_common parent;
+ struct lttng_kernel_event_notifier_private *priv; /* Private event notifier interface */
+
+ int eval_capture; /* Need to evaluate capture */
+ void (*notification_send)(struct lttng_kernel_event_notifier *event_notifier,
+ const char *stack_data,
+ struct lttng_probe_ctx *probe_ctx,
+ struct lttng_kernel_notification_ctx *notif_ctx);