struct lttng_session;
struct lttng_ust_lib_ring_buffer_ctx;
struct lttng_event_field;
-struct lttng_event_notifier;
struct lttng_event_notifier_group;
/*
struct lttng_ust_event_common_private;
-struct lttng_event_common {
+struct lttng_ust_event_common {
uint32_t struct_size; /* Size of this structure. */
struct lttng_ust_event_common_private *priv; /* Private event interface */
struct cds_list_head filter_bytecode_runtime_head;
};
-struct lttng_ust_event_private;
+struct lttng_ust_event_recorder_private;
-struct lttng_event {
- uint32_t struct_size; /* Size of this structure. */
- struct lttng_event_common *parent;
- struct lttng_ust_event_private *priv; /* Private event interface */
+struct lttng_ust_event_recorder {
+ uint32_t struct_size; /* Size of this structure. */
+ struct lttng_ust_event_common *parent;
+ struct lttng_ust_event_recorder_private *priv; /* Private event record interface */
unsigned int id;
struct lttng_channel *chan;
struct lttng_ctx *ctx;
};
-struct lttng_event_notifier {
- uint64_t user_token;
- uint64_t error_counter_index;
- int enabled;
- int registered; /* has reg'd tracepoint probe */
- size_t num_captures; /* Needed to allocate the msgpack array. */
- void (*notification_send)(struct lttng_event_notifier *event_notifier,
+struct lttng_ust_event_notifier_private;
+
+struct lttng_ust_event_notifier {
+ uint32_t struct_size; /* Size of this structure. */
+ struct lttng_ust_event_common *parent;
+ struct lttng_ust_event_notifier_private *priv; /* Private event notifier interface */
+
+ void (*notification_send)(struct lttng_ust_event_notifier *event_notifier,
const char *stack_data);
- struct cds_list_head filter_bytecode_runtime_head;
struct cds_list_head capture_bytecode_runtime_head;
- int has_enablers_without_bytecode;
- struct cds_list_head enablers_ref_head;
- const struct lttng_event_desc *desc;
- struct cds_hlist_node hlist; /* hashtable of event_notifiers */
- struct cds_list_head node; /* event_notifier list in session */
- struct lttng_event_notifier_group *group; /* weak ref */
};
struct lttng_enum {
/* Channel ID */
unsigned int id;
- enum lttng_ust_chan_type type;
+ enum lttng_ust_abi_chan_type type;
unsigned char uuid[LTTNG_UST_UUID_LEN]; /* Trace session unique ID */
int tstate:1; /* Transient enable state */
};
#define LTTNG_UST_STACK_CTX_PADDING 32
struct lttng_stack_ctx {
- struct lttng_event *event;
+ struct lttng_ust_event_recorder *event_recorder;
struct lttng_ctx *chan_ctx; /* RCU dereferenced. */
struct lttng_ctx *event_ctx; /* RCU dereferenced. */
char padding[LTTNG_UST_STACK_CTX_PADDING];