X-Git-Url: http://git.efficios.com/?p=libside.git;a=blobdiff_plain;f=src%2Fside.c;h=b781712a0bbcf1e1f188d5a2c69a6c8b1d853d45;hp=bcce6084ec5fb09e4044142f9c07d667c0c5ba2e;hb=867b47257f503a929308d62fdb8656da18408bd8;hpb=b855902419ee08968534d2ed6541c78480903236 diff --git a/src/side.c b/src/side.c index bcce608..b781712 100644 --- a/src/side.c +++ b/src/side.c @@ -38,6 +38,19 @@ struct side_tracer_handle { void *priv; }; +struct side_callback { + union { + void (*call)(const struct side_event_description *desc, + const struct side_arg_vec *side_arg_vec, + void *priv); + void (*call_variadic)(const struct side_event_description *desc, + const struct side_arg_vec *side_arg_vec, + const struct side_arg_dynamic_struct *var_struct, + void *priv); + } u; + void *priv; +}; + static struct side_rcu_gp_state rcu_gp; /* @@ -61,7 +74,7 @@ static DEFINE_SIDE_LIST_HEAD(side_tracer_list); * The empty callback has a NULL function callback pointer, which stops * iteration on the array of callbacks immediately. */ -const struct side_callback side_empty_callback = { }; +const char side_empty_callback[sizeof(struct side_callback)]; void side_call(const struct side_event_state *event_state, const struct side_arg_vec *side_arg_vec) {