Move enabled state outside of event description
[libside.git] / src / side.c
1 // SPDX-License-Identifier: MIT
2 /*
3 * Copyright 2022 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
4 */
5
6 #include <side/trace.h>
7 #include "tracer.h"
8
9 #define SIDE_EVENT_ENABLED_KERNEL_USER_EVENT_MASK 0x80000000
10
11 void side_call(const struct side_event_description *desc, const struct side_arg_vec_description *sav_desc)
12 {
13 if (side_unlikely(desc->flags & SIDE_EVENT_FLAG_VARIADIC)) {
14 printf("ERROR: unexpected variadic event description\n");
15 abort();
16 }
17 if (side_unlikely(*desc->enabled & SIDE_EVENT_ENABLED_KERNEL_USER_EVENT_MASK)) {
18 // TODO: call kernel ioctl.
19 }
20 //TODO: replace tracer_call by rcu iteration on list of registered callbacks
21 tracer_call(desc, sav_desc);
22 }
23
24 void side_call_variadic(const struct side_event_description *desc,
25 const struct side_arg_vec_description *sav_desc,
26 const struct side_arg_dynamic_event_struct *var_struct)
27 {
28 if (side_unlikely(*desc->enabled & SIDE_EVENT_ENABLED_KERNEL_USER_EVENT_MASK)) {
29 // TODO: call kernel ioctl.
30 }
31 //TODO: replace tracer_call by rcu iteration on list of registered callbacks
32 tracer_call_variadic(desc, sav_desc, var_struct);
33 }
This page took 0.03145 seconds and 5 git commands to generate.