X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fkernel.h;h=4eb788d5cecde7c74ddd183e063bc6ec04597deb;hb=4878de5c7deb512bbdac4fdfc498907efa06fb7c;hp=53d480313ad456d63e8cecb869876ac78dc2d117;hpb=159b042f34366d0fde5dcd73b4231c558922a664;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/kernel.h b/src/bin/lttng-sessiond/kernel.h index 53d480313..4eb788d5c 100644 --- a/src/bin/lttng-sessiond/kernel.h +++ b/src/bin/lttng-sessiond/kernel.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011 David Goulet + * Copyright (C) 2011 EfficiOS Inc. * * SPDX-License-Identifier: GPL-2.0-only * @@ -29,7 +29,7 @@ int kernel_create_session(struct ltt_session *session); int kernel_create_channel(struct ltt_kernel_session *session, struct lttng_channel *chan); int kernel_create_event(struct lttng_event *ev, struct ltt_kernel_channel *channel, - char *filter_expression, struct lttng_filter_bytecode *filter); + char *filter_expression, struct lttng_bytecode *filter); int kernel_disable_channel(struct ltt_kernel_channel *chan); int kernel_disable_event(struct ltt_kernel_event *event); int kernel_enable_event(struct ltt_kernel_event *event); @@ -58,14 +58,14 @@ int kernel_start_session(struct ltt_kernel_session *session); int kernel_stop_session(struct ltt_kernel_session *session); ssize_t kernel_list_events(struct lttng_event **event_list); void kernel_wait_quiescent(void); -int kernel_validate_version(struct lttng_kernel_tracer_version *kernel_tracer_version, - struct lttng_kernel_tracer_abi_version *kernel_tracer_abi_version); +int kernel_validate_version(struct lttng_kernel_abi_tracer_version *kernel_tracer_version, + struct lttng_kernel_abi_tracer_abi_version *kernel_tracer_abi_version); void kernel_destroy_session(struct ltt_kernel_session *ksess); void kernel_free_session(struct ltt_kernel_session *ksess); void kernel_destroy_channel(struct ltt_kernel_channel *kchan); enum lttng_error_code kernel_snapshot_record( struct ltt_kernel_session *ksess, - const struct consumer_output *output, int wait, + const struct consumer_output *output, uint64_t nb_packets_per_stream); int kernel_syscall_mask(int chan_fd, char **syscall_mask, uint32_t *nr_bits); enum lttng_error_code kernel_rotate_session(struct ltt_session *session); @@ -74,6 +74,7 @@ enum lttng_error_code kernel_clear_session(struct ltt_session *session); int init_kernel_workarounds(void); int kernel_supports_ring_buffer_snapshot_sample_positions(void); int kernel_supports_ring_buffer_packet_sequence_number(void); +int kernel_supports_event_notifiers(void); int init_kernel_tracer(void); void cleanup_kernel_tracer(void); bool kernel_tracer_is_initialized(void); @@ -81,4 +82,17 @@ bool kernel_tracer_is_initialized(void); enum lttng_error_code kernel_create_channel_subdirectories( const struct ltt_kernel_session *ksess); +enum lttng_error_code kernel_create_event_notifier_group_notification_fd( + int *event_notifier_group_notification_fd); +enum lttng_error_code kernel_destroy_event_notifier_group_notification_fd( + int event_notifier_group_notification_fd); + +enum lttng_error_code kernel_register_event_notifier( + struct lttng_trigger *trigger, + const struct lttng_credentials *cmd_creds); +enum lttng_error_code kernel_unregister_event_notifier( + const struct lttng_trigger *trigger); + +int kernel_get_notification_fd(void); + #endif /* _LTT_KERNEL_CTL_H */