*/
struct lttng_enabler_ref {
struct list_head node; /* enabler ref list */
- struct lttng_enabler *ref; /* backward ref */
+ struct lttng_event_enabler_common *ref; /* backward ref */
};
struct lttng_krp; /* Kretprobe handling */
struct lttng_kernel_bytecode_node {
enum lttng_kernel_bytecode_type type;
struct list_head node;
- struct lttng_enabler *enabler;
+ struct lttng_event_enabler_common *enabler;
struct {
uint32_t len;
uint32_t reloc_offset;
* Enabler field, within whatever object is enabling an event. Target of
* backward reference.
*/
-struct lttng_enabler {
+struct lttng_event_enabler_common {
enum lttng_enabler_format_type format_type;
/* head list of struct lttng_kernel_bytecode_node */
};
struct lttng_event_enabler {
- struct lttng_enabler base;
+ struct lttng_event_enabler_common base;
struct list_head node; /* per-session list of enablers */
bool published; /* published in per-session list. */
struct lttng_kernel_channel_buffer *chan;
};
struct lttng_event_notifier_enabler {
- struct lttng_enabler base;
+ struct lttng_event_enabler_common base;
uint64_t error_counter_index;
struct list_head node; /* List of event_notifier enablers */
struct lttng_event_notifier_group *group;
void *event_filter_ctx);
static inline
-struct lttng_enabler *lttng_event_enabler_as_enabler(
+struct lttng_event_enabler_common *lttng_event_enabler_as_enabler(
struct lttng_event_enabler *event_enabler)
{
return &event_enabler->base;
}
static inline
-struct lttng_enabler *lttng_event_notifier_enabler_as_enabler(
+struct lttng_event_enabler_common *lttng_event_notifier_enabler_as_enabler(
struct lttng_event_notifier_enabler *event_notifier_enabler)
{
return &event_notifier_enabler->base;
struct lttng_kernel_abi_capture_bytecode __user *bytecode);
int lttng_desc_match_enabler(const struct lttng_kernel_event_desc *desc,
- struct lttng_enabler *enabler);
+ struct lttng_event_enabler_common *enabler);
void lttng_enabler_link_bytecode(const struct lttng_kernel_event_desc *event_desc,
struct lttng_kernel_ctx *ctx,
/*
* We own the filter_bytecode if we return success.
*/
-int lttng_filter_enabler_attach_bytecode(struct lttng_enabler *enabler,
+int lttng_filter_enabler_attach_bytecode(struct lttng_event_enabler_common *enabler,
struct lttng_kernel_bytecode_node *filter_bytecode)
{
list_add(&filter_bytecode->node, &enabler->filter_bytecode_head);
return 0;
}
-void lttng_free_enabler_filter_bytecode(struct lttng_enabler *enabler)
+void lttng_free_enabler_filter_bytecode(struct lttng_event_enabler_common *enabler)
{
struct lttng_kernel_bytecode_node *filter_bytecode, *tmp;
}
int lttng_desc_match_enabler(const struct lttng_kernel_event_desc *desc,
- struct lttng_enabler *enabler)
+ struct lttng_event_enabler_common *enabler)
{
const char *desc_name, *enabler_name;
bool compat = false, entry = false;
int lttng_event_enabler_match_event(struct lttng_event_enabler *event_enabler,
struct lttng_kernel_event_recorder *event_recorder)
{
- struct lttng_enabler *base_enabler = lttng_event_enabler_as_enabler(
+ struct lttng_event_enabler_common *base_enabler = lttng_event_enabler_as_enabler(
event_enabler);
if (base_enabler->event_param.instrumentation != event_recorder->priv->parent.instrumentation)
int lttng_event_notifier_enabler_match_event_notifier(struct lttng_event_notifier_enabler *event_notifier_enabler,
struct lttng_kernel_event_notifier *event_notifier)
{
- struct lttng_enabler *base_enabler = lttng_event_notifier_enabler_as_enabler(
+ struct lttng_event_enabler_common *base_enabler = lttng_event_notifier_enabler_as_enabler(
event_notifier_enabler);
if (base_enabler->event_param.instrumentation != event_notifier->priv->parent.instrumentation)
static
struct lttng_enabler_ref *lttng_enabler_ref(
struct list_head *enablers_ref_list,
- struct lttng_enabler *enabler)
+ struct lttng_event_enabler_common *enabler)
{
struct lttng_enabler_ref *enabler_ref;
{
struct lttng_kernel_channel_buffer *chan = event_enabler->chan;
struct lttng_kernel_session *session = event_enabler->chan->parent.session;
- struct lttng_enabler *base_enabler = lttng_event_enabler_as_enabler(event_enabler);
+ struct lttng_event_enabler_common *base_enabler = lttng_event_enabler_as_enabler(event_enabler);
struct lttng_kernel_event_recorder_private *event_recorder_priv;
if (base_enabler->event_param.instrumentation == LTTNG_KERNEL_ABI_SYSCALL &&
struct lttng_event_notifier_enabler *event_notifier_enabler)
{
struct lttng_event_notifier_group *event_notifier_group = event_notifier_enabler->group;
- struct lttng_enabler *base_enabler = lttng_event_notifier_enabler_as_enabler(event_notifier_enabler);
+ struct lttng_event_enabler_common *base_enabler = lttng_event_notifier_enabler_as_enabler(event_notifier_enabler);
struct lttng_kernel_event_notifier_private *event_notifier_priv;
if (base_enabler->event_param.instrumentation == LTTNG_KERNEL_ABI_SYSCALL &&
}
static
-int lttng_enabler_attach_filter_bytecode(struct lttng_enabler *enabler,
+int lttng_enabler_attach_filter_bytecode(struct lttng_event_enabler_common *enabler,
struct lttng_kernel_abi_filter_bytecode __user *bytecode)
{
struct lttng_kernel_bytecode_node *bytecode_node;
}
static
-void lttng_enabler_destroy(struct lttng_enabler *enabler)
+void lttng_enabler_destroy(struct lttng_event_enabler_common *enabler)
{
struct lttng_kernel_bytecode_node *filter_node, *tmp_filter_node;
struct lttng_kernel_abi_capture_bytecode __user *bytecode)
{
struct lttng_kernel_bytecode_node *bytecode_node;
- struct lttng_enabler *enabler =
+ struct lttng_event_enabler_common *enabler =
lttng_event_notifier_enabler_as_enabler(event_notifier_enabler);
uint32_t bytecode_len;
int ret;
struct lttng_kernel_abi_event_notifier event_notifier_param;
uint64_t user_token = event_notifier_enabler->base.user_token;
uint64_t error_counter_index = event_notifier_enabler->error_counter_index;
- struct lttng_enabler *base_enabler = lttng_event_notifier_enabler_as_enabler(
+ struct lttng_event_enabler_common *base_enabler = lttng_event_notifier_enabler_as_enabler(
event_notifier_enabler);
struct hlist_head *unknown_dispatch_list;
int ret = 0;
struct lttng_event_notifier_enabler *event_notifier_enabler)
{
int ret;
- struct lttng_enabler *base_enabler =
+ struct lttng_event_enabler_common *base_enabler =
lttng_event_notifier_enabler_as_enabler(event_notifier_enabler);
enum lttng_kernel_abi_syscall_entryexit entryexit =
base_enabler->event_param.u.syscall.entryexit;