#ifndef _LTTNG_EVENTS_INTERNAL_H
#define _LTTNG_EVENTS_INTERNAL_H
+#include <wrapper/compiler_attributes.h>
+#include <wrapper/uuid.h>
+
#include <lttng/events.h>
struct lttng_syscall_filter;
struct lttng_metadata_cache;
struct perf_event;
struct perf_event_attr;
-struct lib_ring_buffer_config;
+struct lttng_kernel_ring_buffer_config;
enum lttng_enabler_format_type {
LTTNG_ENABLER_FORMAT_STAR_GLOB,
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 */
};
unsigned int switch_timer_interval,
unsigned int read_timer_interval);
void (*channel_destroy)(struct lttng_kernel_ring_buffer_channel *chan);
- struct lib_ring_buffer *(*buffer_read_open)(struct lttng_kernel_ring_buffer_channel *chan);
+ struct lttng_kernel_ring_buffer *(*buffer_read_open)(struct lttng_kernel_ring_buffer_channel *chan);
int (*buffer_has_read_closed_stream)(struct lttng_kernel_ring_buffer_channel *chan);
- void (*buffer_read_close)(struct lib_ring_buffer *buf);
+ void (*buffer_read_close)(struct lttng_kernel_ring_buffer *buf);
/*
* packet_avail_size returns the available size in the current
* packet. Note that the size returned is only a hint, since it
wait_queue_head_t *(*get_hp_wait_queue)(struct lttng_kernel_ring_buffer_channel *chan);
int (*is_finalized)(struct lttng_kernel_ring_buffer_channel *chan);
int (*is_disabled)(struct lttng_kernel_ring_buffer_channel *chan);
- int (*timestamp_begin) (const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+ int (*timestamp_begin) (const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
uint64_t *timestamp_begin);
- int (*timestamp_end) (const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+ int (*timestamp_end) (const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
uint64_t *timestamp_end);
- int (*events_discarded) (const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+ int (*events_discarded) (const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
uint64_t *events_discarded);
- int (*content_size) (const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+ int (*content_size) (const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
uint64_t *content_size);
- int (*packet_size) (const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+ int (*packet_size) (const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
uint64_t *packet_size);
- int (*stream_id) (const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+ int (*stream_id) (const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
uint64_t *stream_id);
- int (*current_timestamp) (const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+ int (*current_timestamp) (const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
uint64_t *ts);
- int (*sequence_number) (const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+ int (*sequence_number) (const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
uint64_t *seq);
- int (*instance_id) (const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+ int (*instance_id) (const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
uint64_t *id);
};
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 lib_ring_buffer *buf; /* Ring buffer for event notifier group. */
+ struct lttng_kernel_ring_buffer *buf; /* Ring buffer for event notifier group. */
wait_queue_head_t read_wait;
struct irq_work wakeup_pending; /* Pending wakeup irq work. */
struct lttng_kernel_event_notifier *sc_unknown; /* for unknown syscalls */
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 */
if (!type_integer)
return false;
switch (type_integer->size) {
- case 8: /* Fall-through. */
- case 16: /* Fall-through. */
- case 32: /* Fall-through. */
+ case 8:
+ lttng_fallthrough;
+ case 16:
+ lttng_fallthrough;
+ case 32:
+ lttng_fallthrough;
case 64:
break;
default:
#endif
#if defined(CONFIG_TIME_NS) && \
- (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,6,0))
+ (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,6,0) || \
+ LTTNG_RHEL_KERNEL_RANGE(4,18,0,305,0,0, 4,19,0,0,0,0))
int lttng_add_time_ns_to_ctx(struct lttng_kernel_ctx **ctx);
#else
static inline
}
static inline int lttng_syscall_filter_enable_event(struct lttng_kernel_channel_buffer *chan,
- struct lttng_kernel_event_recorder *event);
+ struct lttng_kernel_event_recorder *event)
{
return -ENOSYS;
}
static inline int lttng_syscall_filter_disable_event(struct lttng_kernel_channel_buffer *chan,
- struct lttng_kernel_event_recorder *event);
+ struct lttng_kernel_event_recorder *event)
+{
+ return -ENOSYS;
+}
+
+static inline int lttng_syscalls_destroy_event(struct lttng_kernel_channel_buffer *chan)
+{
+ return 0;
+}
+
+static inline int lttng_syscalls_create_matching_event_notifiers(struct lttng_event_notifier_enabler *event_notifier_enabler)
{
return -ENOSYS;
}
static inline long lttng_channel_syscall_mask(struct lttng_kernel_channel_buffer *channel,
- struct lttng_kernel_syscall_mask __user *usyscall_mask)
+ struct lttng_kernel_abi_syscall_mask __user *usyscall_mask)
{
return -ENOSYS;
}
-static inline int lttng_syscalls_register_event_notifier(
- struct lttng_event_notifier_group *group)
+static inline int lttng_syscalls_register_event_notifier(struct lttng_event_notifier_enabler *event_notifier_enabler)
{
return -ENOSYS;
}
return 0;
}
-static inline int lttng_syscall_filter_enable_event_notifier(
- struct lttng_event_notifier_group *group,
- const char *name)
+static inline int lttng_syscall_filter_enable_event_notifier(struct lttng_kernel_event_notifier *event_notifier)
{
return -ENOSYS;
}
-static inline int lttng_syscall_filter_disable_event_notifier(
- struct lttng_event_notifier_group *group,
- const char *name)
+static inline int lttng_syscall_filter_disable_event_notifier(struct lttng_kernel_event_notifier *event_notifier)
{
return -ENOSYS;
}